diff options
59 files changed, 1352 insertions, 82 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 638573169f9..cab531bcc1e 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -137329,6 +137329,18 @@ {} ] ], + "css/css-tables/subpixel-table-cell-height-001.html": [ + [ + "/css/css-tables/subpixel-table-cell-height-001.html", + [ + [ + "/css/css-tables/subpixel-table-cell-height-001-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-tables/subpixel-table-cell-width-001.html": [ [ "/css/css-tables/subpixel-table-cell-width-001.html", @@ -157765,6 +157777,18 @@ {} ] ], + "css/css-ui/outline-021.html": [ + [ + "/css/css-ui/outline-021.html", + [ + [ + "/css/css-ui/reference/outline-021-notref.html", + "!=" + ] + ], + {} + ] + ], "css/css-ui/outline-color-001.html": [ [ "/css/css-ui/outline-color-001.html", @@ -158173,6 +158197,66 @@ {} ] ], + "css/css-values/angle-units-001.html": [ + [ + "/css/css-values/angle-units-001.html", + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "css/css-values/angle-units-002.html": [ + [ + "/css/css-values/angle-units-002.html", + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "css/css-values/angle-units-003.html": [ + [ + "/css/css-values/angle-units-003.html", + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "css/css-values/angle-units-004.html": [ + [ + "/css/css-values/angle-units-004.html", + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "css/css-values/angle-units-005.html": [ + [ + "/css/css-values/angle-units-005.html", + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "css/css-values/attr-color-invalid-cast.html": [ [ "/css/css-values/attr-color-invalid-cast.html", @@ -158233,6 +158317,18 @@ {} ] ], + "css/css-values/attr-invalid-type-008.html": [ + [ + "/css/css-values/attr-invalid-type-008.html", + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "css/css-values/attr-length-invalid-cast.html": [ [ "/css/css-values/attr-length-invalid-cast.html", @@ -158413,6 +158509,18 @@ {} ] ], + "css/css-values/calc-positive-fraction-001.html": [ + [ + "/css/css-values/calc-positive-fraction-001.html", + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "css/css-values/calc-rem-lang.html": [ [ "/css/css-values/calc-rem-lang.html", @@ -158473,6 +158581,66 @@ {} ] ], + "css/css-values/ch-unit-008.html": [ + [ + "/css/css-values/ch-unit-008.html", + [ + [ + "/css/css-values/reference/ch-unit-008-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-values/ch-unit-009.html": [ + [ + "/css/css-values/ch-unit-009.html", + [ + [ + "/css/css-values/reference/ch-unit-009-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-values/ch-unit-010.html": [ + [ + "/css/css-values/ch-unit-010.html", + [ + [ + "/css/css-values/reference/ch-unit-009-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-values/ch-unit-011.html": [ + [ + "/css/css-values/ch-unit-011.html", + [ + [ + "/css/css-values/reference/ch-unit-011-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-values/ch-unit-012.html": [ + [ + "/css/css-values/ch-unit-012.html", + [ + [ + "/css/css-values/reference/ch-unit-009-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-values/ex-calc-expression-001.html": [ [ "/css/css-values/ex-calc-expression-001.html", @@ -270381,6 +270549,11 @@ {} ] ], + "css/css-tables/subpixel-table-cell-height-001-ref.html": [ + [ + {} + ] + ], "css/css-tables/subpixel-table-cell-width-001-ref.html": [ [ {} @@ -274846,6 +275019,11 @@ {} ] ], + "css/css-ui/reference/outline-021-notref.html": [ + [ + {} + ] + ], "css/css-ui/reference/outline-offset.html": [ [ {} @@ -276176,6 +276354,21 @@ {} ] ], + "css/css-values/reference/ch-unit-008-ref.html": [ + [ + {} + ] + ], + "css/css-values/reference/ch-unit-009-ref.html": [ + [ + {} + ] + ], + "css/css-values/reference/ch-unit-011-ref.html": [ + [ + {} + ] + ], "css/css-values/reference/ic-unit-001-ref.html": [ [ {} @@ -290231,6 +290424,16 @@ {} ] ], + "fonts/noto/NotoSansMongolian-regular.woff2": [ + [ + {} + ] + ], + "fonts/noto/NotoSansNko-regular-webfont.woff2": [ + [ + {} + ] + ], "fonts/sileot-webfont.woff": [ [ {} @@ -301246,11 +301449,6 @@ {} ] ], - "infrastructure/metadata/infrastructure/testdriver/actions/elementTiming.html.ini": [ - [ - {} - ] - ], "infrastructure/metadata/infrastructure/testdriver/actions/eventOrder.html.ini": [ [ {} @@ -342898,6 +343096,12 @@ {} ] ], + "css/css-flexbox/flex-minimum-height-flex-items-012.html": [ + [ + "/css/css-flexbox/flex-minimum-height-flex-items-012.html", + {} + ] + ], "css/css-flexbox/flexbox_first-letter.html": [ [ "/css/css-flexbox/flexbox_first-letter.html", @@ -345348,6 +345552,12 @@ {} ] ], + "css/css-grid/grid-model/grid-button-001.html": [ + [ + "/css/css-grid/grid-model/grid-button-001.html", + {} + ] + ], "css/css-grid/grid-model/grid-computed-value-display-floated-items-001.html": [ [ "/css/css-grid/grid-model/grid-computed-value-display-floated-items-001.html", @@ -345432,6 +345642,12 @@ {} ] ], + "css/css-grid/layout-algorithm/grid-fit-content-percentage.html": [ + [ + "/css/css-grid/layout-algorithm/grid-fit-content-percentage.html", + {} + ] + ], "css/css-grid/layout-algorithm/grid-intrinsic-size-with-orthogonal-items.html": [ [ "/css/css-grid/layout-algorithm/grid-intrinsic-size-with-orthogonal-items.html", @@ -346494,6 +346710,12 @@ {} ] ], + "css/css-position/position-absolute-crash-chrome-001.html": [ + [ + "/css/css-position/position-absolute-crash-chrome-001.html", + {} + ] + ], "css/css-position/position-absolute-in-inline-crash.html": [ [ "/css/css-position/position-absolute-in-inline-crash.html", @@ -448077,7 +448299,9 @@ "webdriver/tests/perform_actions/pointer.py": [ [ "/webdriver/tests/perform_actions/pointer.py", - {} + { + "timeout": "long" + } ] ], "webdriver/tests/perform_actions/pointer_contextmenu.py": [ @@ -448258,7 +448482,7 @@ }, "paths": { ".azure-pipelines.yml": [ - "74f6a917d87e9e2f37f6d2a72c3ed4fd297ee3fc", + "0f3747500486695937d65c1ea89b6ebb49cb280b", "support" ], ".codecov.yml": [ @@ -551813,6 +552037,10 @@ "19ba83af4049057b468aa1444d59c28d414e2f43", "reftest" ], + "css/css-flexbox/flex-minimum-height-flex-items-012.html": [ + "a193c29cb6001bfc1bc7dc2c7258a48ae9da17a6", + "testharness" + ], "css/css-flexbox/flex-minimum-width-flex-items-001.xht": [ "b8e2866edaa46af46900c287238894cd8ddef24c", "reftest" @@ -564277,6 +564505,10 @@ "b99029293466ddfb514f401931161d75cbd5917c", "testharness" ], + "css/css-grid/grid-model/grid-button-001.html": [ + "b84c10fcab005145f330c507b9cafcbf288640e2", + "testharness" + ], "css/css-grid/grid-model/grid-computed-value-display-floated-items-001.html": [ "17c0fbd1b1860e00c8969ce450b487d7dce7c877", "testharness" @@ -564473,6 +564705,10 @@ "340fe82cfd28dcb80051f432c94e4eb215aff474", "testharness" ], + "css/css-grid/layout-algorithm/grid-fit-content-percentage.html": [ + "ab55502487328d11ac153440fec4963e6e70709c", + "testharness" + ], "css/css-grid/layout-algorithm/grid-intrinsic-size-with-orthogonal-items.html": [ "9fb0f4ffa1c0a06d891c61e1fc3f9588db47760e", "testharness" @@ -569609,6 +569845,10 @@ "2b158a86f6599e43f6a2315a2943b4d394405ba5", "testharness" ], + "css/css-position/position-absolute-crash-chrome-001.html": [ + "592e5d22e70f1b0c5e3e4b9222cbd1ccef99bdef", + "testharness" + ], "css/css-position/position-absolute-in-inline-crash.html": [ "5d36710b6fe694b256d9841b3e7a0fff4535c85b", "testharness" @@ -575201,6 +575441,14 @@ "a24556aa0dedfab35ff7792f03b804f44c0f4160", "reftest" ], + "css/css-tables/subpixel-table-cell-height-001-ref.html": [ + "3b6297fc4ab06643b2910194479b571ca3a462f2", + "support" + ], + "css/css-tables/subpixel-table-cell-height-001.html": [ + "581efa02b9183d94224bb84b5df4db8ee152e2a4", + "reftest" + ], "css/css-tables/subpixel-table-cell-width-001-ref.html": [ "ea2f38b6bb216d25a8d5656fdd8d6bcac40982db", "support" @@ -586478,7 +586726,7 @@ "testharness" ], "css/css-transitions/event-dispatch.tentative.html": [ - "81bba60a66e7eb9800113bcd04dcc47a15002fb0", + "cd5b6ab30b17f21098a225d61c251e657732bb44", "testharness" ], "css/css-transitions/events-001.html": [ @@ -589497,6 +589745,10 @@ "457f10ad65772a6c7737f55222e5bc70b34461ae", "reftest" ], + "css/css-ui/outline-021.html": [ + "02e96ea9a67de331cdaf8962155ec4c0e02217b5", + "reftest" + ], "css/css-ui/outline-color-001.html": [ "4245b2ceb7393a73850a223e498987e0e1bc4aa3", "reftest" @@ -589693,6 +589945,10 @@ "194b6336918939bf5978395b73fdab529705435e", "support" ], + "css/css-ui/reference/outline-021-notref.html": [ + "eb074ed44f8332ae6ef08db47236e1bd14e9c5fb", + "support" + ], "css/css-ui/reference/outline-offset.html": [ "63f852ca466249417a93341762069c999b4e6905", "support" @@ -590949,6 +591205,26 @@ "b0e5178bce038cea243089db95f92c1d831c6914", "visual" ], + "css/css-values/angle-units-001.html": [ + "61ca931905a06f3959d80a274b30a5de0758910d", + "reftest" + ], + "css/css-values/angle-units-002.html": [ + "ff9cdca17c8914fe0bb4ac8b0f1d52439c475a4b", + "reftest" + ], + "css/css-values/angle-units-003.html": [ + "786d5faed5370ff8d654317b68f51b91ce0d1783", + "reftest" + ], + "css/css-values/angle-units-004.html": [ + "34722a3e00018f2ecedc1bc8c8e6340234cfc81e", + "reftest" + ], + "css/css-values/angle-units-005.html": [ + "625952abb9b3a0abd390fecc850940952eea022e", + "reftest" + ], "css/css-values/attr-color-invalid-cast.html": [ "d538eebdd9979bfda2398e46de72748dc0099810", "reftest" @@ -590969,6 +591245,10 @@ "dbdac8a4ba1cf15e583684c9c2b3ac158c0af614", "reftest" ], + "css/css-values/attr-invalid-type-008.html": [ + "a76be44d76a1c1f03d818b8b11a3ee5830815e38", + "reftest" + ], "css/css-values/attr-length-invalid-cast.html": [ "930832363605fa85651b075f17d6c109535c0b41", "reftest" @@ -591057,6 +591337,10 @@ "1d9033d7eecd14066ee9e4f9c52bf1a39e6ddd1b", "reftest" ], + "css/css-values/calc-positive-fraction-001.html": [ + "383b4af547b9cb50b37636e77b587cbb33d96916", + "reftest" + ], "css/css-values/calc-rem-lang-ref.html": [ "a0f6add684a57f394f2dd97b163a3ca9fc61a1ef", "support" @@ -591093,6 +591377,26 @@ "914cec9f64985c930ab96de32693cc819a3c8229", "reftest" ], + "css/css-values/ch-unit-008.html": [ + "67fe0754a9ed498235418dc5fb463a80e27568ea", + "reftest" + ], + "css/css-values/ch-unit-009.html": [ + "c6f56718a0d09906c143bb413c88f43882581429", + "reftest" + ], + "css/css-values/ch-unit-010.html": [ + "bc3fdbcb7cee5bfdd4b59e277d8eaaa622311bb4", + "reftest" + ], + "css/css-values/ch-unit-011.html": [ + "c486f0c48ab8f43527247888a4e98ef029213965", + "reftest" + ], + "css/css-values/ch-unit-012.html": [ + "b844d9b3fa45e9a340ab79da7175875c6187d99f", + "reftest" + ], "css/css-values/ex-calc-expression-001-ref.html": [ "888a51ea9b6ac04fb065ee5d84a18be8fe765aca", "support" @@ -591142,7 +591446,7 @@ "reftest" ], "css/css-values/lh-rlh-on-root-001.html": [ - "228da4e38975a40334b1bf5396489276442baaf1", + "123218ddd67fadb0ceab893f16e658cd08c56c9d", "testharness" ], "css/css-values/lh-unit-001.html": [ @@ -591181,6 +591485,18 @@ "ee6ce1595d765849801743eb2d80c5cee2982fe5", "support" ], + "css/css-values/reference/ch-unit-008-ref.html": [ + "678a9c1695408ba4c810a43d2578956da485715a", + "support" + ], + "css/css-values/reference/ch-unit-009-ref.html": [ + "6bd69bed09a99ed449238718bd3e7e6ea80179c6", + "support" + ], + "css/css-values/reference/ch-unit-011-ref.html": [ + "78b484fe718321d2d0b7c213d72f8bd2dc333acb", + "support" + ], "css/css-values/reference/ic-unit-001-ref.html": [ "2151f3b0c5dd883ffd2e04157726474eff0a5c2b", "support" @@ -620501,6 +620817,14 @@ "1d17b23076d0c2ac61df2354c6fc1d753f83aa22", "support" ], + "fonts/noto/NotoSansMongolian-regular.woff2": [ + "e34e5474377e4e29679669d4039efe560ac57fa6", + "support" + ], + "fonts/noto/NotoSansNko-regular-webfont.woff2": [ + "780661ba1ca55c7ba73a8dabe0716c066b8cc7ca", + "support" + ], "fonts/sileot-webfont.woff": [ "81547578d36c7989db0a03127074a5f4b33768b4", "support" @@ -640393,20 +640717,16 @@ "9ae71a6e73e22a855c69d3269936d71c17d6e9e5", "support" ], - "infrastructure/metadata/infrastructure/testdriver/actions/elementTiming.html.ini": [ - "a06134a6ea427d40aa7b664bde5d4b3d6df24b96", - "support" - ], "infrastructure/metadata/infrastructure/testdriver/actions/eventOrder.html.ini": [ - "00916c7af3f1ec97692afb727b02dc4f29327a99", + "bcd78da24446a9802755a13525be90e3fa0f43fc", "support" ], "infrastructure/metadata/infrastructure/testdriver/actions/multiDevice.html.ini": [ - "b9fb2596b952ad81b97d7e04b5eb941d37b3b5da", + "04b97a7198c75ba941d315716483aad216e1a283", "support" ], "infrastructure/metadata/infrastructure/testdriver/actions/pause.html.ini": [ - "7ceec9f531bfe3ede763a41726590f3effdbac29", + "da47a2a0b6f7b7b019c3ae20e349f37c00b8e0bc", "support" ], "infrastructure/metadata/infrastructure/testdriver/file_upload.sub.html.ini": [ @@ -664794,7 +665114,7 @@ "support" ], "resources/testharness.js": [ - "fb86c580d22ca14159b19b21a55b2cabfc76a742", + "d40817c7d4197ccc2469f646207b82d8a0af4c84", "support" ], "resources/testharness.js.headers": [ @@ -679786,7 +680106,7 @@ "support" ], "tools/wptrunner/wptrunner/executors/executormarionette.py": [ - "05861ccd2d832f1139c6d14bc7bd7cad6ac2ea37", + "1b4c0b93cbeb9d303f5e7df89ccc68f592c30c27", "support" ], "tools/wptrunner/wptrunner/executors/executoropera.py": [ @@ -685406,7 +685726,7 @@ "wdspec" ], "webdriver/tests/perform_actions/key_events.py": [ - "462688a55e527ffd5d075e4bd981489e5e029f8c", + "c00e3296367c8f6006c69ecc34d25d7b7a380bbd", "wdspec" ], "webdriver/tests/perform_actions/key_modifiers.py": [ @@ -685426,7 +685746,7 @@ "wdspec" ], "webdriver/tests/perform_actions/pointer.py": [ - "cb270126438a0cc2c6e009208f831926aba64d7f", + "6719272c3f1e59be5f1241a97ff0f83a01fea637", "wdspec" ], "webdriver/tests/perform_actions/pointer_contextmenu.py": [ @@ -685458,7 +685778,7 @@ "support" ], "webdriver/tests/perform_actions/support/keys.py": [ - "68e37b34e0303c89d64654ddc9cf8bba5fc92f67", + "d30ee91b5a6175f623b04279f1151ba22de92c42", "support" ], "webdriver/tests/perform_actions/support/mouse.py": [ diff --git a/tests/wpt/metadata/css/css-flexbox/flex-minimum-height-flex-items-012.html.ini b/tests/wpt/metadata/css/css-flexbox/flex-minimum-height-flex-items-012.html.ini new file mode 100644 index 00000000000..d44903a09de --- /dev/null +++ b/tests/wpt/metadata/css/css-flexbox/flex-minimum-height-flex-items-012.html.ini @@ -0,0 +1,4 @@ +[flex-minimum-height-flex-items-012.html] + [.flexbox 1] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-values/attr-invalid-type-008.html.ini b/tests/wpt/metadata/css/css-values/attr-invalid-type-008.html.ini new file mode 100644 index 00000000000..65fd07a15f3 --- /dev/null +++ b/tests/wpt/metadata/css/css-values/attr-invalid-type-008.html.ini @@ -0,0 +1,2 @@ +[attr-invalid-type-008.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-values/ch-unit-008.html.ini b/tests/wpt/metadata/css/css-values/ch-unit-008.html.ini new file mode 100644 index 00000000000..3de81e8e1c6 --- /dev/null +++ b/tests/wpt/metadata/css/css-values/ch-unit-008.html.ini @@ -0,0 +1,2 @@ +[ch-unit-008.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-values/ch-unit-009.html.ini b/tests/wpt/metadata/css/css-values/ch-unit-009.html.ini new file mode 100644 index 00000000000..3253507d60d --- /dev/null +++ b/tests/wpt/metadata/css/css-values/ch-unit-009.html.ini @@ -0,0 +1,2 @@ +[ch-unit-009.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-values/ch-unit-010.html.ini b/tests/wpt/metadata/css/css-values/ch-unit-010.html.ini new file mode 100644 index 00000000000..00673a731d6 --- /dev/null +++ b/tests/wpt/metadata/css/css-values/ch-unit-010.html.ini @@ -0,0 +1,2 @@ +[ch-unit-010.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-values/ch-unit-011.html.ini b/tests/wpt/metadata/css/css-values/ch-unit-011.html.ini new file mode 100644 index 00000000000..d94403f4226 --- /dev/null +++ b/tests/wpt/metadata/css/css-values/ch-unit-011.html.ini @@ -0,0 +1,2 @@ +[ch-unit-011.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-values/ch-unit-012.html.ini b/tests/wpt/metadata/css/css-values/ch-unit-012.html.ini new file mode 100644 index 00000000000..43cb4c410f8 --- /dev/null +++ b/tests/wpt/metadata/css/css-values/ch-unit-012.html.ini @@ -0,0 +1,2 @@ +[ch-unit-012.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-values/lh-rlh-on-root-001.html.ini b/tests/wpt/metadata/css/css-values/lh-rlh-on-root-001.html.ini index 2f0ac1423d2..a07c3f293a1 100644 --- a/tests/wpt/metadata/css/css-values/lh-rlh-on-root-001.html.ini +++ b/tests/wpt/metadata/css/css-values/lh-rlh-on-root-001.html.ini @@ -11,3 +11,9 @@ [2rlh in font-size on root] expected: FAIL + [lh in font-size on root] + expected: FAIL + + [rlh in font-size on root] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini b/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini index bcd187f508c..8e2ceeddfbe 100644 --- a/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini +++ b/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini @@ -6,3 +6,6 @@ [Instant scrolling while doing history navigation.] expected: FAIL + [Smooth scrolling while doing history navigation.] + expected: FAIL + diff --git a/tests/wpt/metadata/encoding/single-byte-decoder.html.ini b/tests/wpt/metadata/encoding/single-byte-decoder.html.ini index 4b27dc50071..572ff903ddd 100644 --- a/tests/wpt/metadata/encoding/single-byte-decoder.html.ini +++ b/tests/wpt/metadata/encoding/single-byte-decoder.html.ini @@ -32,7 +32,7 @@ [single-byte-decoder.html?XMLHttpRequest] - expected: CRASH + expected: TIMEOUT [ISO-8859-2: iso_8859-2:1987 (XMLHttpRequest)] expected: FAIL @@ -84,15 +84,9 @@ [x-mac-cyrillic: x-mac-ukrainian (XMLHttpRequest)] expected: TIMEOUT - [windows-1254: csisolatin5 (XMLHttpRequest)] - expected: TIMEOUT - [windows-1257: cp1257 (XMLHttpRequest)] expected: TIMEOUT - [windows-1254: cp1254 (XMLHttpRequest)] - expected: TIMEOUT - [windows-1254: iso8859-9 (XMLHttpRequest)] expected: TIMEOUT @@ -111,14 +105,20 @@ [windows-1256: x-cp1256 (XMLHttpRequest)] expected: TIMEOUT - [x-mac-cyrillic: x-mac-cyrillic (XMLHttpRequest)] - expected: TIMEOUT - [windows-1255: x-cp1255 (XMLHttpRequest)] expected: TIMEOUT [windows-1255: windows-1255 (XMLHttpRequest)] expected: TIMEOUT + [windows-1257: x-cp1257 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1255: cp1255 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1256: windows-1256 (XMLHttpRequest)] + expected: TIMEOUT + [single-byte-decoder.html?TextDecoder] diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini index 978f99cc0ec..ee4765a0d8c 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -312,9 +312,9 @@ [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] expected: FAIL - [<iframe>: separate response Content-Type: text/html */*] + [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html] expected: FAIL - [<iframe>: separate response Content-Type: */* text/html] + [<iframe>: separate response Content-Type: text/html;charset=gbk text/plain text/html] expected: FAIL diff --git a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini index 87c807a49ff..ef3edb78985 100644 --- a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini +++ b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini @@ -11,3 +11,6 @@ [X-Content-Type-Options%3A%20nosniff%0C] expected: FAIL + [X-Content-Type-Options%3A%20%22nosniFF%22] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-string.tentative.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-string.tentative.html.ini deleted file mode 100644 index 9bacb9f5c4e..00000000000 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-string.tentative.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[javascript-url-abort-return-value-string.tentative.html] - [Aborting fetch for javascript:string navigation] - expected: FAIL - diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-undefined.tentative.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-undefined.tentative.html.ini new file mode 100644 index 00000000000..78879bad5f1 --- /dev/null +++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-undefined.tentative.html.ini @@ -0,0 +1,5 @@ +[javascript-url-abort-return-value-undefined.tentative.html] + expected: TIMEOUT + [Not aborting fetch for javascript:undefined navigation] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini deleted file mode 100644 index 75d75b4cda2..00000000000 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse_the_history_2.html] - [Multiple history traversals, last would be aborted] - expected: FAIL - diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini deleted file mode 100644 index 385376c7321..00000000000 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse_the_history_4.html] - [Multiple history traversals, last would be aborted] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini b/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini deleted file mode 100644 index 9e522297c94..00000000000 --- a/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini +++ /dev/null @@ -1,7 +0,0 @@ -[toggleEvent.html] - [Calling open twice on 'details' fires only one toggle event] - expected: FAIL - - [Setting open=true to opened 'details' element should not fire a toggle event at the 'details' element] - expected: FAIL - diff --git a/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini b/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini index 7725b118e9d..99a24216c88 100644 --- a/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini +++ b/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini @@ -12,6 +12,3 @@ [Verifies the resolution of entry.startTime is at least 5 microseconds.] expected: TIMEOUT - [Verifies the resolution of performance.now() is at least 5 microseconds.] - expected: FAIL - diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini index 66bd350083b..a56bad443a2 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini @@ -1,4 +1,5 @@ [realtimeanalyser-fft-scaling.html] + expected: TIMEOUT [X 2048-point FFT peak position is not equal to 64. Got 0.] expected: FAIL diff --git a/tests/wpt/metadata/workers/baseurl/alpha/sharedworker-in-worker.html.ini b/tests/wpt/metadata/workers/baseurl/alpha/sharedworker-in-worker.html.ini index 333edb3a26e..650c91da4a6 100644 --- a/tests/wpt/metadata/workers/baseurl/alpha/sharedworker-in-worker.html.ini +++ b/tests/wpt/metadata/workers/baseurl/alpha/sharedworker-in-worker.html.ini @@ -1,4 +1,5 @@ [sharedworker-in-worker.html] + expected: ERROR [Base URL in workers: new SharedWorker()] expected: FAIL diff --git a/tests/wpt/mozilla/meta/mozilla/paint_timing.html.ini b/tests/wpt/mozilla/meta/mozilla/paint_timing.html.ini new file mode 100644 index 00000000000..14a9e778f39 --- /dev/null +++ b/tests/wpt/mozilla/meta/mozilla/paint_timing.html.ini @@ -0,0 +1,4 @@ +[paint_timing.html] + [Performance entries observer] + expected: FAIL + diff --git a/tests/wpt/web-platform-tests/.azure-pipelines.yml b/tests/wpt/web-platform-tests/.azure-pipelines.yml index 74f6a917d87..0f374750048 100644 --- a/tests/wpt/web-platform-tests/.azure-pipelines.yml +++ b/tests/wpt/web-platform-tests/.azure-pipelines.yml @@ -177,7 +177,7 @@ jobs: - template: tools/ci/azure/install_certs.yml - template: tools/ci/azure/update_hosts.yml - template: tools/ci/azure/update_manifest.yml - - script: python ./wpt run --no-manifest-update --no-restart-on-unexpected --no-fail-on-unexpected --install-fonts --test-types reftest testharness --this-chunk $(System.JobPositionInPhase) --total-chunks $(System.TotalJobsInPhase) --chunk-type hash --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report_$(System.JobPositionInPhase).json edge_webdriver + - script: python ./wpt run --no-manifest-update --no-restart-on-unexpected --no-fail-on-unexpected --install-fonts --test-types reftest testharness --this-chunk $(System.JobPositionInPhase) --total-chunks $(System.TotalJobsInPhase) --chunk-type hash --log-tbpl - --log-tbpl-level info --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report_$(System.JobPositionInPhase).json edge_webdriver displayName: 'Run tests' - task: PublishBuildArtifacts@1 displayName: 'Publish results' diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/flex-minimum-height-flex-items-012.html b/tests/wpt/web-platform-tests/css/css-flexbox/flex-minimum-height-flex-items-012.html new file mode 100644 index 00000000000..a193c29cb60 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-flexbox/flex-minimum-height-flex-items-012.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<html> +<title>CSS Flexbox: Combining 100% heights with min-height: auto should not lead to overflow</title> +<link rel="author" title="Google LLC" href="https://www.google.com/" /> +<link rel="help" href="https://drafts.csswg.org/css-flexbox/#min-size-auto" /> +<link rel="issue" href="https://bugs.chromium.org/p/chromium/issues/detail?id=927066" /> + +<style> +.flexbox { + display: flex; +} + +.column { + flex-flow: column; +} + +.flexbox span { + height: 100%; + background: orange; + display: block; +} +</style> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/check-layout-th.js"></script> +<body onload="checkLayout('.flexbox')"> +<div id=log></div> + +<div class="flexbox column" style="height: 100px; width: 100px; background: green"> + <div style="height: 10px; flex: 0.1;" data-expected-height="10"></div> + <div style="height: 100%; display: flex; background: teal; flex: 0.9;" data-expected-height="90"> + <div style="height: 100%"></div> + </div> +</div> + +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-grid/grid-model/grid-button-001.html b/tests/wpt/web-platform-tests/css/css-grid/grid-model/grid-button-001.html new file mode 100644 index 00000000000..b84c10fcab0 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/grid-model/grid-button-001.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<title>Grid items work inside a button</title> +<meta name="assert" content="When a button is set to display: grid, its children should flow into its grid cells"> +<link rel="author" title="Bryan Robinson" href="bryanlrobinson@gmail.com"> +<link rel="help" href="https://drafts.csswg.org/css-grid-1/#grid-containers"> +<style> + .grid { display: grid; grid-template-columns: 100px 200px; border: 2px solid purple; box-sizing: border-box; } + span { border: 1px dashed green; box-sizing: border-box; } +</style> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/check-layout-th.js"></script> + +<button class="grid" ><span class="item1" data-expected-width="100">item 1</span> <span class="item2" data-expected-width="200">item 2</span></button> + +<script> + checkLayout("[data-expected-width]") +</script>
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/css/css-grid/layout-algorithm/grid-fit-content-percentage.html b/tests/wpt/web-platform-tests/css/css-grid/layout-algorithm/grid-fit-content-percentage.html new file mode 100644 index 00000000000..ab555024873 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/layout-algorithm/grid-fit-content-percentage.html @@ -0,0 +1,61 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Grid Layout Test: indefinite percentage in fit-content()</title> +<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com"> +<link rel="help" href="https://drafts.csswg.org/css-grid/#track-sizes" title="7.2.1. Track Sizes"> +<meta name="assert" content="Checks that an indefinite percentage in fit-content lets the grid container grow enough to contain the max-content contribution of its grid items."> +<style> +.container { + width: 200px; + margin-top: 10px; +} +.grid { + display: inline-grid; + background: blue; +} +.item { + background: orange; +} +.item::before, .item::after { + content: ''; + float: left; + width: 50px; + height: 50px; +} +</style> + +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<div id="log"></div> + +<script> +"use strict"; +function clamp(value, min, max) { + return Math.max(min, Math.min(max, value)); +} +const minContent = 50; +const maxContent = 100; +for (const percentage of [0, 50, 75, 100, 150]) { + const container = document.createElement("div"); + container.className = "container"; + document.body.appendChild(container); + const grid = document.createElement("div"); + grid.className = "grid"; + grid.style.gridTemplateColumns = `fit-content(${percentage}%)`; + container.appendChild(grid); + const item = document.createElement("div"); + item.className = "item"; + grid.appendChild(item); + test(function() { + const colSize = clamp(percentage * maxContent / 100, minContent, maxContent); + const height = colSize < maxContent ? maxContent : minContent; + assert_equals(item.offsetWidth, colSize, "Grid item width"); + assert_equals(item.offsetHeight, height, "Grid item height"); + assert_equals(grid.offsetWidth, maxContent, "Grid container width"); + assert_equals(grid.offsetHeight, height, "Grid container height"); + assert_equals(getComputedStyle(grid).gridTemplateColumns, colSize + "px", + "Grid column size"); + }, `fit-content(${percentage}%)`); +} +</script> diff --git a/tests/wpt/web-platform-tests/css/css-position/position-absolute-crash-chrome-001.html b/tests/wpt/web-platform-tests/css/css-position/position-absolute-crash-chrome-001.html new file mode 100644 index 00000000000..592e5d22e70 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-position/position-absolute-crash-chrome-001.html @@ -0,0 +1,28 @@ +<!doctype html> +<html> +<head> + <title>Chrome crash with inline </title> + <link rel="help" href="https://www.w3.org/TR/css-position-3/#def-cb"> + <link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=928224"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script>test(()=>{})</script> +<style> + a { + position: relative; + } + a:before { + content: "foo"; + position: absolute; + background: green; + } +</style> +</head> +<body> + <div> + <li> + <a href="dummy">success if does not crash</a> + </li> + </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-tables/subpixel-table-cell-height-001-ref.html b/tests/wpt/web-platform-tests/css/css-tables/subpixel-table-cell-height-001-ref.html new file mode 100644 index 00000000000..3b6297fc4ab --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/subpixel-table-cell-height-001-ref.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<style> +div { + border: 1px solid blue; + width: 120px; + height: 37.4px; +} +</style> + +<div></div> +<div></div> +<div></div> +<div></div> +<div></div> +<div></div> +<div></div> +<div></div> +<div></div> diff --git a/tests/wpt/web-platform-tests/css/css-tables/subpixel-table-cell-height-001.html b/tests/wpt/web-platform-tests/css/css-tables/subpixel-table-cell-height-001.html new file mode 100644 index 00000000000..581efa02b91 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/subpixel-table-cell-height-001.html @@ -0,0 +1,45 @@ +<!DOCTYPE html> +<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-values-3/#calc-notation"> +<link rel="match" href="subpixel-table-cell-height-001-ref.html"> +<meta name="flags" content="" /> +<meta name="assert" content="When a cell has a specified calc height and a block box has the same specified calc height, their actual heights should match." /> + +<style> +td { + border: 1px solid blue; + width: 120px; + height: 37.4px; + padding: 0px; +} +</style> + +<table style="border-spacing:0;"> + <tr> + <td></td> + </tr> + <tr> + <td></td> + </tr> + <tr> + <td></td> + </tr> + <tr> + <td></td> + </tr> + <tr> + <td></td> + </tr> + <tr> + <td></td> + </tr> + <tr> + <td></td> + </tr> + <tr> + <td></td> + </tr> + <tr> + <td></td> + </tr> +</table> diff --git a/tests/wpt/web-platform-tests/css/css-transitions/event-dispatch.tentative.html b/tests/wpt/web-platform-tests/css/css-transitions/event-dispatch.tentative.html index 81bba60a66e..cd5b6ab30b1 100644 --- a/tests/wpt/web-platform-tests/css/css-transitions/event-dispatch.tentative.html +++ b/tests/wpt/web-platform-tests/css/css-transitions/event-dispatch.tentative.html @@ -9,12 +9,20 @@ <script> 'use strict'; +// All transition events should be received on the next animation frame. If +// two animation frames pass before receiving the expected events then we +// can immediately fail the current test. +const transitionEventsTimeout = () => { + return waitForAnimationFrames(2); +}; + const setupTransition = (t, transitionStyle) => { const div = addDiv(t, { style: 'transition: ' + transitionStyle }); const watcher = new EventWatcher(t, div, [ 'transitionrun', 'transitionstart', 'transitionend', - 'transitioncancel' ]); + 'transitioncancel' ], + transitionEventsTimeout); getComputedStyle(div).marginLeft; div.style.marginLeft = '100px'; diff --git a/tests/wpt/web-platform-tests/css/css-ui/outline-021.html b/tests/wpt/web-platform-tests/css/css-ui/outline-021.html new file mode 100644 index 00000000000..02e96ea9a67 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/outline-021.html @@ -0,0 +1,9 @@ +<!doctype html> +<meta charset=utf-8> +<title>CSS-UI test: outline works on button inputs</title> +<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io"> +<link rel="author" title="Mozilla" href="https://mozilla.org"> +<link rel=help href="https://drafts.csswg.org/css-ui/#outline-props"> +<link rel="mismatch" href="./reference/outline-021-notref.html"> + +<input type="submit" style="outline: 10px solid blue"> diff --git a/tests/wpt/web-platform-tests/css/css-ui/reference/outline-021-notref.html b/tests/wpt/web-platform-tests/css/css-ui/reference/outline-021-notref.html new file mode 100644 index 00000000000..eb074ed44f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/reference/outline-021-notref.html @@ -0,0 +1,7 @@ +<!doctype html> +<meta charset=utf-8> +<title>CSS test reference</title> +<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io"> +<link rel="author" title="Mozilla" href="https://mozilla.org"> + +<input type="submit" style="outline: none"> diff --git a/tests/wpt/web-platform-tests/css/css-values/angle-units-001.html b/tests/wpt/web-platform-tests/css/css-values/angle-units-001.html new file mode 100644 index 00000000000..61ca931905a --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values/angle-units-001.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Values and Units Test: invalid angle units</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-values-3/#angles"> + <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> + + <meta name="flags" content="invalid"> + + <style> + div + { + height: 100px; + width: 100px; + } + + div#test-overlapping-green + { + background-image: linear-gradient(green, green); + background-image: linear-gradient(90degree, red, red); /* invalid; 90deg is valid */ + background-image: linear-gradient(100gradian, red, red); /* invalid; 100grad is valid */ + background-image: linear-gradient(1.57radian, red, red); /* invalid; 1.57rad is valid */ + background-image: linear-gradient(0.25turns, red, red); /* invalid; 0.25turn is valid */ + } + + div#reference-overlapped-red + { + background-color: red; + bottom: 100px; + position: relative; + z-index: -1; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>. + + <div id="test-overlapping-green"></div> + + <div id="reference-overlapped-red"></div> diff --git a/tests/wpt/web-platform-tests/css/css-values/angle-units-002.html b/tests/wpt/web-platform-tests/css/css-values/angle-units-002.html new file mode 100644 index 00000000000..ff9cdca17c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values/angle-units-002.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Values and Units Test: degree angle unit with mixed case</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-values-3/#angles"> + <link rel="help" href="https://www.w3.org/TR/CSS22/syndata.html#characters"> + <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> + + <meta content="This test checks that 'deg' angle unit is case-insensitive." name="assert"> + <meta name="flags" content=""> + + <style> + div + { + height: 100px; + width: 100px; + } + + div#test-overlapping-green + { + background-color: red; + background-image: linear-gradient(90DeG, green, green); + } + + div#reference-overlapped-red + { + background-color: red; + bottom: 100px; + position: relative; + z-index: -1; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>. + + <div id="test-overlapping-green"></div> + + <div id="reference-overlapped-red"></div> diff --git a/tests/wpt/web-platform-tests/css/css-values/angle-units-003.html b/tests/wpt/web-platform-tests/css/css-values/angle-units-003.html new file mode 100644 index 00000000000..786d5faed53 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values/angle-units-003.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Values and Units Test: grad angle unit with mixed case</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-values-3/#angles"> + <link rel="help" href="https://www.w3.org/TR/CSS22/syndata.html#characters"> + <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> + + <meta content="This test checks that 'grad' angle unit is case-insensitive." name="assert"> + <meta name="flags" content=""> + + <style> + div + { + height: 100px; + width: 100px; + } + + div#test-overlapping-green + { + background-color: red; + background-image: linear-gradient(100gRaD, green, green); + } + + div#reference-overlapped-red + { + background-color: red; + bottom: 100px; + position: relative; + z-index: -1; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>. + + <div id="test-overlapping-green"></div> + + <div id="reference-overlapped-red"></div> diff --git a/tests/wpt/web-platform-tests/css/css-values/angle-units-004.html b/tests/wpt/web-platform-tests/css/css-values/angle-units-004.html new file mode 100644 index 00000000000..34722a3e000 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values/angle-units-004.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Values and Units Test: rad angle unit with mixed case</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-values-3/#angles"> + <link rel="help" href="https://www.w3.org/TR/CSS22/syndata.html#characters"> + <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> + + <meta content="This test checks that 'rad' angle unit is case-insensitive." name="assert"> + <meta name="flags" content=""> + + <style> + div + { + height: 100px; + width: 100px; + } + + div#test-overlapping-green + { + background-color: red; + background-image: linear-gradient(1.57rAd, green, green); + } + + div#reference-overlapped-red + { + background-color: red; + bottom: 100px; + position: relative; + z-index: -1; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>. + + <div id="test-overlapping-green"></div> + + <div id="reference-overlapped-red"></div> diff --git a/tests/wpt/web-platform-tests/css/css-values/angle-units-005.html b/tests/wpt/web-platform-tests/css/css-values/angle-units-005.html new file mode 100644 index 00000000000..625952abb9b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values/angle-units-005.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Values and Units Test: turn angle unit with mixed case</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-values-3/#angles"> + <link rel="help" href="https://www.w3.org/TR/CSS22/syndata.html#characters"> + <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> + + <meta content="This test checks that 'turn' angle unit is case-insensitive." name="assert"> + <meta name="flags" content=""> + + <style> + div + { + height: 100px; + width: 100px; + } + + div#test-overlapping-green + { + background-color: red; + background-image: linear-gradient(0.25tUrN, green, green); + } + + div#reference-overlapped-red + { + background-color: red; + bottom: 100px; + position: relative; + z-index: -1; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>. + + <div id="test-overlapping-green"></div> + + <div id="reference-overlapped-red"></div> diff --git a/tests/wpt/web-platform-tests/css/css-values/attr-invalid-type-008.html b/tests/wpt/web-platform-tests/css/css-values/attr-invalid-type-008.html new file mode 100644 index 00000000000..a76be44d76a --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values/attr-invalid-type-008.html @@ -0,0 +1,90 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Values and Units Test: attr() function with valid and invalid data types</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link href="http://www.w3.org/TR/css3-values/#attr-notation" rel="help"> + <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> + + <meta name="flags" content="invalid"> + <meta content="When the data type of an attr() function is invalid or when the fallback value does not match the data type, then the attr() function generates an invalid declaration." name="assert"> + + <style> + div + { + height: 50px; + position: relative; + width: 50px; + } + + div#valid1 + { + background-color: green; + width: attr(attr-test-valid1 length); + } + + div#invalid1 + { + background-color: green; + width: 100px; + width: attr(attr-test-invalid1 number, 0); + } + + /* + '0' can be both a number and a length. But here, + in this sub-test, the width CSS property requires + a length type and not a number type. So, the + attr() function generates an invalid declaration. + */ + + div#reference-overlapped-red + { + background-color: red; + bottom: 100px; + height: 100px; + width: 100px; + z-index: -1; + } + + div#invalid2 + { + background-color: red; + bottom: 100px; + width: 0px; + width: attr(attr-test-invalid2 length, 100); + } + + /* + '100' is not a valid length value. + So, the attr() function generates an invalid + declaration. + */ + + div#invalid3 + { + background-color: red; + bottom: 100px; + width: 0px; + width: attr(attr-test-invalid3 number, 100px); + } + + /* + number type is not a valid length value. + So, the attr() function generates an invalid + declaration. + */ + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>. + + <div id="valid1" attr-test-valid1="100px"></div> + + <div id="invalid1" attr-test-invalid1="foo"></div> + + <div id="reference-overlapped-red"></div> + + <div id="invalid2" attr-test-invalid2="bar"></div> + + <div id="invalid3" attr-test-invalid3="baz"></div> diff --git a/tests/wpt/web-platform-tests/css/css-values/calc-positive-fraction-001.html b/tests/wpt/web-platform-tests/css/css-values/calc-positive-fraction-001.html new file mode 100644 index 00000000000..383b4af547b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values/calc-positive-fraction-001.html @@ -0,0 +1,45 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Test: calc() with positive fraction halfway between adjacent integers</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-values-4/#combine-integers"> + <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> + <meta name="flags" content=""> + + <style> + div + { + height: 100px; + position: absolute; + width: 100px; + } + + div#red-overlapped + { + background-color: red; + z-index: 2; + } + + div#green-overlapping + { + background-color: green; + z-index: calc(3 / 2); + /* + should resolve to 'z-index: 2' since "values + halfway between adjacent integers rounded + towards positive infinity" and since + div#green-overlapping is last in document + tree order, then it should overlap + div#red-overlapped + */ + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>. + + <div id="red-overlapped"></div> + + <div id="green-overlapping"></div> diff --git a/tests/wpt/web-platform-tests/css/css-values/ch-unit-008.html b/tests/wpt/web-platform-tests/css/css-values/ch-unit-008.html new file mode 100644 index 00000000000..67fe0754a9e --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values/ch-unit-008.html @@ -0,0 +1,39 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Values and Units Test: ch unit in width (basic)</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-values-3/#font-relative-lengths"> + <link rel="match" href="reference/ch-unit-008-ref.html"> + + <meta name="flags" content=""> + + <style> + div + { + font-size: 80px; /* arbitrary font size */ + } + + div#test-blue + { + background-color: blue; + height: 1.8em; + width: 5ch; + } + + div#reference-orange + { + background-color: orange; + color: orange; + float: left; + line-height: 1.8; /* arbitrary line-height */ + } + </style> + + <p>Test passes if there is a blue rectangle with the <strong>same width</strong> as an orange rectangle. + + <div id="test-blue"></div> + + <div id="reference-orange">00000</div> diff --git a/tests/wpt/web-platform-tests/css/css-values/ch-unit-009.html b/tests/wpt/web-platform-tests/css/css-values/ch-unit-009.html new file mode 100644 index 00000000000..c6f56718a0d --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values/ch-unit-009.html @@ -0,0 +1,40 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Values and Units Test: ch unit in height (basic)</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-values-3/#font-relative-lengths"> + <link rel="match" href="reference/ch-unit-009-ref.html"> + + <meta name="flags" content=""> + + <style> + div + { + float: left; + font-size: 80px; /* arbitrary font size */ + } + + div#test-blue + { + background-color: blue; + height: 5ch; + width: 1.8em; + } + + div#reference-orange + { + background-color: orange; + color: orange; + line-height: 1.8; /* arbitrary line-height */ + writing-mode: vertical-rl; + } + </style> + + <p>Test passes if there is a blue rectangle with the <strong>same height</strong> as an orange rectangle. + + <div id="test-blue"></div> + + <div id="reference-orange">00000</div> diff --git a/tests/wpt/web-platform-tests/css/css-values/ch-unit-010.html b/tests/wpt/web-platform-tests/css/css-values/ch-unit-010.html new file mode 100644 index 00000000000..bc3fdbcb7ce --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values/ch-unit-010.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Values and Units Test: ch unit in height with 'text-orientation: mixed'</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-values-3/#font-relative-lengths"> + <link rel="match" href="reference/ch-unit-009-ref.html"> + + <meta name="flags" content=""> + <meta name="assert" content="In this test, the ch unit is the advance width measure of the 0 (ZERO, U+0030) glyph."> + + <style> + div + { + float: left; + font-size: 80px; /* arbitrary font size */ + text-orientation: mixed; + writing-mode: vertical-rl; + } + + div#test-blue + { + background-color: blue; + height: 5ch; + width: 1.8em; + } + + div#reference-orange + { + background-color: orange; + color: orange; + line-height: 1.8; /* arbitrary line-height */ + } + </style> + + <p>Test passes if there is a blue rectangle with the <strong>same height</strong> as an orange rectangle. + + <div id="test-blue"></div> + + <div id="reference-orange">00000</div> diff --git a/tests/wpt/web-platform-tests/css/css-values/ch-unit-011.html b/tests/wpt/web-platform-tests/css/css-values/ch-unit-011.html new file mode 100644 index 00000000000..c486f0c48ab --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values/ch-unit-011.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Values and Units Test: ch unit in height with 'text-orientation: upright'</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-values-3/#font-relative-lengths"> + <link rel="match" href="reference/ch-unit-011-ref.html"> + + <meta name="flags" content=""> + <meta name="assert" content="In this test, the ch unit is the advance height measure of the 0 (ZERO, U+0030) glyph."> + + <style> + div + { + float: left; + font-size: 80px; /* arbitrary font size */ + text-orientation: upright; + writing-mode: vertical-rl; + } + + div#test-blue + { + background-color: blue; + height: 5ch; + width: 1.8em; + } + + div#reference-orange + { + background-color: orange; + color: orange; + line-height: 1.8; /* arbitrary line-height */ + } + </style> + + <p>Test passes if there is a blue rectangle with the <strong>same height</strong> as an orange rectangle. + + <div id="test-blue"></div> + + <div id="reference-orange">00000</div> diff --git a/tests/wpt/web-platform-tests/css/css-values/ch-unit-012.html b/tests/wpt/web-platform-tests/css/css-values/ch-unit-012.html new file mode 100644 index 00000000000..b844d9b3fa4 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values/ch-unit-012.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Values and Units Test: ch unit in height with 'text-orientation: sideways'</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-values-3/#font-relative-lengths"> + <link rel="match" href="reference/ch-unit-009-ref.html"> + + <meta name="flags" content=""> + <meta name="assert" content="In this test, the ch unit is the advance width measure of the 0 (ZERO, U+0030) glyph."> + + <style> + div + { + float: left; + font-size: 80px; /* arbitrary font size */ + text-orientation: sideways; + writing-mode: vertical-rl; + } + + div#test-blue + { + background-color: blue; + height: 5ch; + width: 1.8em; + } + + div#reference-orange + { + background-color: orange; + color: orange; + line-height: 1.8; /* arbitrary line-height */ + } + </style> + + <p>Test passes if there is a blue rectangle with the <strong>same height</strong> as an orange rectangle. + + <div id="test-blue"></div> + + <div id="reference-orange">00000</div> diff --git a/tests/wpt/web-platform-tests/css/css-values/lh-rlh-on-root-001.html b/tests/wpt/web-platform-tests/css/css-values/lh-rlh-on-root-001.html index 228da4e3897..123218ddd67 100644 --- a/tests/wpt/web-platform-tests/css/css-values/lh-rlh-on-root-001.html +++ b/tests/wpt/web-platform-tests/css/css-values/lh-rlh-on-root-001.html @@ -45,13 +45,13 @@ test(function() { window.document.documentElement.style="font-size: 1lh; line-height: 142px;"; f_s = get_root_font_size(); - assert_approx_equals( f_s, initial_f_s, 1, "the lh unit on the root element's font-size property uses font metrics corresponding to the initial values of the font or line-height properties"); + assert_approx_equals( f_s, initial_l_h, 1, "the lh unit on the root element's font-size property uses font metrics corresponding to the initial values of the font or line-height properties"); }, "lh in font-size on root"); test(function() { window.document.documentElement.style="font-size: 1rlh; line-height: 142px;"; f_s = get_root_font_size(); - assert_approx_equals( f_s, initial_f_s, 1, "the rlh unit on the root element's font-size property uses font metrics corresponding to the initial values of the font or line-height properties"); + assert_approx_equals( f_s, initial_l_h, 1, "the rlh unit on the root element's font-size property uses font metrics corresponding to the initial values of the font or line-height properties"); }, "rlh in font-size on root"); @@ -71,7 +71,7 @@ test(function() { window.document.documentElement.style="font-size: 2lh; line-height: 142px;"; f_s = get_root_font_size(); - assert_approx_equals( f_s, initial_f_s * 2, 1, "the lh unit on the root element's font-size property actually works as a unit and doesn't merely cause a fallback that doesn't take the number of units into account"); + assert_approx_equals( f_s, initial_l_h * 2, 1, "the lh unit on the root element's font-size property actually works as a unit and doesn't merely cause a fallback that doesn't take the number of units into account"); }, "2lh in font-size on root"); test(function() { diff --git a/tests/wpt/web-platform-tests/css/css-values/reference/ch-unit-008-ref.html b/tests/wpt/web-platform-tests/css/css-values/reference/ch-unit-008-ref.html new file mode 100644 index 00000000000..678a9c16954 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values/reference/ch-unit-008-ref.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Values and Units Test Reference File</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + + <style> + div + { + float: left; + font-size: 80px; /* arbitrary font size */ + line-height: 1.8; /* arbitrary line-height */ + } + + div#blue + { + background-color: blue; + color: blue; + } + + div#orange + { + background-color: orange; + color: orange; + clear: left; + } + </style> + + <p>Test passes if there is a blue rectangle with the <strong>same width</strong> as an orange rectangle. + + <div id="blue">00000</div> + + <div id="orange">00000</div> diff --git a/tests/wpt/web-platform-tests/css/css-values/reference/ch-unit-009-ref.html b/tests/wpt/web-platform-tests/css/css-values/reference/ch-unit-009-ref.html new file mode 100644 index 00000000000..6bd69bed09a --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values/reference/ch-unit-009-ref.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Values and Units Test Reference File</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + + <style> + div + { + float: left; + font-size: 80px; /* arbitrary font size */ + line-height: 1.8; /* arbitrary line-height */ + writing-mode: vertical-rl; + } + + div#blue + { + background-color: blue; + color: blue; + } + + div#orange + { + background-color: orange; + color: orange; + } + </style> + + <p>Test passes if there is a blue rectangle with the <strong>same height</strong> as an orange rectangle. + + <div id="blue">00000</div> + + <div id="orange">00000</div> diff --git a/tests/wpt/web-platform-tests/css/css-values/reference/ch-unit-011-ref.html b/tests/wpt/web-platform-tests/css/css-values/reference/ch-unit-011-ref.html new file mode 100644 index 00000000000..78b484fe718 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values/reference/ch-unit-011-ref.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Values and Units Test Reference File</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + + <style> + div + { + float: left; + font-size: 80px; /* arbitrary font size */ + line-height: 1.8; /* arbitrary line-height */ + text-orientation: upright; + writing-mode: vertical-rl; + } + + div#blue + { + background-color: blue; + color: blue; + } + + div#orange + { + background-color: orange; + color: orange; + } + </style> + + <p>Test passes if there is a blue rectangle with the <strong>same height</strong> as an orange rectangle. + + <div id="blue">00000</div> + + <div id="orange">00000</div> diff --git a/tests/wpt/web-platform-tests/fonts/noto/NotoSansMongolian-regular.woff2 b/tests/wpt/web-platform-tests/fonts/noto/NotoSansMongolian-regular.woff2 Binary files differnew file mode 100755 index 00000000000..e34e5474377 --- /dev/null +++ b/tests/wpt/web-platform-tests/fonts/noto/NotoSansMongolian-regular.woff2 diff --git a/tests/wpt/web-platform-tests/fonts/noto/NotoSansNko-regular-webfont.woff2 b/tests/wpt/web-platform-tests/fonts/noto/NotoSansNko-regular-webfont.woff2 Binary files differnew file mode 100755 index 00000000000..780661ba1ca --- /dev/null +++ b/tests/wpt/web-platform-tests/fonts/noto/NotoSansNko-regular-webfont.woff2 diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/elementTiming.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/elementTiming.html.ini deleted file mode 100644 index a06134a6ea4..00000000000 --- a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/elementTiming.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[elementTiming.html] - [TestDriver actions: element timing] - expected: - if product == "chrome": FAIL diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/eventOrder.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/eventOrder.html.ini index 00916c7af3f..bcd78da2444 100644 --- a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/eventOrder.html.ini +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/eventOrder.html.ini @@ -1,7 +1,3 @@ [eventOrder.html] expected: if product == "safari": ERROR - - [TestDriver actions: event order] - expected: - if product == "chrome": FAIL diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/multiDevice.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/multiDevice.html.ini index b9fb2596b95..04b97a7198c 100644 --- a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/multiDevice.html.ini +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/multiDevice.html.ini @@ -1,3 +1,3 @@ [multiDevice.html] expected: - if product == "chrome" or product == "safari": ERROR + if product == "safari": ERROR diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/pause.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/pause.html.ini index 7ceec9f531b..da47a2a0b6f 100644 --- a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/pause.html.ini +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/pause.html.ini @@ -1,7 +1,3 @@ [pause.html] expected: if product == "safari": ERROR - - [TestDriver actions: pause] - expected: - if product == "chrome": FAIL diff --git a/tests/wpt/web-platform-tests/resources/testharness.js b/tests/wpt/web-platform-tests/resources/testharness.js index fb86c580d22..d40817c7d41 100644 --- a/tests/wpt/web-platform-tests/resources/testharness.js +++ b/tests/wpt/web-platform-tests/resources/testharness.js @@ -635,7 +635,7 @@ policies and contribution forms [3]. * which can make it a lot easier to test a very specific series of events, * including ensuring that unexpected events are not fired at any point. */ - function EventWatcher(test, watchedNode, eventTypes) + function EventWatcher(test, watchedNode, eventTypes, timeoutPromise) { if (typeof eventTypes == 'string') { eventTypes = [eventTypes]; @@ -712,6 +712,27 @@ policies and contribution forms [3]. recordedEvents = []; } return new Promise(function(resolve, reject) { + var timeout = test.step_func(function() { + // If the timeout fires after the events have been received + // or during a subsequent call to wait_for, ignore it. + if (!waitingFor || waitingFor.resolve !== resolve) + return; + + // This should always fail, otherwise we should have + // resolved the promise. + assert_true(waitingFor.types.length == 0, + 'Timed out waiting for ' + waitingFor.types.join(', ')); + var result = recordedEvents; + recordedEvents = null; + var resolveFunc = waitingFor.resolve; + waitingFor = null; + resolveFunc(result); + }); + + if (timeoutPromise) { + timeoutPromise().then(timeout); + } + waitingFor = { types: types, resolve: resolve, diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py index 05861ccd2d8..1b4c0b93cbe 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py @@ -417,7 +417,7 @@ class MarionetteCoverageProtocolPart(CoverageProtocolPart): return script = """ - const {PerTestCoverageUtils} = ChromeUtils.import("resource://reftest/PerTestCoverageUtils.jsm"); + const {PerTestCoverageUtils} = ChromeUtils.import("chrome://marionette/content/PerTestCoverageUtils.jsm"); return PerTestCoverageUtils.enabled; """ with self.marionette.using_context(self.marionette.CONTEXT_CHROME): @@ -427,7 +427,7 @@ class MarionetteCoverageProtocolPart(CoverageProtocolPart): script = """ var callback = arguments[arguments.length - 1]; - const {PerTestCoverageUtils} = ChromeUtils.import("resource://reftest/PerTestCoverageUtils.jsm"); + const {PerTestCoverageUtils} = ChromeUtils.import("chrome://marionette/content/PerTestCoverageUtils.jsm"); PerTestCoverageUtils.beforeTest().then(callback, callback); """ with self.marionette.using_context(self.marionette.CONTEXT_CHROME): @@ -447,7 +447,7 @@ class MarionetteCoverageProtocolPart(CoverageProtocolPart): script = """ var callback = arguments[arguments.length - 1]; - const {PerTestCoverageUtils} = ChromeUtils.import("resource://reftest/PerTestCoverageUtils.jsm"); + const {PerTestCoverageUtils} = ChromeUtils.import("chrome://marionette/content/PerTestCoverageUtils.jsm"); PerTestCoverageUtils.afterTest().then(callback, callback); """ with self.marionette.using_context(self.marionette.CONTEXT_CHROME): diff --git a/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/key_events.py b/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/key_events.py index 462688a55e5..c00e3296367 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/key_events.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/key_events.py @@ -1,8 +1,9 @@ # META: timeout=long import pytest +import copy -from tests.perform_actions.support.keys import ALL_EVENTS, Keys +from tests.perform_actions.support.keys import ALL_EVENTS, Keys, ALTERNATIVE_KEY_NAMES from tests.perform_actions.support.refine import filter_dict, get_events, get_keys @@ -31,6 +32,9 @@ def test_modifier_key_sends_correct_events(session, key_reporter, key_chain, key code = ALL_EVENTS[event]["code"] value = ALL_EVENTS[event]["key"] + if session.capabilities["browserName"] == "internet explorer": + key_reporter.click() + session.execute_script("resetEvents();") key_chain \ .key_down(key) \ .key_up(key) \ @@ -72,16 +76,24 @@ def test_non_printable_key_sends_events(session, key_reporter, key_chain, key, e {"code": code, "key": value, "type": "keyup"}, ] + # Make a copy for alternate key property values + # Note: only keydown and keyup are affected by alternate key names + alt_expected = copy.deepcopy(expected) + if event in ALTERNATIVE_KEY_NAMES: + alt_expected[0]["key"] = ALTERNATIVE_KEY_NAMES[event] + alt_expected[2]["key"] = ALTERNATIVE_KEY_NAMES[event] + events = [filter_dict(e, expected[0]) for e in all_events] if len(events) > 0 and events[0]["code"] is None: # Remove 'code' entry if browser doesn't support it expected = [filter_dict(e, {"key": "", "type": ""}) for e in expected] + alt_expected = [filter_dict(e, {"key": "", "type": ""}) for e in alt_expected] events = [filter_dict(e, expected[0]) for e in events] if len(events) == 2: # most browsers don't send a keypress for non-printable keys - assert events == [expected[0], expected[2]] + assert events == [expected[0], expected[2]] or events == [alt_expected[0], alt_expected[2]] else: - assert events == expected + assert events == expected or events == alt_expected assert len(get_keys(key_reporter)) == 0 @@ -177,7 +189,7 @@ def test_special_key_sends_keydown(session, key_reporter, key_chain, name, expec document.body.addEventListener("keydown", function(e) { e.preventDefault() }); """) - if (session.capabilities["browserName"] == 'internet explorer'): + if session.capabilities["browserName"] == "internet explorer": key_reporter.click() session.execute_script("resetEvents();") key_chain.key_down(getattr(Keys, name)).perform() @@ -189,6 +201,11 @@ def test_special_key_sends_keydown(session, key_reporter, key_chain, name, expec del expected["value"] + # make another copy for alternative key names + alt_expected = copy.deepcopy(expected) + if name in ALTERNATIVE_KEY_NAMES: + alt_expected["key"] = ALTERNATIVE_KEY_NAMES[name] + # check and remove keys that aren't in expected assert first_event["type"] == "keydown" assert first_event["repeat"] is False @@ -196,7 +213,8 @@ def test_special_key_sends_keydown(session, key_reporter, key_chain, name, expec if first_event["code"] is None: del first_event["code"] del expected["code"] - assert first_event == expected + del alt_expected["code"] + assert first_event == expected or first_event == alt_expected # only printable characters should be recorded in input field entered_keys = get_keys(key_reporter) if len(expected["key"]) == 1: diff --git a/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/pointer.py b/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/pointer.py index cb270126438..6719272c3f1 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/pointer.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/pointer.py @@ -1,3 +1,5 @@ +# META: timeout=long + import pytest from webdriver.error import NoSuchWindowException diff --git a/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/support/keys.py b/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/support/keys.py index 68e37b34e03..d30ee91b5a6 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/support/keys.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/support/keys.py @@ -740,6 +740,27 @@ ALL_EVENTS = { } } +ALTERNATIVE_KEY_NAMES = { + "ADD": "Add", + "DECIMAL": "Decimal", + "DELETE": "Del", + "DIVIDE": "Divide", + "DOWN": "Down", + "ESCAPE": "Esc", + "LEFT": "Left", + "MULTIPLY": "Multiply", + "R_ARROWDOWN": "Down", + "R_ARROWLEFT": "Left", + "R_ARROWRIGHT": "Right", + "R_ARROWUP": "Up", + "R_DELETE": "Del", + "RIGHT": "Right", + "SEPARATOR": "Separator", + "SPACE": "Spacebar", + "SUBTRACT": "Subtract", + "UP": "Up", +} + if sys.platform == "darwin": MODIFIER_KEY = Keys.META else: |