mirror of
https://github.com/servo/servo.git
synced 2025-08-05 13:40:08 +01:00
Update web-platform-tests to revision 38792095c98039542ed3a3f0d2eb384b576f6cb7
This commit is contained in:
parent
19d6b7b380
commit
84075d3b6e
49 changed files with 1128 additions and 205 deletions
|
@ -1,4 +0,0 @@
|
||||||
[hit-test-floats-003.html]
|
|
||||||
[Miss float below something else]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -48,18 +48,12 @@
|
||||||
[Request: combined response Content-Type: text/plain;charset=gbk text/plain;charset=windows-1252]
|
[Request: combined response Content-Type: text/plain;charset=gbk text/plain;charset=windows-1252]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html */*]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Response: combined response Content-Type: text/plain;charset=gbk text/html]
|
[Response: combined response Content-Type: text/plain;charset=gbk text/html]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[fetch(): combined response Content-Type: text/html;x=" text/plain]
|
[fetch(): combined response Content-Type: text/html;x=" text/plain]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[fetch(): combined response Content-Type: text/plain;charset=gbk;x=foo text/plain]
|
[fetch(): combined response Content-Type: text/plain;charset=gbk;x=foo text/plain]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
|
@ -324,9 +318,18 @@
|
||||||
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
|
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/html */*]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -56,12 +56,3 @@
|
||||||
[combined text/javascript ]
|
[combined text/javascript ]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[separate text/javascript;charset=windows-1252 error text/javascript]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[separate text/javascript error]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[separate text/javascript ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_1.html]
|
|
||||||
[Multiple history traversals from the same task]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[traverse_the_history_4.html]
|
||||||
|
[Multiple history traversals, last would be aborted]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -7,10 +7,10 @@
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[Element with tabindex should support autofocus]
|
[Element with tabindex should support autofocus]
|
||||||
expected: TIMEOUT
|
expected: FAIL
|
||||||
|
|
||||||
[Non-HTMLElement should not support autofocus]
|
[Non-HTMLElement should not support autofocus]
|
||||||
expected: NOTRUN
|
expected: TIMEOUT
|
||||||
|
|
||||||
[Area element should support autofocus]
|
[Area element should support autofocus]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
[iframe_sandbox_popups_nonescaping-1.html]
|
[iframe_sandbox_popups_nonescaping-1.html]
|
||||||
|
expected: TIMEOUT
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: FAIL
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
[iframe_sandbox_popups_nonescaping-3.html]
|
[iframe_sandbox_popups_nonescaping-3.html]
|
||||||
|
expected: TIMEOUT
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: FAIL
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[077.html]
|
|
||||||
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -11,3 +11,6 @@
|
||||||
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44054 more errors.\n\tMax AbsError of 1.9985451102256775e+0 at index of 27408.\n\t[27408\]\t-9.9997943639755249e-1\t9.9856567382812500e-1\t1.9985451102256775e+0\t2.0014157932787811e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 14112.\n\t[14112\]\t-9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
|
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44054 more errors.\n\tMax AbsError of 1.9985451102256775e+0 at index of 27408.\n\t[27408\]\t-9.9997943639755249e-1\t9.9856567382812500e-1\t1.9985451102256775e+0\t2.0014157932787811e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 14112.\n\t[14112\]\t-9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44048 more errors.\n\tMax AbsError of 1.9986611604690552e+0 at index of 37130.\n\t[37130\]\t-9.9994289875030518e-1\t9.9871826171875000e-1\t1.9986611604690552e+0\t2.0012262087101997e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 14112.\n\t[14112\]\t-9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -17,3 +17,9 @@
|
||||||
[X SNR (45.01863889546195 dB) is not greater than or equal to 85.58. Got 45.01863889546195.]
|
[X SNR (45.01863889546195 dB) is not greater than or equal to 85.58. Got 45.01863889546195.]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t-4.4440184116752679e+19\t5.6332010030746460e-1\t4.4440184116752679e+19\t7.8889753964924862e+19\t9.0957000000000003e-5\n\t[31081\]\t4.5578633850629000e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 4.4440184116752679e+19 at index of 31080.\n\tMax RelError of 7.8889753964924862e+19 at index of 31080.\n]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[X SNR (-349.52143104912756 dB) is not greater than or equal to 85.58. Got -349.52143104912756.]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -153175,6 +153175,58 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"text-overflow-ellipsis-001.html": [
|
||||||
|
"41c11d581e982c7de2d51d38b18decd99e8a60b3",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/css-overflow/reference/text-overflow-ellipsis-001-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"text-overflow-ellipsis-rtl-001.html": [
|
||||||
|
"32284f89c2e5c4db774ba1a73fd3594f49606b06",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/css-overflow/reference/text-overflow-ellipsis-rtl-001-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"text-overflow-ellipsis-vertical-001.html": [
|
||||||
|
"58c8f57dcf5ce328c42bc5552c608d83302af8d6",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/css-overflow/reference/text-overflow-ellipsis-vertical-001-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"text-overflow-ellipsis-vertical-rtl-001.html": [
|
||||||
|
"ac621026fdb1f48b9f4d740b48f74ab7df00a79b",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/css-overflow/reference/text-overflow-ellipsis-vertical-rtl-001-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"webkit-line-clamp": {
|
"webkit-line-clamp": {
|
||||||
"webkit-line-clamp-with-line-height.tentative.html": [
|
"webkit-line-clamp-with-line-height.tentative.html": [
|
||||||
"94a62a5b3fa1291683e4a653d0dd5cf71eea0aca",
|
"94a62a5b3fa1291683e4a653d0dd5cf71eea0aca",
|
||||||
|
@ -293914,6 +293966,22 @@
|
||||||
"b18dee8caf1864dc30fe656750fe81a8863f1e90",
|
"b18dee8caf1864dc30fe656750fe81a8863f1e90",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
|
"text-overflow-ellipsis-001-ref.html": [
|
||||||
|
"814bfd6a2f8149e97709471510b3f77f0f72b756",
|
||||||
|
[]
|
||||||
|
],
|
||||||
|
"text-overflow-ellipsis-rtl-001-ref.html": [
|
||||||
|
"5c75e38d8308ac81dcfe5eef7e18fd7ad56d6b3b",
|
||||||
|
[]
|
||||||
|
],
|
||||||
|
"text-overflow-ellipsis-vertical-001-ref.html": [
|
||||||
|
"18f8a1beaefc9ae6109d62555f1c5c61dccf4105",
|
||||||
|
[]
|
||||||
|
],
|
||||||
|
"text-overflow-ellipsis-vertical-rtl-001-ref.html": [
|
||||||
|
"1c9e660331992b7377f52b86c9dc87b8b0980ae9",
|
||||||
|
[]
|
||||||
|
],
|
||||||
"webkit-line-clamp-001-ref.html": [
|
"webkit-line-clamp-001-ref.html": [
|
||||||
"ef28e01dac0223c9a2768d3fd1415fb9ef2f1c6b",
|
"ef28e01dac0223c9a2768d3fd1415fb9ef2f1c6b",
|
||||||
[]
|
[]
|
||||||
|
@ -314408,31 +314476,31 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"radical-degreebottomraisepercent25-rulethickness1000.woff": [
|
"radical-degreebottomraisepercent25-rulethickness1000.woff": [
|
||||||
"6401070d44fed8d27c688a931d277bce2ef71517",
|
"b334dd99e0cd7b1705241497ae89fe7aa2d9fbf4",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"radical-displaystyleverticalgap7000-rulethickness1000.woff": [
|
"radical-displaystyleverticalgap7000-rulethickness1000.woff": [
|
||||||
"0e8b1e0a434e3da52f54c0f64a273ade855b8f23",
|
"cb7026611953e7be21e69158e555fcac2a3e0a6c",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"radical-extraascender3000-rulethickness1000.woff": [
|
"radical-extraascender3000-rulethickness1000.woff": [
|
||||||
"6c0ca282e9597c2eb5d3093ca05e7a1357784226",
|
"cf064b1c07e73137d73b860d1f69ef5ed45e3a84",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"radical-kernafterdegreeminus5000-rulethickness1000.woff": [
|
"radical-kernafterdegreeminus5000-rulethickness1000.woff": [
|
||||||
"24aa4c525a1ed14af7fff5134962851e28dfbd62",
|
"61ab4163ac9e743ffc777ef6e952ec200bb67fba",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"radical-kernbeforedegree4000-rulethickness1000.woff": [
|
"radical-kernbeforedegree4000-rulethickness1000.woff": [
|
||||||
"1fca6f6d85a20c14c7d95ac2563a94a1bfd44e47",
|
"9ed871062ef0d0248809983baf7d212014963682",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"radical-rulethickness8000.woff": [
|
"radical-rulethickness8000.woff": [
|
||||||
"0863dc3230ead9d9deb43dac6185d781f7c098d2",
|
"090caa9efd323e53a3dd9837a7239e0b1d0dcfa6",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"radical-verticalgap6000-rulethickness1000.woff": [
|
"radical-verticalgap6000-rulethickness1000.woff": [
|
||||||
"9808112c7aa934f49db078637fb082d1f0f24df5",
|
"873a3d9f2de8a959bca2448e5c845b0dafe95cd9",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"scriptpercentscaledown0-scriptscriptpercentscaledown40.woff": [
|
"scriptpercentscaledown0-scriptscriptpercentscaledown40.woff": [
|
||||||
|
@ -327038,7 +327106,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"operator-dictionary.py": [
|
"operator-dictionary.py": [
|
||||||
"846ea81a979c275e670ea2e18a4e4b98b755c443",
|
"5627c8a8b92be92896f1ae532a943e56f1d0fdd0",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"operator-dictionary.xsl": [
|
"operator-dictionary.xsl": [
|
||||||
|
@ -327050,7 +327118,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"radicals.py": [
|
"radicals.py": [
|
||||||
"cf71cc50cafb03d6927504b8c113f711182f43c6",
|
"e13f9333f3adb8b8be1de4eb58b869142a917d43",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"scripts.py": [
|
"scripts.py": [
|
||||||
|
@ -443901,7 +443969,7 @@
|
||||||
},
|
},
|
||||||
"fractions": {
|
"fractions": {
|
||||||
"frac-1.html": [
|
"frac-1.html": [
|
||||||
"5ecb66ecf6aabec264d8452a1277eb7769dde3fd",
|
"77ed4257127ce745a180fa916823de4ebefb9412",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
{}
|
{}
|
||||||
|
@ -443958,6 +444026,13 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"mrow-preferred-width.html": [
|
||||||
|
"b16ef281f420f4cd919ee631209f28f4e9408c29",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"spacing.html": [
|
"spacing.html": [
|
||||||
"4bdfc9a001a3fa87716f3e6b0e5e3da3f0ee1c74",
|
"4bdfc9a001a3fa87716f3e6b0e5e3da3f0ee1c74",
|
||||||
[
|
[
|
||||||
|
@ -443968,14 +444043,21 @@
|
||||||
},
|
},
|
||||||
"operators": {
|
"operators": {
|
||||||
"embellished-operator-001.html": [
|
"embellished-operator-001.html": [
|
||||||
"31bdff2fd7c2c4e463adfba2c3768d678c5c7424",
|
"55772077fe8d4cae35a36d8903f2d4c356506541",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"embellished-operator-002.html": [
|
"embellished-operator-002.html": [
|
||||||
"1bbed4e229ef3cc010c9fab7b9541911abd310f6",
|
"a9774105d07b35b045b24c3daa528385a5c63c0b",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"embellished-operator-003.html": [
|
||||||
|
"77e3b887112705171af0261bbbc68e8b8449e754",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
{}
|
{}
|
||||||
|
@ -444154,7 +444236,7 @@
|
||||||
},
|
},
|
||||||
"spaces": {
|
"spaces": {
|
||||||
"space-1.html": [
|
"space-1.html": [
|
||||||
"53734deeee1126d83ee83fd4d5d8d37af4d6d6c9",
|
"75e3f7861b11a55b37886f9dc2925f2ef2e7d7c5",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
{}
|
{}
|
||||||
|
@ -478795,10 +478877,12 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"sxg-reporting-navigation-mi_error.tentative.html": [
|
"sxg-reporting-navigation-mi_error.tentative.html": [
|
||||||
"40d1ae01fc450d3c51bc482dff3acf77aa6a3dfc",
|
"33a42f9cbddd0eb7252f01e52173fd75e80d0033",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
{}
|
{
|
||||||
|
"timeout": "long"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"sxg-reporting-navigation-ok-no-referrer.tentative.html": [
|
"sxg-reporting-navigation-ok-no-referrer.tentative.html": [
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[hit-test-floats-003.html]
|
|
||||||
[Miss float below something else]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -312,21 +312,24 @@
|
||||||
[fetch(): separate response Content-Type: text/plain ]
|
[fetch(): separate response Content-Type: text/plain ]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html */*]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: */* text/html]
|
[<iframe>: combined response Content-Type: */* text/html]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
|
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/html */*]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -56,12 +56,3 @@
|
||||||
[separate text/javascript x/x]
|
[separate text/javascript x/x]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[separate text/javascript;charset=windows-1252 error text/javascript]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[separate text/javascript error]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[separate text/javascript ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_1.html]
|
|
||||||
[Multiple history traversals from the same task]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[traverse_the_history_4.html]
|
||||||
|
[Multiple history traversals, last would be aborted]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Element with tabindex should support autofocus]
|
[Element with tabindex should support autofocus]
|
||||||
expected: TIMEOUT
|
expected: FAIL
|
||||||
|
|
||||||
[Host element with delegatesFocus including no focusable descendants should be skipped]
|
[Host element with delegatesFocus including no focusable descendants should be skipped]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
@ -16,5 +16,5 @@
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[Non-HTMLElement should not support autofocus]
|
[Non-HTMLElement should not support autofocus]
|
||||||
expected: NOTRUN
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
[iframe_sandbox_popups_nonescaping-1.html]
|
[iframe_sandbox_popups_nonescaping-1.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
|
expected: TIMEOUT
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: FAIL
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
[iframe_sandbox_popups_nonescaping-3.html]
|
[iframe_sandbox_popups_nonescaping-3.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
|
expected: TIMEOUT
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: FAIL
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[077.html]
|
|
||||||
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -80,3 +80,6 @@
|
||||||
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44054 more errors.\n\tMax AbsError of 1.9985451102256775e+0 at index of 27408.\n\t[27408\]\t-9.9997943639755249e-1\t9.9856567382812500e-1\t1.9985451102256775e+0\t2.0014157932787811e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 14112.\n\t[14112\]\t-9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
|
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44054 more errors.\n\tMax AbsError of 1.9985451102256775e+0 at index of 27408.\n\t[27408\]\t-9.9997943639755249e-1\t9.9856567382812500e-1\t1.9985451102256775e+0\t2.0014157932787811e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 14112.\n\t[14112\]\t-9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44048 more errors.\n\tMax AbsError of 1.9986611604690552e+0 at index of 37130.\n\t[37130\]\t-9.9994289875030518e-1\t9.9871826171875000e-1\t1.9986611604690552e+0\t2.0012262087101997e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 14112.\n\t[14112\]\t-9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -248,3 +248,9 @@
|
||||||
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t5.1020887923182881e-22\t5.6332010030746460e-1\t5.6332010030746460e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5714559801668507e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 6.1397600173950195e-1 at index of 31081.\n\tMax RelError of 1.0000000000000000e+0 at index of 31080.\n]
|
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t5.1020887923182881e-22\t5.6332010030746460e-1\t5.6332010030746460e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5714559801668507e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 6.1397600173950195e-1 at index of 31081.\n\tMax RelError of 1.0000000000000000e+0 at index of 31080.\n]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t-4.4440184116752679e+19\t5.6332010030746460e-1\t4.4440184116752679e+19\t7.8889753964924862e+19\t9.0957000000000003e-5\n\t[31081\]\t4.5578633850629000e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 4.4440184116752679e+19 at index of 31080.\n\tMax RelError of 7.8889753964924862e+19 at index of 31080.\n]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[X SNR (-349.52143104912756 dB) is not greater than or equal to 85.58. Got -349.52143104912756.]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>CSS Overflow: text-overflow: ellipsis reference file</title>
|
||||||
|
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||||
|
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||||
|
<style>
|
||||||
|
div {
|
||||||
|
font: 100px/1 Ahem;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<p>The test passes if it matches the reference.</p>
|
||||||
|
<div>ppp</div>
|
||||||
|
<div>pppp</div>
|
||||||
|
<div>pppX</div>
|
|
@ -0,0 +1,15 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>CSS Overflow: text-overflow: ellipsis reference file</title>
|
||||||
|
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||||
|
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||||
|
<style>
|
||||||
|
div {
|
||||||
|
font: 100px/1 Ahem;
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<p>The test passes if it matches the reference.</p>
|
||||||
|
<div> ppp</div>
|
||||||
|
<div>pppp</div>
|
||||||
|
<div>Xppp</div>
|
|
@ -0,0 +1,17 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>CSS Overflow: text-overflow: ellipsis reference file</title>
|
||||||
|
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||||
|
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||||
|
<style>
|
||||||
|
div {
|
||||||
|
font: 100px/1 Ahem;
|
||||||
|
height: 400px;
|
||||||
|
display: inline-block;
|
||||||
|
writing-mode: vertical-lr;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<p>The test passes if it matches the reference.</p>
|
||||||
|
<div>ppp</div>
|
||||||
|
<div>pppp</div>
|
||||||
|
<div>pppX</div>
|
|
@ -0,0 +1,18 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>CSS Overflow: text-overflow: ellipsis reference file</title>
|
||||||
|
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||||
|
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||||
|
<style>
|
||||||
|
div {
|
||||||
|
font: 100px/1 Ahem;
|
||||||
|
height: 400px;
|
||||||
|
display: inline-block;
|
||||||
|
writing-mode: vertical-lr;
|
||||||
|
direction: rtl;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<p>The test passes if it matches the reference.</p>
|
||||||
|
<div>ppp</div>
|
||||||
|
<div>pppp</div>
|
||||||
|
<div>Xppp</div>
|
|
@ -0,0 +1,21 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>CSS Overflow: text-overflow: ellipsis</title>
|
||||||
|
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-overflow-4/#ellipsis-scrolling">
|
||||||
|
<link rel="match" href="reference/text-overflow-ellipsis-001-ref.html">
|
||||||
|
<meta name="assert" content="Check that ellipsis is placed on the right position on the container boundaries in elements with 'text-overflow: ellipsis'.">
|
||||||
|
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||||
|
<style>
|
||||||
|
div {
|
||||||
|
font: 100px/1 Ahem;
|
||||||
|
width: 400px;
|
||||||
|
white-space: pre;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<p>The test passes if it matches the reference.</p>
|
||||||
|
<div>ppp</div>
|
||||||
|
<div>pppp</div>
|
||||||
|
<div>ppppp</div>
|
|
@ -0,0 +1,22 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>CSS Overflow: text-overflow: ellipsis RTL</title>
|
||||||
|
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-overflow-4/#ellipsis-scrolling">
|
||||||
|
<link rel="match" href="reference/text-overflow-ellipsis-rtl-001-ref.html">
|
||||||
|
<meta name="assert" content="Check that ellipsis is placed on the right position on the container boundaries in elements with 'text-overflow: ellipsis' in RTL.">
|
||||||
|
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||||
|
<style>
|
||||||
|
div {
|
||||||
|
font: 100px/1 Ahem;
|
||||||
|
width: 400px;
|
||||||
|
white-space: pre;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
direction: rtl;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<p>The test passes if it matches the reference.</p>
|
||||||
|
<div>ppp</div>
|
||||||
|
<div>pppp</div>
|
||||||
|
<div>ppppp</div>
|
|
@ -0,0 +1,23 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>CSS Overflow: text-overflow: ellipsis vertical</title>
|
||||||
|
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-overflow-4/#ellipsis-scrolling">
|
||||||
|
<link rel="match" href="reference/text-overflow-ellipsis-vertical-001-ref.html">
|
||||||
|
<meta name="assert" content="Check that ellipsis is placed on the right position on the container boundaries in elements with 'text-overflow: ellipsis' in vertical writing mode.">
|
||||||
|
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||||
|
<style>
|
||||||
|
div {
|
||||||
|
font: 100px/1 Ahem;
|
||||||
|
height: 400px;
|
||||||
|
white-space: pre;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: inline-block;
|
||||||
|
writing-mode: vertical-lr;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<p>The test passes if it matches the reference.</p>
|
||||||
|
<div>ppp</div>
|
||||||
|
<div>pppp</div>
|
||||||
|
<div>ppppp</div>
|
|
@ -0,0 +1,24 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>CSS Overflow: text-overflow: ellipsis vertical RTL</title>
|
||||||
|
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-overflow-4/#ellipsis-scrolling">
|
||||||
|
<link rel="match" href="reference/text-overflow-ellipsis-vertical-rtl-001-ref.html">
|
||||||
|
<meta name="assert" content="Check that ellipsis is placed on the right position on the container boundaries in elements with 'text-overflow: ellipsis' in vertical writing mode and RTL.">
|
||||||
|
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||||
|
<style>
|
||||||
|
div {
|
||||||
|
font: 100px/1 Ahem;
|
||||||
|
height: 400px;
|
||||||
|
white-space: pre;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: inline-block;
|
||||||
|
writing-mode: vertical-lr;
|
||||||
|
direction: rtl;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<p>The test passes if it matches the reference.</p>
|
||||||
|
<div>ppp</div>
|
||||||
|
<div>pppp</div>
|
||||||
|
<div>ppppp</div>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -4,6 +4,8 @@
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>Fraction</title>
|
<title>Fraction</title>
|
||||||
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#fractions-mfrac">
|
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#fractions-mfrac">
|
||||||
|
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#fraction-with-nonzero-line-thickness">
|
||||||
|
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#fraction-with-zero-line-thickness">
|
||||||
<meta name="assert" content="Verify fraction metrics for different sizes of numerator and denominator.">
|
<meta name="assert" content="Verify fraction metrics for different sizes of numerator and denominator.">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
@ -12,6 +14,12 @@
|
||||||
math, mspace {
|
math, mspace {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
}
|
}
|
||||||
|
div.shrink-wrap {
|
||||||
|
background: yellow;
|
||||||
|
display: inline-block;
|
||||||
|
margin-top: 5px;
|
||||||
|
padding-top: 5px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<script>
|
<script>
|
||||||
/* This test does not use any specific fonts and so the exact rules are not
|
/* This test does not use any specific fonts and so the exact rules are not
|
||||||
|
@ -83,6 +91,21 @@
|
||||||
}
|
}
|
||||||
}, "Dimension of mfrac elements");
|
}, "Dimension of mfrac elements");
|
||||||
|
|
||||||
|
test(function() {
|
||||||
|
assert_true(MathMLFeatureDetection.has_mspace());
|
||||||
|
assert_true(MathMLFeatureDetection.has_mfrac());
|
||||||
|
|
||||||
|
Array.from(document.getElementsByClassName("shrink-wrap")).forEach((container) => {
|
||||||
|
var marginPx = 2; // By default fractions have 1px margin on each side.
|
||||||
|
var epsilon = 1;
|
||||||
|
var containerWidth = container.getBoundingClientRect().width;
|
||||||
|
var children = container.getElementsByTagName("mspace");
|
||||||
|
var numWidth = children[0].getBoundingClientRect().width;
|
||||||
|
var denWidth = children[1].getBoundingClientRect().width;
|
||||||
|
assert_approx_equals(containerWidth, marginPx + Math.max(numWidth, denWidth), epsilon, "Should be the maximum preferred width of numerator/denominator.");
|
||||||
|
});
|
||||||
|
}, "Preferred width of mfrac elements");
|
||||||
|
|
||||||
done();
|
done();
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -134,5 +157,37 @@
|
||||||
</mfrac>
|
</mfrac>
|
||||||
</math>
|
</math>
|
||||||
</p>
|
</p>
|
||||||
|
<div class="shrink-wrap">
|
||||||
|
<math>
|
||||||
|
<mfrac>
|
||||||
|
<mspace width="30px" height="15px" style="background: blue"/>
|
||||||
|
<mspace width="15px" height="15px" style="background: green"/>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</div>
|
||||||
|
<div class="shrink-wrap">
|
||||||
|
<math>
|
||||||
|
<mfrac>
|
||||||
|
<mspace width="15px" height="15px" style="background: blue"/>
|
||||||
|
<mspace width="30px" height="15px" style="background: green"/>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</div>
|
||||||
|
<div class="shrink-wrap">
|
||||||
|
<math>
|
||||||
|
<mfrac linethickness="0px">
|
||||||
|
<mspace width="30px" height="15px" style="background: blue"/>
|
||||||
|
<mspace width="15px" height="15px" style="background: green"/>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</div>
|
||||||
|
<div class="shrink-wrap">
|
||||||
|
<math>
|
||||||
|
<mfrac linethickness="0px">
|
||||||
|
<mspace width="15px" height="15px" style="background: blue"/>
|
||||||
|
<mspace width="30px" height="15px" style="background: green"/>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -0,0 +1,121 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Preferred width of mrow-like elements</title>
|
||||||
|
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#horizontally-group-sub-expressions-mrow">
|
||||||
|
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#style-change-mstyle">
|
||||||
|
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#making-sub-expressions-invisible-mphantom">
|
||||||
|
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#the-top-level-math-element">
|
||||||
|
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#adjust-space-around-content-mpadded">
|
||||||
|
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#operator-fence-separator-or-accent-mo">
|
||||||
|
<meta name="assert" content="The preferred width of mrow-like elements is the sum of children's width, modulo extra spacing.">
|
||||||
|
<script src="/mathml/support/feature-detection.js"></script>
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
setup({ explicit_done: true });
|
||||||
|
window.addEventListener("load", runTests);
|
||||||
|
function runTests()
|
||||||
|
{
|
||||||
|
var epsilon = 1;
|
||||||
|
|
||||||
|
function MrowWidthFromChildren(mrow) {
|
||||||
|
var first = mrow.firstElementChild.getBoundingClientRect();
|
||||||
|
var last = mrow.lastElementChild.getBoundingClientRect();
|
||||||
|
return last.right - first.left;
|
||||||
|
}
|
||||||
|
|
||||||
|
test(function() {
|
||||||
|
assert_true(MathMLFeatureDetection.has_mspace());
|
||||||
|
|
||||||
|
Array.from(document.getElementById("mspace-tests").getElementsByClassName("shrink-wrap")).forEach((container) => {
|
||||||
|
var containerWidth = container.getBoundingClientRect().width;
|
||||||
|
var mrow = container.getElementsByClassName("mrow-like")[0];
|
||||||
|
var mrowWidth = MrowWidthFromChildren(mrow);
|
||||||
|
assert_approx_equals(containerWidth, mrowWidth, epsilon, mrow.tagName);
|
||||||
|
});
|
||||||
|
}, "Preferred width of mrow with mspace children");
|
||||||
|
|
||||||
|
test(function() {
|
||||||
|
assert_true(MathMLFeatureDetection.has_operator_spacing());
|
||||||
|
|
||||||
|
Array.from(document.getElementById("tokens-tests").getElementsByClassName("shrink-wrap")).forEach((container) => {
|
||||||
|
var containerWidth = container.getBoundingClientRect().width;
|
||||||
|
var mrow = container.getElementsByClassName("mrow-like")[0];
|
||||||
|
var mrowWidth = MrowWidthFromChildren(mrow);
|
||||||
|
assert_approx_equals(containerWidth, mrowWidth, epsilon, mrow.tagName);
|
||||||
|
});
|
||||||
|
}, "Preferred width of mrow with mn and mo children");
|
||||||
|
|
||||||
|
done();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style>
|
||||||
|
div.shrink-wrap {
|
||||||
|
background: yellow;
|
||||||
|
display: inline-block;
|
||||||
|
margin-top: 5px;
|
||||||
|
padding-top: 5px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="log"></div>
|
||||||
|
<div id="mspace-tests">
|
||||||
|
<div><div class="shrink-wrap">
|
||||||
|
<math><mrow class="mrow-like"><mspace width="30px" height="15px" style="background: blue"/><mspace width="20px" depth="30px" style="background: green"/><mspace width="15px" height="5px" depth="10px" style="background: black"/></mrow></math>
|
||||||
|
</div></div>
|
||||||
|
<div>
|
||||||
|
<div class="shrink-wrap">
|
||||||
|
<math><mstyle class="mrow-like"><mspace width="30px" height="15px" style="background: blue"/><mspace width="20px" depth="30px" style="background: green"/><mspace width="15px" height="5px" depth="10px" style="background: black"/></mstyle></math>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="shrink-wrap">
|
||||||
|
<math><mphantom class="mrow-like"><mspace width="30px" height="15px" style="background: blue"/><mspace width="20px" depth="30px" style="background: green"/><mspace width="15px" height="5px" depth="10px" style="background: black"/></mphantom></math>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="shrink-wrap">
|
||||||
|
<math class="mrow-like"><mspace width="30px" height="15px" style="background: blue"/><mspace width="20px" depth="30px" style="background: green"/><mspace width="15px" height="5px" depth="10px" style="background: black"/></math>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="shrink-wrap">
|
||||||
|
<math><unknown class="mrow-like"><mspace width="30px" height="15px" style="background: blue"/><mspace width="20px" depth="30px" style="background: green"/><mspace width="15px" height="5px" depth="10px" style="background: black"/></unknown></math>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="tokens-tests">
|
||||||
|
<div>
|
||||||
|
<div class="shrink-wrap">
|
||||||
|
<math><mrow class="mrow-like"><mtext>blah</mtext><mo lspace="30px" rspace="20px">|</mo><mn>2</mn></mrow></math>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="shrink-wrap">
|
||||||
|
<math><mstyle class="mrow-like"><mtext>blah</mtext><mo lspace="30px" rspace="20px">|</mo><mn>2</mn></mstyle></math>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="shrink-wrap">
|
||||||
|
<math><mphantom class="mrow-like"><mtext>blah</mtext><mo lspace="30px" rspace="20px">|</mo><mn>2</mn></mphantom></math>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="shrink-wrap">
|
||||||
|
<math class="mrow-like"><mtext>blah</mtext><mo lspace="30px" rspace="20px">|</mo><mn>2</mn></math>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="shrink-wrap">
|
||||||
|
<math><unknown class="mrow-like"><mtext>blah</mtext><mo lspace="30px" rspace="20px">|</mo><mn>2</mn></unknown></math>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -58,7 +58,7 @@
|
||||||
var epsilon = 1;
|
var epsilon = 1;
|
||||||
var emToPx = 25;
|
var emToPx = 25;
|
||||||
|
|
||||||
["mrow", "mstyle", "mphantom", "mpadded"].forEach(tag => {
|
["mrow", "mstyle", "mphantom", "mpadded", "merror", "mprescripts", "none", "unknown"].forEach(tag => {
|
||||||
test(function() {
|
test(function() {
|
||||||
assert_true(MathMLFeatureDetection.has_operator_spacing());
|
assert_true(MathMLFeatureDetection.has_operator_spacing());
|
||||||
assert_approx_equals(spaceBeforeElement(`${tag}-op-1`), 2 * emToPx, epsilon);
|
assert_approx_equals(spaceBeforeElement(`${tag}-op-1`), 2 * emToPx, epsilon);
|
||||||
|
@ -252,7 +252,7 @@
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
</math>
|
</math>
|
||||||
</p>
|
</p>
|
||||||
<!-- mpadded is an embellished operator if its children consist
|
<!-- mpadded is an embellished operator if its in-flow children consist
|
||||||
of one embellished operator and zero or more space-like elements. -->
|
of one embellished operator and zero or more space-like elements. -->
|
||||||
<p>
|
<p>
|
||||||
<math>
|
<math>
|
||||||
|
@ -305,5 +305,217 @@
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
</math>
|
</math>
|
||||||
</p>
|
</p>
|
||||||
|
<!-- merror is an embellished operator if its in-flow children consist
|
||||||
|
of one embellished operator and zero or more space-like elements. -->
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<merror id="merror-op-1" class="testedElement">
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
</merror>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<merror id="merror-nonop-1" class="testedElement">
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn>X</mn> <!-- "mn" is not space-like -->
|
||||||
|
</merror>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<merror id="merror-op-2" class="testedElement">
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</merror>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<merror id="merror-nonop-2" class="testedElement">
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn> <!-- "mn" is not space-like -->
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</merror>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<!-- mprescripts is an embellished operator if its in-flow children consist
|
||||||
|
of one embellished operator and zero or more space-like elements. -->
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mprescripts id="mprescripts-op-1" class="testedElement">
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
</mprescripts>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mprescripts id="mprescripts-nonop-1" class="testedElement">
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn>X</mn> <!-- "mn" is not space-like -->
|
||||||
|
</mprescripts>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mprescripts id="mprescripts-op-2" class="testedElement">
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</mprescripts>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mprescripts id="mprescripts-nonop-2" class="testedElement">
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn> <!-- "mn" is not space-like -->
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</mprescripts>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<!-- none is an embellished operator if its in-flow children consist
|
||||||
|
of one embellished operator and zero or more space-like elements. -->
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<none id="none-op-1" class="testedElement">
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
</none>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<none id="none-nonop-1" class="testedElement">
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn>X</mn> <!-- "mn" is not space-like -->
|
||||||
|
</none>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<none id="none-op-2" class="testedElement">
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</none>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<none id="none-nonop-2" class="testedElement">
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn> <!-- "mn" is not space-like -->
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</none>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<!-- unknown is an embellished operator if its in-flow children consist
|
||||||
|
of one embellished operator and zero or more space-like elements. -->
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<unknown id="unknown-op-1" class="testedElement">
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
</unknown>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<unknown id="unknown-nonop-1" class="testedElement">
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn>X</mn> <!-- "mn" is not space-like -->
|
||||||
|
</unknown>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<unknown id="unknown-op-2" class="testedElement">
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</unknown>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<unknown id="unknown-nonop-2" class="testedElement">
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn> <!-- "mn" is not space-like -->
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</unknown>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -55,7 +55,7 @@
|
||||||
var emToPx = 25;
|
var emToPx = 25;
|
||||||
|
|
||||||
["msub", "msup", "msubsup", "munder", "mover", "munderover",
|
["msub", "msup", "msubsup", "munder", "mover", "munderover",
|
||||||
"mmultiscripts", "mfrac", "maction", "semantics"].forEach(tag => {
|
"mmultiscripts", "mfrac"].forEach(tag => {
|
||||||
test(function() {
|
test(function() {
|
||||||
assert_true(MathMLFeatureDetection.has_operator_spacing());
|
assert_true(MathMLFeatureDetection.has_operator_spacing());
|
||||||
var element = document.getElementsByTagName(tag)[0];
|
var element = document.getElementsByTagName(tag)[0];
|
||||||
|
@ -87,7 +87,7 @@
|
||||||
<body>
|
<body>
|
||||||
<div id="log"></div>
|
<div id="log"></div>
|
||||||
<!-- <msub>, <msup>, <msubsup>, <munder>, <mover>, <munderover>,
|
<!-- <msub>, <msup>, <msubsup>, <munder>, <mover>, <munderover>,
|
||||||
<mmultiscripts>, <mfrac>, <semantics> or <maction> are embellished
|
<mmultiscripts>, <mfrac> are embellished
|
||||||
operators if their first in-flow
|
operators if their first in-flow
|
||||||
child exists and is an embellished operator -->
|
child exists and is an embellished operator -->
|
||||||
<p>
|
<p>
|
||||||
|
@ -174,27 +174,6 @@
|
||||||
<mn>X</mn>
|
<mn>X</mn>
|
||||||
</math>
|
</math>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
|
||||||
<math>
|
|
||||||
<mn>X</mn>
|
|
||||||
<maction class="testedElement" actiontype="statusline">
|
|
||||||
<mo lspace="2em" rspace="0em">X</mo>
|
|
||||||
<mn>STATUS MESSAGE</mn>
|
|
||||||
</maction>
|
|
||||||
<mn>X</mn>
|
|
||||||
</math>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<math>
|
|
||||||
<mn>X</mn>
|
|
||||||
<semantics class="testedElement">
|
|
||||||
<mo lspace="2em" rspace="0em">X</mo>
|
|
||||||
<annotation>TEXT ANNOTATION</annotation>
|
|
||||||
<mn>X</mn>
|
|
||||||
</semantics>
|
|
||||||
<mn>X</mn>
|
|
||||||
</math>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<!-- Only in-flow children affect determination of embellished operators. -->
|
<!-- Only in-flow children affect determination of embellished operators. -->
|
||||||
<p>
|
<p>
|
||||||
|
@ -341,43 +320,9 @@
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
</math>
|
</math>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
|
||||||
<math>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<mn>X</mn>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<maction class="testedElement" actiontype="statusline">
|
|
||||||
<mo lspace="2em" rspace="0em">X</mo>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<mn>STATUS MESSAGE</mn>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
</maction>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<mn>X</mn>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
</math>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<math>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<mn>X</mn>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<semantics class="testedElement">
|
|
||||||
<mo lspace="2em" rspace="0em">X</mo>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<annotation>TEXT ANNOTATION</annotation>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<mn>X</mn>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
</semantics>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<mn>X</mn>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
</math>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<!-- <msub>, <msup>, <msubsup>, <munder>, <mover>, <munderover>,
|
<!-- <msub>, <msup>, <msubsup>, <munder>, <mover>, <munderover>,
|
||||||
<mmultiscripts>, <mfrac>, <semantics> or <maction> are not embellished
|
<mmultiscripts>, <mfrac> are not embellished
|
||||||
operators if their first in-flow child is not an embellished operator -->
|
operators if their first in-flow child is not an embellished operator -->
|
||||||
<p>
|
<p>
|
||||||
<math>
|
<math>
|
||||||
|
@ -463,29 +408,6 @@
|
||||||
<mn>X</mn>
|
<mn>X</mn>
|
||||||
</math>
|
</math>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
|
||||||
<math>
|
|
||||||
<mn>X</mn>
|
|
||||||
<maction class="testedElement" actiontype="statusline">
|
|
||||||
<mn>X</mn>
|
|
||||||
<mo lspace="2em" rspace="0em">STATUS MESSAGE</mo>
|
|
||||||
</maction>
|
|
||||||
<mn>X</mn>
|
|
||||||
</math>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<math>
|
|
||||||
<mn>X</mn>
|
|
||||||
<semantics class="testedElement">
|
|
||||||
<mrow>
|
|
||||||
<mn>X</mn>
|
|
||||||
<mo lspace="2em" rspace="0em">X</mo>
|
|
||||||
</mrow>
|
|
||||||
<annotation>TEXT ANNOTATION</annotation>
|
|
||||||
</semantics>
|
|
||||||
<mn>X</mn>
|
|
||||||
</math>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<!-- Only in-flow children affect determination of embellished operators. -->
|
<!-- Only in-flow children affect determination of embellished operators. -->
|
||||||
<p>
|
<p>
|
||||||
|
@ -632,44 +554,6 @@
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
</math>
|
</math>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
|
||||||
<math>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<mn>X</mn>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<maction class="testedElement" actiontype="statusline">
|
|
||||||
<mn>X</mn>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<mo lspace="2em" rspace="0em">STATUS MESSAGE</mo>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
</maction>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<mn>X</mn>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
</math>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<math>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<mn>X</mn>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<semantics class="testedElement">
|
|
||||||
<mrow>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<mn>X</mn>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<mo lspace="2em" rspace="0em">X</mo>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
</mrow>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<annotation>TEXT ANNOTATION</annotation>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
</semantics>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
<mn>X</mn>
|
|
||||||
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
|
||||||
</math>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -0,0 +1,394 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Embellished operators</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||||
|
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#embellished-operators">
|
||||||
|
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#definition-of-space-like-elements">
|
||||||
|
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#layout-of-mrow">
|
||||||
|
<meta name="assert" content="Verify definition of embellished operators">
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script src="/mathml/support/feature-detection.js"></script>
|
||||||
|
<script src="/mathml/support/box-navigation.js"></script>
|
||||||
|
<style>
|
||||||
|
/* Default spacing of operator 'X' is 0.2777777777777778em so quite different
|
||||||
|
from the measured/specified 0em and 1em. */
|
||||||
|
math, math * {
|
||||||
|
font: 25px/1 Ahem;
|
||||||
|
}
|
||||||
|
mn {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
mtext.space-like {
|
||||||
|
color: lightblue !important;
|
||||||
|
}
|
||||||
|
.testedElement mo {
|
||||||
|
color: yellow !important;
|
||||||
|
}
|
||||||
|
.testedElement, .testedElement * {
|
||||||
|
color: blue !important;
|
||||||
|
background: blue !important;
|
||||||
|
}
|
||||||
|
.oof1 {
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
.oof2 {
|
||||||
|
position: fixed;
|
||||||
|
}
|
||||||
|
.nobox {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.allChildrenVisible > *:not(.nobox) {
|
||||||
|
display: inline-math;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script>
|
||||||
|
function spaceBeforeElement(element) {
|
||||||
|
var mnBefore = previousInFlowSibling(element);
|
||||||
|
return element.getBoundingClientRect().left - mnBefore.getBoundingClientRect().right;
|
||||||
|
}
|
||||||
|
|
||||||
|
setup({ explicit_done: true });
|
||||||
|
window.addEventListener("load", runTests);
|
||||||
|
|
||||||
|
function runTests() {
|
||||||
|
var epsilon = 1;
|
||||||
|
var emToPx = 25;
|
||||||
|
|
||||||
|
["maction", "semantics"].forEach(tag => {
|
||||||
|
test(function() {
|
||||||
|
assert_true(MathMLFeatureDetection.has_operator_spacing());
|
||||||
|
var element = document.getElementsByTagName(tag)[0];
|
||||||
|
assert_approx_equals(spaceBeforeElement(element), 2 * emToPx, epsilon);
|
||||||
|
}, `${tag} (embellished operator)`);
|
||||||
|
|
||||||
|
test(function() {
|
||||||
|
assert_true(MathMLFeatureDetection.has_operator_spacing());
|
||||||
|
var element = document.getElementsByTagName(tag)[1];
|
||||||
|
assert_approx_equals(spaceBeforeElement(element), 2 * emToPx, epsilon);
|
||||||
|
}, `${tag} (embellished operator, from in-flow children)`);
|
||||||
|
|
||||||
|
test(function() {
|
||||||
|
assert_true(MathMLFeatureDetection.has_operator_spacing());
|
||||||
|
var element = document.getElementsByTagName(tag)[2];
|
||||||
|
assert_approx_equals(spaceBeforeElement(element), 0, epsilon);
|
||||||
|
}, `${tag} (not embellished operator)`);
|
||||||
|
|
||||||
|
test(function() {
|
||||||
|
assert_true(MathMLFeatureDetection.has_operator_spacing());
|
||||||
|
var element = document.getElementsByTagName(tag)[3];
|
||||||
|
assert_approx_equals(spaceBeforeElement(element), 0, epsilon);
|
||||||
|
}, `${tag} (not embellished operator, from in-flow children)`);
|
||||||
|
|
||||||
|
test(function() {
|
||||||
|
assert_true(MathMLFeatureDetection.has_operator_spacing());
|
||||||
|
var element = document.getElementsByTagName(tag)[4];
|
||||||
|
assert_approx_equals(spaceBeforeElement(element), 0, epsilon);
|
||||||
|
}, `${tag} (not embellished operator, empty)`);
|
||||||
|
|
||||||
|
test(function() {
|
||||||
|
assert_true(MathMLFeatureDetection.has_operator_spacing());
|
||||||
|
var element = document.getElementsByTagName(tag)[5];
|
||||||
|
assert_approx_equals(spaceBeforeElement(element), 2 * emToPx, epsilon);
|
||||||
|
}, `${tag} (embellished operator, one child)`);
|
||||||
|
|
||||||
|
test(function() {
|
||||||
|
assert_true(MathMLFeatureDetection.has_operator_spacing());
|
||||||
|
var element = document.getElementsByTagName(tag)[6];
|
||||||
|
assert_approx_equals(spaceBeforeElement(element), 2 * emToPx, epsilon);
|
||||||
|
}, `${tag} (embellished operator, complex)`);
|
||||||
|
});
|
||||||
|
done();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="log"></div>
|
||||||
|
<!-- <semantics> or <maction> are embellished operators if their children
|
||||||
|
consist (in any order) of one embellished operator and zero or more
|
||||||
|
space-like elements. -->
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<maction class="testedElement" actiontype="statusline">
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn>STATUS MESSAGE</mn>
|
||||||
|
</maction>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<semantics class="testedElement">
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<annotation>TEXT ANNOTATION</annotation>
|
||||||
|
<mn>X</mn>
|
||||||
|
</semantics>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<!-- Only in-flow children affect determination of embellished operators. -->
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<maction class="testedElement" actiontype="statusline">
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>STATUS MESSAGE</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</maction>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<semantics class="testedElement">
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<annotation>TEXT ANNOTATION</annotation>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</semantics>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<!-- <semantics> or <maction> are not embellished
|
||||||
|
operators if their first in-flow child is not an embellished operator -->
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<msub class="testedElement">
|
||||||
|
<mn>X</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
</msub>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<msup class="testedElement">
|
||||||
|
<mn>X</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
</msup>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<msubsup class="testedElement">
|
||||||
|
<mn>X</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn>X</mn>
|
||||||
|
</msubsup>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<munder class="testedElement">
|
||||||
|
<mn>X</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
</munder>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mover class="testedElement">
|
||||||
|
<mn>X</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
</mover>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<munderover class="testedElement">
|
||||||
|
<mn>X</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
</munderover>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mmultiscripts class="testedElement">
|
||||||
|
<mn>X</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
</mmultiscripts>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mfrac class="testedElement">
|
||||||
|
<mn>X</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
</mfrac>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<maction class="testedElement" actiontype="statusline">
|
||||||
|
<mn>X</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">STATUS MESSAGE</mo>
|
||||||
|
</maction>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<semantics class="testedElement">
|
||||||
|
<mrow>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
</mrow>
|
||||||
|
<annotation>TEXT ANNOTATION</annotation>
|
||||||
|
</semantics>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<!-- Only in-flow children affect determination of embellished operators. -->
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<maction class="testedElement" actiontype="statusline">
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">STATUS MESSAGE</mo>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</maction>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<semantics class="testedElement">
|
||||||
|
<mrow>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</mrow>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<annotation>TEXT ANNOTATION</annotation>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</semantics>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<!-- Empty <maction> and <semantics> (invalid in MathML3). -->
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<maction class="testedElement">
|
||||||
|
</maction>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<semantics class="testedElement">
|
||||||
|
</semantics>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<!-- One-child <maction> and <semantics> (invalid in MathML3). -->
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<maction class="testedElement">
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
</maction>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn>X</mn>
|
||||||
|
<semantics class="testedElement">
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
</semantics>
|
||||||
|
<mn>X</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<!-- Complex structure (invalid in MathML3). -->
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<maction class="testedElement allChildrenVisible">
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mtext class="space-like">X</mtext>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</maction>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<semantics class="testedElement allChildrenVisible">
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mo lspace="2em" rspace="0em">X</mo>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mtext class="space-like">X</mtext>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</semantics>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
<mn>X</mn>
|
||||||
|
<mn class="oof1">0</mn><mn class="oof2">1</mn><mn class="nobox">2</mn>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -63,9 +63,25 @@
|
||||||
}
|
}
|
||||||
}, "Various combinations of height, depth and width.");
|
}, "Various combinations of height, depth and width.");
|
||||||
|
|
||||||
|
test(function() {
|
||||||
|
var container = document.getElementById("containerForPreferredWidth");
|
||||||
|
var mspace = container.getElementsByTagName("mspace")[0];
|
||||||
|
var containerWidth = container.getBoundingClientRect().width;
|
||||||
|
var mspaceWidth = mspace.getBoundingClientRect().width;
|
||||||
|
assert_approx_equals(containerWidth, mspaceWidth, epsilon);
|
||||||
|
}, "Preferred width");
|
||||||
|
|
||||||
done();
|
done();
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
<style>
|
||||||
|
div.shrink-wrap {
|
||||||
|
background: yellow;
|
||||||
|
display: inline-block;
|
||||||
|
margin-top: 5px;
|
||||||
|
padding-top: 5px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="log"></div>
|
<div id="log"></div>
|
||||||
|
@ -87,5 +103,10 @@
|
||||||
<mspace id="mspace2" width="75px" height="25px" depth="50px" style="background: green"/>
|
<mspace id="mspace2" width="75px" height="25px" depth="50px" style="background: green"/>
|
||||||
</math>
|
</math>
|
||||||
</p>
|
</p>
|
||||||
|
<div>
|
||||||
|
<div id="containerForPreferredWidth" class="shrink-wrap">
|
||||||
|
<math><mspace width="75px" height="25px" depth="50px" style="background: green"/></math>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -49,11 +49,13 @@ def createSizeVariants(aFont):
|
||||||
def createStretchy(aFont, codePoint, isHorizontal):
|
def createStretchy(aFont, codePoint, isHorizontal):
|
||||||
if isHorizontal:
|
if isHorizontal:
|
||||||
aFont[codePoint].horizontalVariants = "h0 h1 h2 h3"
|
aFont[codePoint].horizontalVariants = "h0 h1 h2 h3"
|
||||||
|
# Part: (glyphName, isExtender, startConnector, endConnector, fullAdvance)
|
||||||
aFont[codePoint].horizontalComponents = \
|
aFont[codePoint].horizontalComponents = \
|
||||||
(("h2", False, 0, mathfont.em, 3 * mathfont.em), \
|
(("h2", False, 0, mathfont.em, 3 * mathfont.em), \
|
||||||
("h1", True, mathfont.em, mathfont.em, 2 * mathfont.em))
|
("h1", True, mathfont.em, mathfont.em, 2 * mathfont.em))
|
||||||
else:
|
else:
|
||||||
aFont[codePoint].verticalVariants = "v0 v1 v2 v3"
|
aFont[codePoint].verticalVariants = "v0 v1 v2 v3"
|
||||||
|
# Part: (glyphName, isExtender, startConnector, endConnector, fullAdvance)
|
||||||
aFont[codePoint].verticalComponents = \
|
aFont[codePoint].verticalComponents = \
|
||||||
(("v2", False, 0, mathfont.em, 3 * mathfont.em), \
|
(("v2", False, 0, mathfont.em, 3 * mathfont.em), \
|
||||||
("v1", True, mathfont.em, mathfont.em, 2 * mathfont.em))
|
("v1", True, mathfont.em, mathfont.em, 2 * mathfont.em))
|
||||||
|
|
|
@ -12,8 +12,9 @@ def createStretchyRadical(aFont):
|
||||||
mathfont.drawRectangleGlyph(g, mathfont.em, 3 * mathfont.em, 0)
|
mathfont.drawRectangleGlyph(g, mathfont.em, 3 * mathfont.em, 0)
|
||||||
g = aFont.createChar(-1, "size3")
|
g = aFont.createChar(-1, "size3")
|
||||||
mathfont.drawRectangleGlyph(g, mathfont.em, 4 * mathfont.em, 0)
|
mathfont.drawRectangleGlyph(g, mathfont.em, 4 * mathfont.em, 0)
|
||||||
overlap = mathfont.em / 2
|
|
||||||
aFont[radicalCodePoint].verticalVariants = "radical size1 size2 size3"
|
aFont[radicalCodePoint].verticalVariants = "radical size1 size2 size3"
|
||||||
|
# Part: (glyphName, isExtender, startConnector, endConnector, fullAdvance)
|
||||||
|
aFont.math.MinConnectorOverlap = 0
|
||||||
aFont[radicalCodePoint].verticalComponents = \
|
aFont[radicalCodePoint].verticalComponents = \
|
||||||
(("size2", False, 0, mathfont.em, 3 * mathfont.em), \
|
(("size2", False, 0, mathfont.em, 3 * mathfont.em), \
|
||||||
("size1", True, mathfont.em, mathfont.em, 2 * mathfont.em))
|
("size1", True, mathfont.em, mathfont.em, 2 * mathfont.em))
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<title>SXG reporting test of sxg.mi_error for navigation</title>
|
<title>SXG reporting test of sxg.mi_error for navigation</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
<script src="/common/get-host-info.sub.js"></script>
|
<script src="/common/get-host-info.sub.js"></script>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue