diff options
118 files changed, 3266 insertions, 700 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index ff26064544b..15857a491b3 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -115165,6 +115165,18 @@ {} ] ], + "css/css-flexbox/flex-minimum-height-flex-items-011.xht": [ + [ + "/css/css-flexbox/flex-minimum-height-flex-items-011.xht", + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "css/css-flexbox/flex-minimum-width-flex-items-001.xht": [ [ "/css/css-flexbox/flex-minimum-width-flex-items-001.xht", @@ -118533,6 +118545,18 @@ {} ] ], + "css/css-fonts/font-feature-resolution-001.html": [ + [ + "/css/css-fonts/font-feature-resolution-001.html", + [ + [ + "/css/css-fonts/font-feature-resolution-001-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-fonts/font-feature-settings-descriptor-01.html": [ [ "/css/css-fonts/font-feature-settings-descriptor-01.html", @@ -139765,18 +139789,6 @@ {} ] ], - "css/css-text/white-space/break-spaces-003.html": [ - [ - "/css/css-text/white-space/break-spaces-003.html", - [ - [ - "/css/css-text/white-space/reference/pre-wrap-001-ref.html", - "==" - ] - ], - {} - ] - ], "css/css-text/white-space/control-chars-000.html": [ [ "/css/css-text/white-space/control-chars-000.html", @@ -140713,18 +140725,6 @@ {} ] ], - "css/css-text/white-space/textarea-break-spaces-003.html": [ - [ - "/css/css-text/white-space/textarea-break-spaces-003.html", - [ - [ - "/css/css-text/white-space/reference/textarea-pre-wrap-001-ref.html", - "==" - ] - ], - {} - ] - ], "css/css-text/white-space/textarea-pre-wrap-001.html": [ [ "/css/css-text/white-space/textarea-pre-wrap-001.html", @@ -141805,6 +141805,18 @@ {} ] ], + "css/css-transforms/dynamic-fixed-pos-cb-change.html": [ + [ + "/css/css-transforms/dynamic-fixed-pos-cb-change.html", + [ + [ + "/css/css-transforms/dynamic-fixed-pos-cb-change-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-transforms/external-styles/svg-external-styles-001.html": [ [ "/css/css-transforms/external-styles/svg-external-styles-001.html", @@ -155441,6 +155453,30 @@ {} ] ], + "css/css-will-change/will-change-abspos-cb-001.html": [ + [ + "/css/css-will-change/will-change-abspos-cb-001.html", + [ + [ + "/css/css-will-change/will-change-abspos-cb-001-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-will-change/will-change-abspos-cb-dynamic-001.html": [ + [ + "/css/css-will-change/will-change-abspos-cb-dynamic-001.html", + [ + [ + "/css/css-will-change/will-change-abspos-cb-001-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-will-change/will-change-will-change-1.html": [ [ "/css/css-will-change/will-change-will-change-1.html", @@ -224997,16 +225033,6 @@ {} ] ], - "cookies/http-state/resources/test-files/disabled-chromium0023-expected": [ - [ - {} - ] - ], - "cookies/http-state/resources/test-files/disabled-chromium0023-test": [ - [ - {} - ] - ], "cookies/http-state/resources/test-files/disabled-path0029-expected": [ [ {} @@ -252272,6 +252298,11 @@ {} ] ], + "css/css-fonts/font-feature-resolution-001-ref.html": [ + [ + {} + ] + ], "css/css-fonts/font-feature-settings-descriptor-01-ref.html": [ [ {} @@ -267682,6 +267713,11 @@ {} ] ], + "css/css-transforms/dynamic-fixed-pos-cb-change-ref.html": [ + [ + {} + ] + ], "css/css-transforms/external-styles/reference/svg-external-styles-ref.html": [ [ {} @@ -271047,6 +271083,11 @@ {} ] ], + "css/css-will-change/will-change-abspos-cb-001-ref.html": [ + [ + {} + ] + ], "css/css-writing-modes/META.yml": [ [ {} @@ -282447,6 +282488,11 @@ {} ] ], + "feature-policy/experimental-features/layout-animations-disabled-tentative.html.headers": [ + [ + {} + ] + ], "feature-policy/experimental-features/lazyload/lazyload-disabled-image-tentative.sub.html.headers": [ [ {} @@ -295117,6 +295163,16 @@ {} ] ], + "infrastructure/metadata/infrastructure/assumptions/allowed-to-play.html.ini": [ + [ + {} + ] + ], + "infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini": [ + [ + {} + ] + ], "infrastructure/metadata/infrastructure/browsers/firefox/__dir__.ini": [ [ {} @@ -295167,6 +295223,26 @@ {} ] ], + "infrastructure/metadata/infrastructure/server/context.any.js.ini": [ + [ + {} + ] + ], + "infrastructure/metadata/infrastructure/server/order-of-metas.any.js.ini": [ + [ + {} + ] + ], + "infrastructure/metadata/infrastructure/server/secure-context.https.any.js.ini": [ + [ + {} + ] + ], + "infrastructure/metadata/infrastructure/server/title.any.js.ini": [ + [ + {} + ] + ], "infrastructure/metadata/infrastructure/testdriver/actions/elementPosition.html.ini": [ [ {} @@ -304382,11 +304458,6 @@ {} ] ], - "server-timing/test_server_timing.html.sub.headers": [ - [ - {} - ] - ], "server-timing/test_server_timing.https.html.sub.headers": [ [ {} @@ -340847,6 +340918,12 @@ {} ] ], + "css/css-transforms/animation/list-interpolation.html": [ + [ + "/css/css-transforms/animation/list-interpolation.html", + {} + ] + ], "css/css-transforms/animation/rotate-interpolation.html": [ [ "/css/css-transforms/animation/rotate-interpolation.html", @@ -344605,6 +344682,12 @@ {} ] ], + "css/cssom-view/inheritance.html": [ + [ + "/css/cssom-view/inheritance.html", + {} + ] + ], "css/cssom-view/interfaces.html": [ [ "/css/cssom-view/interfaces.html", @@ -358115,6 +358198,18 @@ {} ] ], + "feature-policy/experimental-features/layout-animations-disabled-tentative.html": [ + [ + "/feature-policy/experimental-features/layout-animations-disabled-tentative.html", + {} + ] + ], + "feature-policy/experimental-features/layout-animations-enabled-tentative.html": [ + [ + "/feature-policy/experimental-features/layout-animations-enabled-tentative.html", + {} + ] + ], "feature-policy/experimental-features/lazyload/lazyload-disabled-image-tentative.sub.html": [ [ "/feature-policy/experimental-features/lazyload/lazyload-disabled-image-tentative.sub.html", @@ -367181,6 +367276,12 @@ {} ] ], + "html/semantics/embedded-content/the-object-element/object-fallback-failed-cross-origin-navigation.sub.html": [ + [ + "/html/semantics/embedded-content/the-object-element/object-fallback-failed-cross-origin-navigation.sub.html", + {} + ] + ], "html/semantics/embedded-content/the-object-element/object-fallback.html": [ [ "/html/semantics/embedded-content/the-object-element/object-fallback.html", @@ -373707,6 +373808,12 @@ {} ] ], + "infrastructure/assumptions/allowed-to-play.html": [ + [ + "/infrastructure/assumptions/allowed-to-play.html", + {} + ] + ], "infrastructure/assumptions/cookie.html": [ [ "/infrastructure/assumptions/cookie.html", @@ -388480,7 +388587,9 @@ "payment-request/rejects_if_not_active.https.html": [ [ "/payment-request/rejects_if_not_active.https.html", - {} + { + "testdriver": true + } ] ], "performance-timeline/case-sensitivity.any.js": [ @@ -398711,25 +398820,19 @@ {} ] ], - "server-timing/cross_origin.html": [ + "server-timing/cross_origin.https.html": [ [ - "/server-timing/cross_origin.html", + "/server-timing/cross_origin.https.html", {} ] ], - "server-timing/idlharness.any.js": [ + "server-timing/idlharness.https.any.js": [ [ - "/server-timing/idlharness.any.html", + "/server-timing/idlharness.https.any.html", {} ], [ - "/server-timing/idlharness.any.worker.html", - {} - ] - ], - "server-timing/navigation_timing_idl.html": [ - [ - "/server-timing/navigation_timing_idl.html", + "/server-timing/idlharness.https.any.worker.html", {} ] ], @@ -398739,24 +398842,12 @@ {} ] ], - "server-timing/resource_timing_idl.html": [ - [ - "/server-timing/resource_timing_idl.html", - {} - ] - ], "server-timing/resource_timing_idl.https.html": [ [ "/server-timing/resource_timing_idl.https.html", {} ] ], - "server-timing/server_timing_header-parsing.html": [ - [ - "/server-timing/server_timing_header-parsing.html", - {} - ] - ], "server-timing/server_timing_header-parsing.https.html": [ [ "/server-timing/server_timing_header-parsing.https.html", @@ -398769,12 +398860,6 @@ {} ] ], - "server-timing/test_server_timing.html": [ - [ - "/server-timing/test_server_timing.html", - {} - ] - ], "server-timing/test_server_timing.https.html": [ [ "/server-timing/test_server_timing.https.html", @@ -407015,9 +407100,9 @@ {} ] ], - "webmidi/idlharness.window.js": [ + "webmidi/idlharness.https.window.js": [ [ - "/webmidi/idlharness.window.html", + "/webmidi/idlharness.https.window.html", {} ] ], @@ -444753,7 +444838,7 @@ "testharness" ], "background-fetch/fetch.https.window.js": [ - "c5fa18725a5dc37e847dd80b47dff67daf0775dd", + "aee777d986e4b394dcbc98a3d901daa6074c836b", "testharness" ], "background-fetch/get-ids.https.window.js": [ @@ -444797,7 +444882,7 @@ "support" ], "background-fetch/service_workers/sw.js": [ - "1c4fb10f05260f23b693aa25d3bcf4624bfdaaa0", + "80b479291ea11d72dd2dca93ba83b002d44f52a7", "support" ], "background-fetch/update-ui.https.window.js": [ @@ -466733,7 +466818,7 @@ "testharness" ], "cookies/http-state/chromium-tests.html": [ - "e5d745e03909d0595a69c9849d1bf39ba15f4e8e", + "d9e1d28623f5d6ef64815793dd9ecf4df23072dd", "testharness" ], "cookies/http-state/comma-tests.html": [ @@ -467481,14 +467566,6 @@ "support" ], "cookies/http-state/resources/test-files/disabled-chromium0022-test": [ - "1a8f35ffbd849ebd836c4b41a97a9f6fa4113d4b", - "support" - ], - "cookies/http-state/resources/test-files/disabled-chromium0023-expected": [ - "8ac13216032b9cafd3efede3d47b9f9747047759", - "support" - ], - "cookies/http-state/resources/test-files/disabled-chromium0023-test": [ "76a8ed4e9b8725200a3e282eeac1062ce3b9c570", "support" ], @@ -537477,7 +537554,7 @@ "reftest" ], "css/css-flexbox/flex-flexitem-percentage-prescation.html": [ - "6fc108169dc11ef6ab0e324d7e33dde52a56e182", + "713d405583039a0064ce6c9ec0a23aae6a042ebc", "reftest" ], "css/css-flexbox/flex-flow-001-ref.html": [ @@ -537652,6 +537729,10 @@ "482c062d8df96d5521b6d763bc27d89ec1698e47", "testharness" ], + "css/css-flexbox/flex-minimum-height-flex-items-011.xht": [ + "19ba83af4049057b468aa1444d59c28d414e2f43", + "reftest" + ], "css/css-flexbox/flex-minimum-width-flex-items-001.xht": [ "b8e2866edaa46af46900c287238894cd8ddef24c", "reftest" @@ -539881,7 +539962,7 @@ "support" ], "css/css-flexbox/reference/flex-flexitem-percentage-prescation-ref.html": [ - "0df65aacc4a01632d0c68467297e6f00e7e30145", + "ccf4616a603e0939a9184402559897162f393394", "support" ], "css/css-flexbox/reference/flex-items-flexibility.html": [ @@ -540544,6 +540625,14 @@ "6937b1719357cb91e5c99bf921ffd62169a71555", "support" ], + "css/css-fonts/font-feature-resolution-001-ref.html": [ + "db41a32f2515c1356fdf869c7bc591b7c2e378b2", + "support" + ], + "css/css-fonts/font-feature-resolution-001.html": [ + "6d066176622b2880d6fc1c026cf5784770d5da2d", + "reftest" + ], "css/css-fonts/font-feature-settings-descriptor-01-ref.html": [ "4a1723e690882650361410bb8af55dab7cbb3b73", "support" @@ -552685,7 +552774,7 @@ "support" ], "css/css-multicol/multicol-gap-fraction-001.xht": [ - "2c74e0db2c51dfc179ff0c582e01de11481f8df8", + "6f9f252bbae796fb7aa2dc1a0da8839ff70bf988", "reftest" ], "css/css-multicol/multicol-gap-fraction-002.html": [ @@ -552705,11 +552794,11 @@ "support" ], "css/css-multicol/multicol-gap-large-002.xht": [ - "2eaddc42e8a3ef1cdf790c72635720c775fb6fc7", + "2aef1cbcca205ae7df3d7d65dd55260c23c8fdd8", "reftest" ], "css/css-multicol/multicol-gap-negative-001.xht": [ - "d9efa0e84a2b6b7b111f2ad8c7dc0f60c80f6936", + "c91b6970c2364f2a3e9c9b28e5cc5e427782fa9b", "reftest" ], "css/css-multicol/multicol-gap-percentage-001.html": [ @@ -552737,7 +552826,7 @@ "support" ], "css/css-multicol/multicol-inherit-001.xht": [ - "8e19318b0c60eb3c0d3100e112016cd845304c03", + "c8fbab6fd932d8919e51188df8ea6331524d0435", "reftest" ], "css/css-multicol/multicol-inherit-002-ref.xht": [ @@ -552777,7 +552866,7 @@ "support" ], "css/css-multicol/multicol-margin-child-001.xht": [ - "0e9abdf076a95278df93111e784b6a72c60c768b", + "7252d8f192a74165ef5786e8b112e85dd7228b9e", "reftest" ], "css/css-multicol/multicol-nested-002-ref.xht": [ @@ -552873,7 +552962,7 @@ "support" ], "css/css-multicol/multicol-rule-000.xht": [ - "afff091f307cc47e0b1e50b6e210877e8e5b4098", + "b4010acae32207bfa94280ef1813ba07272f467e", "reftest" ], "css/css-multicol/multicol-rule-001-ref.xht": [ @@ -552893,7 +552982,7 @@ "support" ], "css/css-multicol/multicol-rule-003.xht": [ - "86765d13cc3af5d847298c50684b1c5c938be68b", + "a0390bfcce55f16d45cf78dfa791ff32468db1c9", "reftest" ], "css/css-multicol/multicol-rule-004-ref.xht": [ @@ -552909,7 +552998,7 @@ "support" ], "css/css-multicol/multicol-rule-color-001.xht": [ - "ad2af9e1da1f8363bec02dda316130e5e46abe8d", + "94015bb4482d375be96f382e2d61149316d02c9a", "reftest" ], "css/css-multicol/multicol-rule-color-inherit-001-ref.xht": [ @@ -552929,7 +553018,7 @@ "support" ], "css/css-multicol/multicol-rule-dashed-000.xht": [ - "126c7373733b04aaff9edb510d7be0b925ba3582", + "09ba93c2ef74ab5fa99b26fa78d6e7d354633406", "reftest" ], "css/css-multicol/multicol-rule-dotted-000-ref.xht": [ @@ -552937,7 +553026,7 @@ "support" ], "css/css-multicol/multicol-rule-dotted-000.xht": [ - "3c9f15780b52ba146d345f4a2bfe197e1e1b68f6", + "cd903b7c8ddaf5c4f189593af57bb4387bbfe579", "reftest" ], "css/css-multicol/multicol-rule-double-000-ref.xht": [ @@ -552945,7 +553034,7 @@ "support" ], "css/css-multicol/multicol-rule-double-000.xht": [ - "50af31cc40ccdf9f010b5b6757ec5e2b31e34cbe", + "aed6522f0bf59239edf53ca7b70cf7192df62fe8", "reftest" ], "css/css-multicol/multicol-rule-fraction-001-ref.xht": [ @@ -552953,7 +553042,7 @@ "support" ], "css/css-multicol/multicol-rule-fraction-001.xht": [ - "dac437dcd28e518ce159d648dbff86fbe68c8d33", + "201e96fd9a1ecdeaba2b6adb23b210686f5559c7", "reftest" ], "css/css-multicol/multicol-rule-fraction-002-ref.xht": [ @@ -552977,7 +553066,7 @@ "support" ], "css/css-multicol/multicol-rule-groove-000.xht": [ - "65a23bc6bfaee6409e0417448fc3b34cceac776c", + "367bd4cc2b038a08ee375a685062aab37947878a", "reftest" ], "css/css-multicol/multicol-rule-hidden-000-ref.xht": [ @@ -552985,7 +553074,7 @@ "support" ], "css/css-multicol/multicol-rule-hidden-000.xht": [ - "a9648dd77eedb8cb5d49c937e21327f565e5cdd0", + "25c2e6a5c72e10add2c93dd38bf10a527f097979", "reftest" ], "css/css-multicol/multicol-rule-inset-000.xht": [ @@ -553005,7 +553094,7 @@ "visual" ], "css/css-multicol/multicol-rule-none-000.xht": [ - "d7cabd77107a742d0b9ac126d5acc490d017a32e", + "b885dade20de9e7cb7c3e9b3a30ef15534d660ca", "reftest" ], "css/css-multicol/multicol-rule-outset-000.xht": [ @@ -553017,7 +553106,7 @@ "reftest" ], "css/css-multicol/multicol-rule-px-001.xht": [ - "5df291a1922a6c4083bd573b90bbcdb74ccf87b3", + "a42d451dce5252c46a339c60965431cfc1e3c909", "reftest" ], "css/css-multicol/multicol-rule-ref.xht": [ @@ -553029,7 +553118,7 @@ "support" ], "css/css-multicol/multicol-rule-ridge-000.xht": [ - "4cfb2369108b529dd534e5fe7a4305d89a9589f7", + "6d121cd067418b17323bacfec8aef6c43d3053e1", "reftest" ], "css/css-multicol/multicol-rule-samelength-001-ref.xht": [ @@ -553037,11 +553126,11 @@ "support" ], "css/css-multicol/multicol-rule-samelength-001.xht": [ - "e7eab8e8d47a65e9b1cd15ea3985ee81a241f387", + "4d6710b2335e7eaf6b98e37b12143c90a45441e2", "reftest" ], "css/css-multicol/multicol-rule-shorthand-001.xht": [ - "c35d4fdba046efef3299b7af6ee003c439fbc4c9", + "d24c1e398d4dbfadf3ae44f2703774de511b20d8", "reftest" ], "css/css-multicol/multicol-rule-shorthand-2-ref.xht": [ @@ -553049,7 +553138,7 @@ "support" ], "css/css-multicol/multicol-rule-shorthand-2.xht": [ - "4e4d94f8e83bf18b4d1cd112755abf7827167565", + "36ae072c47c0a7236136eb5199cf8a2386c855f0", "reftest" ], "css/css-multicol/multicol-rule-solid-000-ref.xht": [ @@ -553057,11 +553146,11 @@ "support" ], "css/css-multicol/multicol-rule-solid-000.xht": [ - "6553b131f4d9e9f9125f8e33a50760dee779f92d", + "1d61790a2e38963668f167b8b6dbe86f578df60d", "reftest" ], "css/css-multicol/multicol-rule-stacking-001.xht": [ - "2794e97269463997db9ce36b7cb7d97b9eea4554", + "104883990c0df17d0f40e17776c4f8d45d57df08", "reftest" ], "css/css-multicol/multicol-rule-stacking-ref.xht": [ @@ -553069,7 +553158,7 @@ "support" ], "css/css-multicol/multicol-shorthand-001.xht": [ - "c9bfdc4148237641fb12d73b304464e966b2fbb8", + "b1e9ce932d257f111ab7d292deb643aa8b8ff962", "reftest" ], "css/css-multicol/multicol-span-000-ref.xht": [ @@ -553077,7 +553166,7 @@ "support" ], "css/css-multicol/multicol-span-000.xht": [ - "a5d11162ab1bab6c3e617cecd1515a3ca5c487fd", + "ea3306ad842cf475c0bbddd22f1f21d87f1b28eb", "reftest" ], "css/css-multicol/multicol-span-all-001-ref.xht": [ @@ -553085,7 +553174,7 @@ "support" ], "css/css-multicol/multicol-span-all-001.xht": [ - "a5d47812723e50aaa2dcd6cf1131b4c0bc52d978", + "4790674850d9a51e807820d43dd5568c844e830a", "reftest" ], "css/css-multicol/multicol-span-all-002-ref.xht": [ @@ -553093,7 +553182,7 @@ "support" ], "css/css-multicol/multicol-span-all-002.xht": [ - "6bd26d704124cd4a76bb0aec836f4c77d3139559", + "43fb1fa562bc6853de1495f1ef91e9a1482de007", "reftest" ], "css/css-multicol/multicol-span-all-003.xht": [ @@ -553101,7 +553190,7 @@ "reftest" ], "css/css-multicol/multicol-span-all-block-sibling-003.xht": [ - "f887d758e6aa29dd365a9d3c225e0f032c13ed48", + "bd2cdd6cdab0fc15c2e16e2237f6b025230332c4", "reftest" ], "css/css-multicol/multicol-span-all-block-sibling-3-ref.xht": [ @@ -553113,7 +553202,7 @@ "support" ], "css/css-multicol/multicol-span-all-margin-001.xht": [ - "4ffc89eeb6b4eb8d98149d554d8ad5ea03910231", + "d57ce2343276854cb15e18656556d4106ad5e9c7", "reftest" ], "css/css-multicol/multicol-span-all-margin-002-ref.xht": [ @@ -553121,7 +553210,7 @@ "support" ], "css/css-multicol/multicol-span-all-margin-002.xht": [ - "27cf310f57c60d55383b26055f314b4efa53ff77", + "c0386abfb965fc037dafbc5454e72cdc6a342e3b", "reftest" ], "css/css-multicol/multicol-span-all-margin-bottom-001-ref.xht": [ @@ -553129,7 +553218,7 @@ "support" ], "css/css-multicol/multicol-span-all-margin-bottom-001.xht": [ - "b9571bd7a2e539e881d9f337a71ad8f4ebbe73fc", + "14fae6b819ba04938c8a76ea8ecfcdb1f5b0d5bd", "reftest" ], "css/css-multicol/multicol-span-all-margin-nested-001-ref.xht": [ @@ -553189,7 +553278,7 @@ "reftest" ], "css/css-multicol/multicol-table-cell-vertical-align-001.xht": [ - "a9176da4c6241c974a2a17792a25145d2c67ec13", + "30b0f0339efadac6fde9bcbf0cd880a0e866d10a", "reftest" ], "css/css-multicol/multicol-table-cell-vertical-align-ref.xht": [ @@ -553201,7 +553290,7 @@ "support" ], "css/css-multicol/multicol-under-vertical-rl-scroll.html": [ - "f96a26ae77be3b8171335f07efefce4bc0bef937", + "61754e7d29d2d5399e6b41ceb27fe25af3b8019c", "reftest" ], "css/css-multicol/multicol-width-001-ref.xht": [ @@ -554709,7 +554798,7 @@ "testharness" ], "css/css-properties-values-api/register-property-syntax-parsing.html": [ - "c0bebb07da6aa3e560b7f6ca9afbcc3db974f2a8", + "4ce514f01c87917d2e5aac4d402176ba88daf5a0", "testharness" ], "css/css-properties-values-api/register-property.html": [ @@ -563764,10 +563853,6 @@ "dd9b9919fbb73ec843b5480bba3b7bfb21ed873f", "reftest" ], - "css/css-text/white-space/break-spaces-003.html": [ - "58ec3f3cbd94b01dc15531308355cab3c42cc318", - "reftest" - ], "css/css-text/white-space/control-chars-000.html": [ "b038fe9a90d3b8b9cb3bde7fd46396c7121688c9", "reftest" @@ -564184,10 +564269,6 @@ "f5fe98c1c2b061e03c1bbf4c315a72d4c72a1d46", "reftest" ], - "css/css-text/white-space/textarea-break-spaces-003.html": [ - "364c4f522cd95d9ddeafea31dfdbc5b56ee8435f", - "reftest" - ], "css/css-text/white-space/textarea-pre-wrap-001.html": [ "6c7f605e6e2b67849327cb5098674f54ef9383df", "reftest" @@ -564592,6 +564673,10 @@ "33c1fce3379cc08c33a5641ea0b88864735dcd0c", "support" ], + "css/css-transforms/animation/list-interpolation.html": [ + "91092c88aac0747dabf54934381478f9dc8fac66", + "testharness" + ], "css/css-transforms/animation/resources/interpolation-testcommon.js": [ "5ab5551152e97b5c76c653aebf44aec9d27a825f", "support" @@ -564816,6 +564901,14 @@ "c81d820e54b41c557da519b5a111f4d2d1ec987a", "reftest" ], + "css/css-transforms/dynamic-fixed-pos-cb-change-ref.html": [ + "57c86e1d76c1a4eba610cddd143b2f5e71bc30a4", + "support" + ], + "css/css-transforms/dynamic-fixed-pos-cb-change.html": [ + "46e26bfc9eb95fd957cbd2339ea02f7f746c9e0f", + "reftest" + ], "css/css-transforms/external-styles/reference/svg-external-styles-ref.html": [ "3a953420308986668b4114fc496d81a072f7c68a", "support" @@ -575180,6 +575273,18 @@ "8d265f24986c7af2b08a26741bbfa56f321bfbb3", "support" ], + "css/css-will-change/will-change-abspos-cb-001-ref.html": [ + "f81b9d2a2947bdaa5fd2d33dd9dd5f59dc730a11", + "support" + ], + "css/css-will-change/will-change-abspos-cb-001.html": [ + "d59e443310fa84f94533c7b18ce67d6c82cf1fc7", + "reftest" + ], + "css/css-will-change/will-change-abspos-cb-dynamic-001.html": [ + "d2503256bcfe2336068914fb780463d4987608b5", + "reftest" + ], "css/css-will-change/will-change-inherit-dynamic.html": [ "b01844aea5c66eb2f4d0e7698ab9032d8ddb1079", "testharness" @@ -582044,6 +582149,10 @@ "e4413a7388a7a0463264a002985ef2525ec6034b", "support" ], + "css/cssom-view/inheritance.html": [ + "8c381e7119c9408f4d11ee77c0d7f8065dd08464", + "testharness" + ], "css/cssom-view/interfaces.html": [ "d3de0cfa595381e0b7c0f3188ac9322ef10608f5", "testharness" @@ -583821,7 +583930,7 @@ "support" ], "css/motion/animation/resources/interpolation-testcommon.js": [ - "be86c438986eee52a69671df96f6e7b5da592f6e", + "6933733e1970d06fd5473b74f7ba63a9a821624a", "support" ], "css/motion/offset-anchor-transform-box-fill-box-ref.html": [ @@ -595629,7 +595738,7 @@ "support" ], "docs/_running-tests/index.md": [ - "c9e030f832583f262b6d614fcbc5b246c012735e", + "48d7f8dad77d84425c4b7c725272844a6f1b4a66", "support" ], "docs/_running-tests/safari.md": [ @@ -595653,7 +595762,7 @@ "support" ], "docs/_writing-tests/file-names.md": [ - "797b7d333b0ed4ae058a744aa4ac393fb5f60e45", + "678be7108b145c8713f66723c021f566149e9265", "support" ], "docs/_writing-tests/general-guidelines.md": [ @@ -595701,7 +595810,7 @@ "support" ], "docs/_writing-tests/testdriver.md": [ - "91686ce7f54975f97464c9b1eec3858bbda6f379", + "9a912fe0327a98a77b400411ad65e542556f7797", "support" ], "docs/_writing-tests/testharness-api.md": [ @@ -600460,6 +600569,18 @@ "db2dcbc1929b9e1264855e9b80f77dfbda5d4f38", "support" ], + "feature-policy/experimental-features/layout-animations-disabled-tentative.html": [ + "993aa0d5dc9407188725f305a3325acea5855971", + "testharness" + ], + "feature-policy/experimental-features/layout-animations-disabled-tentative.html.headers": [ + "7c441bbba555d9da8c2cfc34de2ddaf2a52074f4", + "support" + ], + "feature-policy/experimental-features/layout-animations-enabled-tentative.html": [ + "cf396e9022344f059223421808dd36c7e67b3a54", + "testharness" + ], "feature-policy/experimental-features/lazyload/lazyload-disabled-image-tentative.sub.html": [ "0d46d2f26625ea0013828c52466c194c8ca1c9e4", "testharness" @@ -601165,7 +601286,7 @@ "testharness" ], "fetch/api/headers/header-values-normalize.html": [ - "30e7a58b36d9d26b3773744e15b16d701e014faa", + "64be98af934eb0d1656cfb53376d7cbf4c0eff6a", "testharness" ], "fetch/api/headers/header-values.html": [ @@ -601625,7 +601746,7 @@ "support" ], "fetch/api/resources/inspect-headers.py": [ - "b6840cf021ad461f310707283c76ab92b25647db", + "10a12eb883a17c701d909cde650799f21ec898c1", "support" ], "fetch/api/resources/keepalive-iframe.html": [ @@ -613105,7 +613226,7 @@ "testharness" ], "html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html": [ - "0548e70722a4df55c3c4211ed09296af05a75839", + "4a2217057e6c580f2cab91753fb2c37e7001d039", "testharness" ], "html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/remove-from-document.html": [ @@ -616308,6 +616429,10 @@ "4ead6f56b19df1ec774f056985bb67d05c784e99", "testharness" ], + "html/semantics/embedded-content/the-object-element/object-fallback-failed-cross-origin-navigation.sub.html": [ + "d2190cc7af81e0db493fe03234cdae36dcf2b5ee", + "testharness" + ], "html/semantics/embedded-content/the-object-element/object-fallback.html": [ "d5469a3edc140dd8ce4250bfc665be8ce78e9c94", "testharness" @@ -622436,6 +622561,10 @@ "068c1d4dee605a7a9f3ed4a0fd282779449712bb", "reftest" ], + "infrastructure/assumptions/allowed-to-play.html": [ + "bfa5729371f24daf338ae4fcc57ceb87a369eb38", + "testharness" + ], "infrastructure/assumptions/blank.html": [ "6d8da5e89ce644d74790ef97856709cc9bfe3d80", "reftest" @@ -622504,6 +622633,14 @@ "29ff348a9af645ff59d860e91af9534e64a606c5", "testharness" ], + "infrastructure/metadata/infrastructure/assumptions/allowed-to-play.html.ini": [ + "ef6b2edc6089bfc985fd06c6257774909bb7fc43", + "support" + ], + "infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini": [ + "7751a227dfc592d20585d4e562b552de6149de1d", + "support" + ], "infrastructure/metadata/infrastructure/browsers/firefox/__dir__.ini": [ "3e0ed18107c6b7ca31c6ead08b107b5ffbf28684", "support" @@ -622544,20 +622681,36 @@ "0d1b9bade95d7b101c8dbf51547ffbaec2260c27", "support" ], + "infrastructure/metadata/infrastructure/server/context.any.js.ini": [ + "30d04b39cf25ac2b054bd77bf70ee834a2ae89c0", + "support" + ], + "infrastructure/metadata/infrastructure/server/order-of-metas.any.js.ini": [ + "39bc08956f4cd27fe16537608024936872f04c1a", + "support" + ], + "infrastructure/metadata/infrastructure/server/secure-context.https.any.js.ini": [ + "f2737bf3f67804a2bbf1efaef7349ee6af274d76", + "support" + ], + "infrastructure/metadata/infrastructure/server/title.any.js.ini": [ + "f2e268dcf509f8c3385f1249efea10e6c9bfeba2", + "support" + ], "infrastructure/metadata/infrastructure/testdriver/actions/elementPosition.html.ini": [ - "a3a9625fceed767373967ec2d0b1e4b8a2e66b27", + "6644d52d1ff5f9faa1101c539afd35e6e94be182", "support" ], "infrastructure/metadata/infrastructure/testdriver/actions/elementTiming.html.ini": [ - "7a6cf82bbd3aad03ac3367e8a9b5e20e5aab1c25", + "85dbe11a7afd299aa51fa3da49f4e2e3c8037533", "support" ], "infrastructure/metadata/infrastructure/testdriver/actions/eventOrder.html.ini": [ - "b809f4ebf61befb4df32e747637a39ad72622f61", + "bfb5c0ae4bd5350c6a540fa48a5d2896d5be9503", "support" ], "infrastructure/metadata/infrastructure/testdriver/actions/multiDevice.html.ini": [ - "889e1f4b86bafc2065ed3f4208f74740b08968fe", + "642d0cd21dbb3ab918ab829529cb2fe04c7e7618", "support" ], "infrastructure/reftest-wait-ref.html": [ @@ -622881,7 +623034,7 @@ "support" ], "interfaces/csp-embedded-enforcement.idl": [ - "a213fe1c31d93fc52f29bb2af73918d4abaaeae0", + "167bc96eb53c5d1e67f34b1cc39622a30d30a7f8", "support" ], "interfaces/css-animations.idl": [ @@ -623125,7 +623278,7 @@ "support" ], "interfaces/payment-request.idl": [ - "843c66107b34bbb90aa64411487a09b2fa95e508", + "0795c03627da479992512c334e5b395a81c237dc", "support" ], "interfaces/performance-timeline.idl": [ @@ -623209,7 +623362,7 @@ "support" ], "interfaces/service-workers.idl": [ - "ed02af117172c654ec41b45281803e3c4d5441f4", + "fb2e033a7aa06b2191eb93354cf7f4e56a54ccf3", "support" ], "interfaces/shape-detection-api.idl": [ @@ -623301,7 +623454,7 @@ "support" ], "interfaces/webmidi.idl": [ - "769433b19b31e5c534f19d82810635e2e22d38e9", + "aa2ac7f297b9b6e5d13a34d44ef772a471059f9d", "support" ], "interfaces/webrtc-dscp.idl": [ @@ -635241,11 +635394,11 @@ "testharness" ], "payment-request/payment-request-abort-method.https.html": [ - "522411b542a6d3a8a6a9e6488ab11a29454840d9", + "64886a6b7cc91b3aa05a34e6f8650808d3f1ab0b", "testharness" ], "payment-request/payment-request-canmakepayment-method.https.html": [ - "617bd6e4834011937915e8e22bbf18b3af217c78", + "2943c2da688fae9257b663395ae3388287549750", "testharness" ], "payment-request/payment-request-constructor-crash.https.html": [ @@ -635353,7 +635506,7 @@ "manual" ], "payment-request/rejects_if_not_active.https.html": [ - "063d31b138609cfaaec6bd3bdcf405e84dcb7f22", + "f585e836f8d30e41bd33c7a8d8760ecf64f7a80d", "testharness" ], "payment-request/resources/page1.html": [ @@ -646700,26 +646853,18 @@ "f20b425fc5e69d41083c40b8a5d76d69efe510cf", "support" ], - "server-timing/cross_origin.html": [ - "94c502eef1cafd2bc9dc3a2166e40c2ca8253ac9", + "server-timing/cross_origin.https.html": [ + "1421b38a05eb8c64cc80d69baedce9f2166fdd30", "testharness" ], - "server-timing/idlharness.any.js": [ + "server-timing/idlharness.https.any.js": [ "9c101e0f4cf2c5ef0196ac18342c8329755f794e", "testharness" ], - "server-timing/navigation_timing_idl.html": [ - "290bb889b149335a47b4b7ddcebc318bff32ca0c", - "testharness" - ], "server-timing/navigation_timing_idl.https.html": [ "290bb889b149335a47b4b7ddcebc318bff32ca0c", "testharness" ], - "server-timing/resource_timing_idl.html": [ - "d2c3c9274eab862e8962019a7cc7c39d27804b16", - "testharness" - ], "server-timing/resource_timing_idl.https.html": [ "d2c3c9274eab862e8962019a7cc7c39d27804b16", "testharness" @@ -647428,10 +647573,6 @@ "c385706d334c7d0283c924aab6c7461c76495ac2", "support" ], - "server-timing/server_timing_header-parsing.html": [ - "156dfcd344f36c36186b088561213ad76d934097", - "testharness" - ], "server-timing/server_timing_header-parsing.https.html": [ "156dfcd344f36c36186b088561213ad76d934097", "testharness" @@ -647444,14 +647585,6 @@ "a6fd72ad17bc0057f63bbf65caf97b66e2cce60c", "support" ], - "server-timing/test_server_timing.html": [ - "2d43aa2d43b722ff489db10b2df6f2c218e1f1d7", - "testharness" - ], - "server-timing/test_server_timing.html.sub.headers": [ - "ad018b70fd8f98cd174b90a22b833f399f129a1d", - "support" - ], "server-timing/test_server_timing.https.html": [ "2d43aa2d43b722ff489db10b2df6f2c218e1f1d7", "testharness" @@ -655253,7 +655386,7 @@ "support" ], "tools/META.yml": [ - "8f988f99a82e0991c20cb816be6378a973028733", + "7cc22a28c20c01f2c602b6b79814fc6844054306", "support" ], "tools/__init__.py": [ @@ -655293,7 +655426,7 @@ "support" ], "tools/ci/check_stability.py": [ - "7dae5de852f72a0269d66c814a72cb09cdc8f848", + "fa0cc3ba88a15e9280f04bf9ddee34e0af71db00", "support" ], "tools/ci/ci_built_diff.sh": [ @@ -655353,7 +655486,7 @@ "support" ], "tools/ci/tag_master.py": [ - "f049671c313b18200232f27d1abc75789a2e619d", + "72bafd3a866317889ecbb75a6981ce1c88a38b9e", "support" ], "tools/ci/taskcluster-run.py": [ @@ -660101,11 +660234,11 @@ "support" ], "tools/wpt/run.py": [ - "6f7ad1a53def31e22539295bb0c96ff84b742b45", + "a2cd1c0b115dff81a4cc0f356eb351fab51998f1", "support" ], "tools/wpt/testfiles.py": [ - "35a4b97d7ffaa24f630d70c6877c719d155c2ec7", + "ace0171c0402d9724fa9f8de58dcb3ac5a8388ea", "support" ], "tools/wpt/tests/latest_mozilla_central.txt": [ @@ -660117,7 +660250,7 @@ "support" ], "tools/wpt/tests/test_wpt.py": [ - "8387dc9613e518e4fefd1181423c8c0ed4c5e0ec", + "d987242679be1e72392266ff20ff935df6fe91b3", "support" ], "tools/wpt/tox.ini": [ @@ -660129,7 +660262,7 @@ "support" ], "tools/wpt/utils.py": [ - "e8edc0be49373158112b62cfa8064a732129b971", + "1e622a63859ac5da0d1aa0015a971083b23adbc9", "support" ], "tools/wpt/virtualenv.py": [ @@ -660189,7 +660322,7 @@ "support" ], "tools/wptrunner/requirements.txt": [ - "2ae1622a6a398b65cf43a37bca8962bf7d3196a4", + "ffc911e56e775ac73fc978a26a9cbd05e5af1fa8", "support" ], "tools/wptrunner/requirements_chrome.txt": [ @@ -660381,7 +660514,7 @@ "support" ], "tools/wptrunner/wptrunner/browsers/fennec.py": [ - "35f6f5dbd0197783744aaed6693b9c7f52aa8997", + "15f6c0088e264679da80253cdd093ce6d79176fd", "support" ], "tools/wptrunner/wptrunner/browsers/firefox.py": [ @@ -663561,7 +663694,7 @@ "support" ], "web-animations/animation-model/animation-types/property-types.js": [ - "430cd4e182e2b0d64bb06614dc064633be8a4bbf", + "e13cac067c489e4dab253d2f4aa5c793199e1704", "support" ], "web-animations/animation-model/animation-types/visibility.html": [ @@ -663957,7 +664090,7 @@ "testharness" ], "web-locks/web-locks.idl": [ - "351c1c5d822032702466d6a9ff94a2f76d646658", + "14bc3a22cc395f2999dcd53dd52ff0f4d896e129", "support" ], "web-locks/workers.tentative.https.html": [ @@ -666536,7 +666669,7 @@ "f39d4122887ba252516b12f98caaa08e84b3eb34", "support" ], - "webmidi/idlharness.window.js": [ + "webmidi/idlharness.https.window.js": [ "5fb88073b169cfac1d8353e5e8416bdd46ceab0e", "testharness" ], diff --git a/tests/wpt/metadata/css/css-fonts/font-feature-resolution-001.html.ini b/tests/wpt/metadata/css/css-fonts/font-feature-resolution-001.html.ini new file mode 100644 index 00000000000..cca5b8517c3 --- /dev/null +++ b/tests/wpt/metadata/css/css-fonts/font-feature-resolution-001.html.ini @@ -0,0 +1,2 @@ +[font-feature-resolution-001.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-transforms/animation/list-interpolation.html.ini b/tests/wpt/metadata/css/css-transforms/animation/list-interpolation.html.ini new file mode 100644 index 00000000000..de479f52d5b --- /dev/null +++ b/tests/wpt/metadata/css/css-transforms/animation/list-interpolation.html.ini @@ -0,0 +1,31 @@ +[list-interpolation.html] + [Animation between "scale(2) rotate(0deg) translate(100px)" and "rotate(720deg) scale(2) translate(200px)" at progress 0.25] + expected: FAIL + + [Animation between "rotate(0deg) translate(100px)" and "rotate(720deg) scale(2) translate(200px)" at progress 0.25] + expected: FAIL + + [Animation between "translateX(100px) scaleX(3) translate(500px) scale(2)" and "translateY(200px) scale(5) translateX(100px) scaleY(3)" at progress 0.25] + expected: FAIL + + [Animation between "none" and "none" at progress 0.25] + expected: FAIL + + [Animation between "translate(200px) rotate(720deg)" and "none" at progress 0.25] + expected: FAIL + + [Animation between "translate(100px) rotate(720deg)" and "translate(200px)" at progress 0.25] + expected: FAIL + + [Animation between "translate(100px)" and "translate(200px) rotate(720deg)" at progress 0.25] + expected: FAIL + + [Animation between "scale(2) rotate(0deg)" and "rotate(720deg) scale(2) translate(200px)" at progress 0.25] + expected: FAIL + + [Animation between "none" and "translate(200px) rotate(720deg)" at progress 0.25] + expected: FAIL + + [Animation between "scale(2) rotate(360deg) translate(100px) matrix(1, 0, 0, 1, 100, 0) skew(0deg)" and "scale(3) rotate(1080deg) translate(200px) matrix(1, 0, 0, 1, 0, 200) skew(720deg)" at progress 0.25] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-transforms/dynamic-fixed-pos-cb-change.html.ini b/tests/wpt/metadata/css/css-transforms/dynamic-fixed-pos-cb-change.html.ini new file mode 100644 index 00000000000..63a28dba4cf --- /dev/null +++ b/tests/wpt/metadata/css/css-transforms/dynamic-fixed-pos-cb-change.html.ini @@ -0,0 +1,2 @@ +[dynamic-fixed-pos-cb-change.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata/css/css-transitions/properties-value-001.html.ini b/tests/wpt/metadata/css/css-transitions/properties-value-001.html.ini index 2ec90715669..32e3258c7d8 100644 --- a/tests/wpt/metadata/css/css-transitions/properties-value-001.html.ini +++ b/tests/wpt/metadata/css/css-transitions/properties-value-001.html.ini @@ -623,6 +623,459 @@ [border-bottom-width length(em) / events] expected: FAIL - [visibility visibility(keyword) / values] + [outline-width length(px) / values] + expected: FAIL + + [border-left-width length(em) / values] + expected: FAIL + + [border-bottom-width length(px) / values] + expected: FAIL + + [border-top-width length(em) / values] + expected: FAIL + + [line-height number(decimal) / values] + expected: FAIL + + [word-spacing length(mm) / values] + expected: FAIL + + [text-indent length(pc) / values] + expected: FAIL + + [opacity number[0,1\](zero-to-one) / values] + expected: FAIL + + [line-height number(integer) / values] + expected: FAIL + + [outline-offset length(px) / values] + expected: FAIL + + [font-size length(pt) / values] + expected: FAIL + + [max-height length(px) / values] + expected: FAIL + + [vertical-align length(in) / values] + expected: FAIL + + [max-height percentage(%) / values] + expected: FAIL + + [min-width length(px) / values] + expected: FAIL + + [border-top-color color(rgba) / values] + expected: FAIL + + [border-right-color color(rgba) / values] + expected: FAIL + + [font-size length(ex) / values] + expected: FAIL + + [min-height length(pc) / values] + expected: FAIL + + [line-height length(px) / values] + expected: FAIL + + [word-spacing length(px) / values] + expected: FAIL + + [vertical-align percentage(%) / values] + expected: FAIL + + [border-right-width length(pc) / values] + expected: FAIL + + [line-height length(ex) / values] + expected: FAIL + + [color color(rgba) / values] + expected: FAIL + + [font-size length(in) / values] + expected: FAIL + + [text-indent length(ex) / values] + expected: FAIL + + [font-size length(em) / values] + expected: FAIL + + [border-left-width length(mm) / values] + expected: FAIL + + [vertical-align length(em) / values] + expected: FAIL + + [text-indent length(px) / values] + expected: FAIL + + [clip rectangle(rectangle) / values] + expected: FAIL + + [word-spacing length(em) / values] + expected: FAIL + + [border-right-width length(ex) / values] + expected: FAIL + + [border-top-width length(cm) / values] + expected: FAIL + + [max-width length(em) / values] + expected: FAIL + + [font-size length(cm) / values] + expected: FAIL + + [border-right-width length(cm) / values] + expected: FAIL + + [outline-offset length(ex) / values] + expected: FAIL + + [min-width length(cm) / values] + expected: FAIL + + [min-height length(px) / values] + expected: FAIL + + [min-width length(mm) / values] + expected: FAIL + + [border-bottom-width length(in) / values] + expected: FAIL + + [vertical-align length(pc) / values] + expected: FAIL + + [vertical-align length(cm) / values] + expected: FAIL + + [max-height length(ex) / values] + expected: FAIL + + [vertical-align length(ex) / values] + expected: FAIL + + [min-height percentage(%) / values] + expected: FAIL + + [max-height length(pt) / values] + expected: FAIL + + [outline-offset length(mm) / values] + expected: FAIL + + [font-weight font-weight(keyword) / values] + expected: FAIL + + [max-height length(mm) / values] + expected: FAIL + + [outline-offset length(pt) / values] + expected: FAIL + + [line-height length(mm) / values] + expected: FAIL + + [line-height length(cm) / values] + expected: FAIL + + [border-top-width length(mm) / values] + expected: FAIL + + [letter-spacing length(in) / values] + expected: FAIL + + [border-bottom-color color(rgba) / values] + expected: FAIL + + [min-width percentage(%) / values] + expected: FAIL + + [min-height length(cm) / values] + expected: FAIL + + [letter-spacing length(mm) / values] + expected: FAIL + + [font-size percentage(%) / values] + expected: FAIL + + [letter-spacing length(cm) / values] + expected: FAIL + + [vertical-align length(pt) / values] + expected: FAIL + + [border-left-color color(rgba) / values] + expected: FAIL + + [letter-spacing length(pc) / values] + expected: FAIL + + [letter-spacing length(pt) / values] + expected: FAIL + + [word-spacing length(ex) / values] + expected: FAIL + + [line-height length(pt) / values] + expected: FAIL + + [border-top-width length(px) / values] + expected: FAIL + + [min-width length(pt) / values] + expected: FAIL + + [border-bottom-width length(mm) / values] + expected: FAIL + + [border-bottom-width length(cm) / values] + expected: FAIL + + [min-width length(em) / values] + expected: FAIL + + [min-height length(em) / values] + expected: FAIL + + [max-width length(mm) / values] + expected: FAIL + + [min-height length(ex) / values] + expected: FAIL + + [max-width length(px) / values] + expected: FAIL + + [text-indent length(mm) / values] + expected: FAIL + + [font-size length(mm) / values] + expected: FAIL + + [min-width length(pc) / values] + expected: FAIL + + [letter-spacing length(em) / values] + expected: FAIL + + [line-height length(em) / values] + expected: FAIL + + [border-bottom-width length(pt) / values] + expected: FAIL + + [word-spacing length(pc) / values] + expected: FAIL + + [outline-offset length(in) / values] + expected: FAIL + + [word-spacing length(in) / values] + expected: FAIL + + [outline-width length(pt) / values] + expected: FAIL + + [border-top-width length(pc) / values] + expected: FAIL + + [border-left-width length(px) / values] + expected: FAIL + + [font-size length(px) / values] + expected: FAIL + + [border-left-width length(cm) / values] + expected: FAIL + + [border-right-width length(px) / values] + expected: FAIL + + [outline-width length(in) / values] + expected: FAIL + + [word-spacing length(pt) / values] + expected: FAIL + + [text-indent length(cm) / values] + expected: FAIL + + [border-right-width length(mm) / values] + expected: FAIL + + [max-width length(in) / values] + expected: FAIL + + [outline-color color(rgba) / values] + expected: FAIL + + [text-indent length(pt) / values] + expected: FAIL + + [border-right-width length(pt) / values] + expected: FAIL + + [border-left-width length(in) / values] + expected: FAIL + + [text-shadow shadow(shadow) / values] + expected: FAIL + + [max-height length(in) / values] + expected: FAIL + + [line-height length(in) / values] + expected: FAIL + + [border-bottom-width length(em) / values] + expected: FAIL + + [outline-width length(ex) / values] + expected: FAIL + + [font-size length(pc) / values] + expected: FAIL + + [min-width length(in) / values] + expected: FAIL + + [outline-width length(cm) / values] + expected: FAIL + + [max-width percentage(%) / values] + expected: FAIL + + [max-width length(ex) / values] + expected: FAIL + + [letter-spacing length(ex) / values] + expected: FAIL + + [border-left-width length(ex) / values] + expected: FAIL + + [outline-width length(mm) / values] + expected: FAIL + + [border-left-width length(pc) / values] + expected: FAIL + + [outline-width length(pc) / values] + expected: FAIL + + [word-spacing percentage(%) / values] + expected: FAIL + + [font-weight font-weight(numeric) / values] + expected: FAIL + + [vertical-align length(px) / values] + expected: FAIL + + [letter-spacing length(px) / values] + expected: FAIL + + [max-width length(pt) / values] + expected: FAIL + + [line-height percentage(%) / values] + expected: FAIL + + [text-indent length(in) / values] + expected: FAIL + + [text-indent length(em) / values] + expected: FAIL + + [border-top-width length(pt) / values] + expected: FAIL + + [min-height length(mm) / values] + expected: FAIL + + [max-height length(cm) / values] + expected: FAIL + + [outline-width length(em) / values] + expected: FAIL + + [border-right-width length(em) / values] + expected: FAIL + + [max-height length(em) / values] + expected: FAIL + + [max-width length(cm) / values] + expected: FAIL + + [outline-offset length(em) / values] + expected: FAIL + + [outline-offset length(cm) / values] + expected: FAIL + + [border-top-width length(ex) / values] + expected: FAIL + + [border-right-width length(in) / values] + expected: FAIL + + [z-index integer(integer) / values] + expected: FAIL + + [border-left-width length(pt) / values] + expected: FAIL + + [vertical-align length(mm) / values] + expected: FAIL + + [border-bottom-width length(pc) / values] + expected: FAIL + + [text-indent percentage(%) / values] + expected: FAIL + + [line-height length(pc) / values] + expected: FAIL + + [border-top-width length(in) / values] + expected: FAIL + + [border-bottom-width length(ex) / values] + expected: FAIL + + [min-height length(in) / values] + expected: FAIL + + [outline-offset length(pc) / values] + expected: FAIL + + [max-height length(pc) / values] + expected: FAIL + + [background-color color(rgba) / values] + expected: FAIL + + [min-height length(pt) / values] + expected: FAIL + + [word-spacing length(cm) / values] + expected: FAIL + + [max-width length(pc) / values] + expected: FAIL + + [min-width length(ex) / values] expected: FAIL diff --git a/tests/wpt/metadata/css/css-transitions/properties-value-003.html.ini b/tests/wpt/metadata/css/css-transitions/properties-value-003.html.ini index b875c9f66eb..405957d0ebe 100644 --- a/tests/wpt/metadata/css/css-transitions/properties-value-003.html.ini +++ b/tests/wpt/metadata/css/css-transitions/properties-value-003.html.ini @@ -458,21 +458,48 @@ [column-width length(em) / values] expected: FAIL - [display display(block to inline-block) / values] + [background-image image(data) / values] expected: FAIL - [display display(static to absolute) / events] + [transform transform(rotate) / values] expected: FAIL - [position position(absolute to fixed) / values] + [border-bottom-right-radius border-radius(px-px) / values] expected: FAIL - [display display(static to absolute) / values] + [background-image image(gradient) / values] expected: FAIL - [position position(relative to absolute) / values] + [font-stretch font-stretch(keyword) / values] expected: FAIL - [position position(static to absolute) / values] + [transform-origin horizontal(keyword) / values] + expected: FAIL + + [border-top-right-radius border-radius(px) / values] + expected: FAIL + + [border-top-left-radius border-radius(px-px) / values] + expected: FAIL + + [border-bottom-right-radius border-radius(px) / values] + expected: FAIL + + [border-bottom-left-radius border-radius(px-px) / values] + expected: FAIL + + [background-image image(url) / values] + expected: FAIL + + [border-top-left-radius border-radius(px) / values] + expected: FAIL + + [border-bottom-left-radius border-radius(px) / values] + expected: FAIL + + [box-shadow box-shadow(shadow) / values] + expected: FAIL + + [border-top-right-radius border-radius(px-px) / values] expected: FAIL diff --git a/tests/wpt/metadata/css/css-transitions/properties-value-implicit-001.html.ini b/tests/wpt/metadata/css/css-transitions/properties-value-implicit-001.html.ini index e8d7848fdbd..0f90b844a61 100644 --- a/tests/wpt/metadata/css/css-transitions/properties-value-implicit-001.html.ini +++ b/tests/wpt/metadata/css/css-transitions/properties-value-implicit-001.html.ini @@ -5,3 +5,48 @@ [background-position length-em(em) / values] expected: FAIL + [border-top-width length-em(em) / values] + expected: FAIL + + [max-width length-em(em) / values] + expected: FAIL + + [line-height length-em(em) / values] + expected: FAIL + + [vertical-align length-em(em) / values] + expected: FAIL + + [min-height length-em(em) / values] + expected: FAIL + + [border-left-width length-em(em) / values] + expected: FAIL + + [word-spacing length-em(em) / values] + expected: FAIL + + [outline-width length-em(em) / values] + expected: FAIL + + [letter-spacing length-em(em) / values] + expected: FAIL + + [max-height length-em(em) / values] + expected: FAIL + + [min-width length-em(em) / values] + expected: FAIL + + [text-indent length-em(em) / values] + expected: FAIL + + [outline-offset length-em(em) / values] + expected: FAIL + + [border-right-width length-em(em) / values] + expected: FAIL + + [border-bottom-width length-em(em) / values] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-transitions/properties-value-inherit-002.html.ini b/tests/wpt/metadata/css/css-transitions/properties-value-inherit-002.html.ini index a1ee78a2e54..67c6131d06d 100644 --- a/tests/wpt/metadata/css/css-transitions/properties-value-inherit-002.html.ini +++ b/tests/wpt/metadata/css/css-transitions/properties-value-inherit-002.html.ini @@ -53,6 +53,459 @@ [background-position length(px) / events] expected: FAIL - [visibility visibility(keyword) / values] + [outline-width length(px) / values] + expected: FAIL + + [border-left-width length(em) / values] + expected: FAIL + + [border-bottom-width length(px) / values] + expected: FAIL + + [border-top-width length(em) / values] + expected: FAIL + + [line-height number(decimal) / values] + expected: FAIL + + [word-spacing length(mm) / values] + expected: FAIL + + [text-indent length(pc) / values] + expected: FAIL + + [opacity number[0,1\](zero-to-one) / values] + expected: FAIL + + [line-height number(integer) / values] + expected: FAIL + + [outline-offset length(px) / values] + expected: FAIL + + [font-size length(pt) / values] + expected: FAIL + + [max-height length(px) / values] + expected: FAIL + + [vertical-align length(in) / values] + expected: FAIL + + [max-height percentage(%) / values] + expected: FAIL + + [min-width length(px) / values] + expected: FAIL + + [border-top-color color(rgba) / values] + expected: FAIL + + [border-right-color color(rgba) / values] + expected: FAIL + + [font-size length(ex) / values] + expected: FAIL + + [min-height length(pc) / values] + expected: FAIL + + [line-height length(px) / values] + expected: FAIL + + [word-spacing length(px) / values] + expected: FAIL + + [vertical-align percentage(%) / values] + expected: FAIL + + [border-right-width length(pc) / values] + expected: FAIL + + [line-height length(ex) / values] + expected: FAIL + + [color color(rgba) / values] + expected: FAIL + + [font-size length(in) / values] + expected: FAIL + + [text-indent length(ex) / values] + expected: FAIL + + [font-size length(em) / values] + expected: FAIL + + [border-left-width length(mm) / values] + expected: FAIL + + [vertical-align length(em) / values] + expected: FAIL + + [text-indent length(px) / values] + expected: FAIL + + [clip rectangle(rectangle) / values] + expected: FAIL + + [word-spacing length(em) / values] + expected: FAIL + + [border-right-width length(ex) / values] + expected: FAIL + + [border-top-width length(cm) / values] + expected: FAIL + + [max-width length(em) / values] + expected: FAIL + + [font-size length(cm) / values] + expected: FAIL + + [border-right-width length(cm) / values] + expected: FAIL + + [outline-offset length(ex) / values] + expected: FAIL + + [min-width length(cm) / values] + expected: FAIL + + [min-height length(px) / values] + expected: FAIL + + [min-width length(mm) / values] + expected: FAIL + + [border-bottom-width length(in) / values] + expected: FAIL + + [vertical-align length(pc) / values] + expected: FAIL + + [vertical-align length(cm) / values] + expected: FAIL + + [max-height length(ex) / values] + expected: FAIL + + [vertical-align length(ex) / values] + expected: FAIL + + [min-height percentage(%) / values] + expected: FAIL + + [max-height length(pt) / values] + expected: FAIL + + [outline-offset length(mm) / values] + expected: FAIL + + [font-weight font-weight(keyword) / values] + expected: FAIL + + [max-height length(mm) / values] + expected: FAIL + + [outline-offset length(pt) / values] + expected: FAIL + + [line-height length(mm) / values] + expected: FAIL + + [line-height length(cm) / values] + expected: FAIL + + [border-top-width length(mm) / values] + expected: FAIL + + [letter-spacing length(in) / values] + expected: FAIL + + [border-bottom-color color(rgba) / values] + expected: FAIL + + [min-width percentage(%) / values] + expected: FAIL + + [min-height length(cm) / values] + expected: FAIL + + [letter-spacing length(mm) / values] + expected: FAIL + + [font-size percentage(%) / values] + expected: FAIL + + [letter-spacing length(cm) / values] + expected: FAIL + + [vertical-align length(pt) / values] + expected: FAIL + + [border-left-color color(rgba) / values] + expected: FAIL + + [letter-spacing length(pc) / values] + expected: FAIL + + [letter-spacing length(pt) / values] + expected: FAIL + + [word-spacing length(ex) / values] + expected: FAIL + + [line-height length(pt) / values] + expected: FAIL + + [border-top-width length(px) / values] + expected: FAIL + + [min-width length(pt) / values] + expected: FAIL + + [border-bottom-width length(mm) / values] + expected: FAIL + + [border-bottom-width length(cm) / values] + expected: FAIL + + [min-width length(em) / values] + expected: FAIL + + [min-height length(em) / values] + expected: FAIL + + [max-width length(mm) / values] + expected: FAIL + + [min-height length(ex) / values] + expected: FAIL + + [max-width length(px) / values] + expected: FAIL + + [text-indent length(mm) / values] + expected: FAIL + + [font-size length(mm) / values] + expected: FAIL + + [min-width length(pc) / values] + expected: FAIL + + [letter-spacing length(em) / values] + expected: FAIL + + [line-height length(em) / values] + expected: FAIL + + [border-bottom-width length(pt) / values] + expected: FAIL + + [word-spacing length(pc) / values] + expected: FAIL + + [outline-offset length(in) / values] + expected: FAIL + + [word-spacing length(in) / values] + expected: FAIL + + [outline-width length(pt) / values] + expected: FAIL + + [border-top-width length(pc) / values] + expected: FAIL + + [border-left-width length(px) / values] + expected: FAIL + + [font-size length(px) / values] + expected: FAIL + + [border-left-width length(cm) / values] + expected: FAIL + + [border-right-width length(px) / values] + expected: FAIL + + [outline-width length(in) / values] + expected: FAIL + + [word-spacing length(pt) / values] + expected: FAIL + + [text-indent length(cm) / values] + expected: FAIL + + [border-right-width length(mm) / values] + expected: FAIL + + [max-width length(in) / values] + expected: FAIL + + [outline-color color(rgba) / values] + expected: FAIL + + [text-indent length(pt) / values] + expected: FAIL + + [border-right-width length(pt) / values] + expected: FAIL + + [border-left-width length(in) / values] + expected: FAIL + + [text-shadow shadow(shadow) / values] + expected: FAIL + + [max-height length(in) / values] + expected: FAIL + + [line-height length(in) / values] + expected: FAIL + + [border-bottom-width length(em) / values] + expected: FAIL + + [outline-width length(ex) / values] + expected: FAIL + + [font-size length(pc) / values] + expected: FAIL + + [min-width length(in) / values] + expected: FAIL + + [outline-width length(cm) / values] + expected: FAIL + + [max-width percentage(%) / values] + expected: FAIL + + [max-width length(ex) / values] + expected: FAIL + + [letter-spacing length(ex) / values] + expected: FAIL + + [border-left-width length(ex) / values] + expected: FAIL + + [outline-width length(mm) / values] + expected: FAIL + + [border-left-width length(pc) / values] + expected: FAIL + + [outline-width length(pc) / values] + expected: FAIL + + [word-spacing percentage(%) / values] + expected: FAIL + + [font-weight font-weight(numeric) / values] + expected: FAIL + + [vertical-align length(px) / values] + expected: FAIL + + [letter-spacing length(px) / values] + expected: FAIL + + [max-width length(pt) / values] + expected: FAIL + + [line-height percentage(%) / values] + expected: FAIL + + [text-indent length(in) / values] + expected: FAIL + + [text-indent length(em) / values] + expected: FAIL + + [border-top-width length(pt) / values] + expected: FAIL + + [min-height length(mm) / values] + expected: FAIL + + [max-height length(cm) / values] + expected: FAIL + + [outline-width length(em) / values] + expected: FAIL + + [border-right-width length(em) / values] + expected: FAIL + + [max-height length(em) / values] + expected: FAIL + + [max-width length(cm) / values] + expected: FAIL + + [outline-offset length(em) / values] + expected: FAIL + + [outline-offset length(cm) / values] + expected: FAIL + + [border-top-width length(ex) / values] + expected: FAIL + + [border-right-width length(in) / values] + expected: FAIL + + [z-index integer(integer) / values] + expected: FAIL + + [border-left-width length(pt) / values] + expected: FAIL + + [vertical-align length(mm) / values] + expected: FAIL + + [border-bottom-width length(pc) / values] + expected: FAIL + + [text-indent percentage(%) / values] + expected: FAIL + + [line-height length(pc) / values] + expected: FAIL + + [border-top-width length(in) / values] + expected: FAIL + + [border-bottom-width length(ex) / values] + expected: FAIL + + [min-height length(in) / values] + expected: FAIL + + [outline-offset length(pc) / values] + expected: FAIL + + [max-height length(pc) / values] + expected: FAIL + + [background-color color(rgba) / values] + expected: FAIL + + [min-height length(pt) / values] + expected: FAIL + + [word-spacing length(cm) / values] + expected: FAIL + + [max-width length(pc) / values] + expected: FAIL + + [min-width length(ex) / values] expected: FAIL diff --git a/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini b/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini index d83180ae3c3..45c27884648 100644 --- a/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini +++ b/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini @@ -53,9 +53,6 @@ [right end] expected: FAIL - [left end] - expected: FAIL - [word-spacing intermediate] expected: FAIL @@ -80,123 +77,15 @@ [text-indent intermediate] expected: FAIL - [margin-right end] - expected: FAIL - [padding-right end] expected: FAIL - [width end] - expected: FAIL - - [word-spacing end] - expected: FAIL - - [max-height end] - expected: FAIL - - [max-width end] - expected: FAIL - - [outline-color end] - expected: FAIL - - [text-indent end] - expected: FAIL - [height end] expected: FAIL - [outline-offset end] - expected: FAIL - - [margin-top end] - expected: FAIL - - [line-height end] - expected: FAIL - - [min-height end] - expected: FAIL - - [padding-left end] - expected: FAIL - - [bottom end] - expected: FAIL - - [clip end] - expected: FAIL - - [top end] - expected: FAIL - - [font-weight end] - expected: FAIL - - [font-size end] - expected: FAIL - - [text-shadow end] - expected: FAIL - - [margin-left end] - expected: FAIL - - [border-left-color end] - expected: FAIL - - [min-width end] - expected: FAIL - - [background-color end] - expected: FAIL - - [border-top-width end] - expected: FAIL - [border-left-width end] expected: FAIL - [border-bottom-width end] - expected: FAIL - - [padding-top end] - expected: FAIL - - [letter-spacing end] - expected: FAIL - - [margin-bottom end] - expected: FAIL - - [border-bottom-color end] - expected: FAIL - - [vertical-align end] - expected: FAIL - - [border-right-width end] - expected: FAIL - - [border-right-color end] - expected: FAIL - - [border-top-color end] - expected: FAIL - - [color end] - expected: FAIL - - [border-spacing end] - expected: FAIL - - [visibility end] - expected: FAIL - - [padding-bottom end] - expected: FAIL - - [z-index end] + [opacity end] expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/inheritance.html.ini b/tests/wpt/metadata/css/cssom-view/inheritance.html.ini new file mode 100644 index 00000000000..d7fcc9c1eb9 --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/inheritance.html.ini @@ -0,0 +1,7 @@ +[inheritance.html] + [Property scroll-behavior has initial value auto] + expected: FAIL + + [Property scroll-behavior does not inherit] + expected: FAIL + diff --git a/tests/wpt/metadata/dom/events/EventListener-invoke-legacy.html.ini b/tests/wpt/metadata/dom/events/EventListener-invoke-legacy.html.ini index 2ec68507d17..c7ff398c924 100644 --- a/tests/wpt/metadata/dom/events/EventListener-invoke-legacy.html.ini +++ b/tests/wpt/metadata/dom/events/EventListener-invoke-legacy.html.ini @@ -22,6 +22,3 @@ [Legacy listener of animationstart] expected: TIMEOUT - [Listener of transitionend] - expected: FAIL - 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_5.html.ini index 75d75b4cda2..dc2e45516de 100644 --- 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_5.html.ini @@ -1,4 +1,4 @@ -[traverse_the_history_2.html] +[traverse_the_history_5.html] [Multiple history traversals, last would be aborted] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini new file mode 100644 index 00000000000..8cc42056d34 --- /dev/null +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini @@ -0,0 +1,10 @@ +[non-active-document.html] + [DOMParser] + expected: FAIL + + [createHTMLDocument] + expected: FAIL + + [<template>] + 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 new file mode 100644 index 00000000000..9e522297c94 --- /dev/null +++ b/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini @@ -0,0 +1,7 @@ +[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/html/syntax/parsing/DOMContentLoaded-defer.html.ini b/tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini deleted file mode 100644 index a9677391662..00000000000 --- a/tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[DOMContentLoaded-defer.html] - [The end: DOMContentLoaded and defer scripts] - expected: FAIL - diff --git a/tests/wpt/metadata/quirks/unitless-length/no-quirks.html.ini b/tests/wpt/metadata/quirks/unitless-length/no-quirks.html.ini new file mode 100644 index 00000000000..818a429ed39 --- /dev/null +++ b/tests/wpt/metadata/quirks/unitless-length/no-quirks.html.ini @@ -0,0 +1,283 @@ +[no-quirks.html] + [top: -\\31 .5] + expected: FAIL + + [bottom: -1A] + expected: FAIL + + [bottom: -1a] + expected: FAIL + + [top: @1] + expected: FAIL + + [top: "1a"] + expected: FAIL + + [top: @a] + expected: FAIL + + [bottom: "1"] + expected: FAIL + + [bottom: -/**/1] + expected: FAIL + + [top: +/**/1] + expected: FAIL + + [bottom: @1a] + expected: FAIL + + [top: 1\\31 ] + expected: FAIL + + [top: url('1')] + expected: FAIL + + [bottom: -\\31 ] + expected: FAIL + + [top: calc(1)] + expected: FAIL + + [top: \\31 ] + expected: FAIL + + [bottom: +1\\31 ] + expected: FAIL + + [bottom: 1\\31 .5] + expected: FAIL + + [bottom: #0001] + expected: FAIL + + [top: calc(2 * 2px)] + expected: FAIL + + [bottom: 1a] + expected: FAIL + + [bottom: A] + expected: FAIL + + [bottom: #01] + expected: FAIL + + [top: +\\31 .5] + expected: FAIL + + [bottom: #1] + expected: FAIL + + [top: -/**/1] + expected: FAIL + + [bottom: +\\31 .5] + expected: FAIL + + [bottom: \\31 ] + expected: FAIL + + [bottom: calc(1)] + expected: FAIL + + [top: #001] + expected: FAIL + + [top: +\\31 ] + expected: FAIL + + [bottom: +\\31 ] + expected: FAIL + + [top: +1.5] + expected: FAIL + + [top: +1\\31 ] + expected: FAIL + + [bottom: @a] + expected: FAIL + + [bottom: @1] + expected: FAIL + + [top: #1] + expected: FAIL + + [top: 1a] + expected: FAIL + + [bottom: +1a] + expected: FAIL + + [bottom: +1A] + expected: FAIL + + [bottom: "a"] + expected: FAIL + + [top: #00001] + expected: FAIL + + [bottom: -1\\31 .5] + expected: FAIL + + [top: "1"] + expected: FAIL + + [bottom: 1.5] + expected: FAIL + + [bottom: -\\31 .5] + expected: FAIL + + [bottom: url('1')] + expected: FAIL + + [bottom: -1.5] + expected: FAIL + + [top: \\31 .5] + expected: FAIL + + [bottom: "1a"] + expected: FAIL + + [bottom: calc(2 * 2px)] + expected: FAIL + + [bottom: +1\\31 .5] + expected: FAIL + + [bottom: 1\\31 ] + expected: FAIL + + [bottom: +/**/1] + expected: FAIL + + [bottom: #00001] + expected: FAIL + + [top: url(1)] + expected: FAIL + + [bottom: #001] + expected: FAIL + + [top: +1\\31 .5] + expected: FAIL + + [top: -1a] + expected: FAIL + + [top: -1A] + expected: FAIL + + [bottom: url(1)] + expected: FAIL + + [top: a] + expected: FAIL + + [top: A] + expected: FAIL + + [top: #000001] + expected: FAIL + + [top: 1] + expected: FAIL + + [top: 1\\31 .5] + expected: FAIL + + [bottom: a] + expected: FAIL + + [bottom: 1] + expected: FAIL + + [bottom: +1] + expected: FAIL + + [bottom: #000001] + expected: FAIL + + [bottom: +a] + expected: FAIL + + [bottom: +A] + expected: FAIL + + [top: 1.5] + expected: FAIL + + [top: +A] + expected: FAIL + + [top: +a] + expected: FAIL + + [top: +1] + expected: FAIL + + [top: -1.5] + expected: FAIL + + [top: -1\\31 .5] + expected: FAIL + + [top: +1a] + expected: FAIL + + [top: +1A] + expected: FAIL + + [top: @1a] + expected: FAIL + + [bottom: \\31 .5] + expected: FAIL + + [top: "a"] + expected: FAIL + + [top: #01] + expected: FAIL + + [bottom: +1.5] + expected: FAIL + + [bottom: -A] + expected: FAIL + + [bottom: -a] + expected: FAIL + + [bottom: -1\\31 ] + expected: FAIL + + [top: #0001] + expected: FAIL + + [bottom: -1] + expected: FAIL + + [top: -\\31 ] + expected: FAIL + + [top: -A] + expected: FAIL + + [top: -a] + expected: FAIL + + [top: -1] + expected: FAIL + + [top: -1\\31 ] + expected: FAIL + diff --git a/tests/wpt/metadata/url/urlencoded-parser.any.js.ini b/tests/wpt/metadata/url/urlencoded-parser.any.js.ini index b60d25dd60a..11bdcdca5f0 100644 --- a/tests/wpt/metadata/url/urlencoded-parser.any.js.ini +++ b/tests/wpt/metadata/url/urlencoded-parser.any.js.ini @@ -1,30 +1,30 @@ [urlencoded-parser.any.html] - [response.formData() with input: _charset_=windows-1252&test=%C2x] + [request.formData() with input: a&b&c] expected: FAIL - [response.formData() with input: a&b&c] + [request.formData() with input: _charset_=windows-1252&test=%C2x] expected: FAIL - [response.formData() with input: a=b&c=d] - expected: FAIL - [response.formData() with input: &&&a=b&&&&c=d&] +[urlencoded-parser.any.worker.html] + [request.formData() with input: a=b&c=d] expected: FAIL + [request.formData() with input: a&b&c] + expected: FAIL -[urlencoded-parser.any.worker.html] - [request.formData() with input: a=b&c=d] + [response.formData() with input: a&b&c] expected: FAIL - [request.formData() with input: a=b&c=d&] + [response.formData() with input: a=b&c=d&] expected: FAIL - [request.formData() with input: a&b&c] + [response.formData() with input: _charset_=windows-1252&test=%C2x] expected: FAIL - [request.formData() with input: _charset_=windows-1252&test=%C2x] + [response.formData() with input: &&&a=b&&&&c=d&] expected: FAIL - [response.formData() with input: a&b&c] + [response.formData() with input: a=b&c=d] expected: FAIL diff --git a/tests/wpt/web-platform-tests/background-fetch/fetch.https.window.js b/tests/wpt/web-platform-tests/background-fetch/fetch.https.window.js index c5fa18725a5..aee777d986e 100644 --- a/tests/wpt/web-platform-tests/background-fetch/fetch.https.window.js +++ b/tests/wpt/web-platform-tests/background-fetch/fetch.https.window.js @@ -282,3 +282,41 @@ backgroundFetchTest(async (test, backgroundFetch) => { assert_equals(nullResponse, null); }, 'Fetches with mixed content should fail.'); + +backgroundFetchTest(async (test, backgroundFetch) => { + const registrationId = 'matchexistingrequest'; + const registration = + await backgroundFetch.fetch(registrationId, 'resources/feature-name.txt'); + + assert_equals(registration.id, registrationId); + + const {type, eventRegistration, results} = await getMessageFromServiceWorker(); + assert_equals('backgroundfetchsuccess', type); + assert_equals(results.length, 1); + + assert_equals(eventRegistration.id, registration.id); + assert_equals(eventRegistration.result, 'success'); + assert_equals(eventRegistration.failureReason, ''); + + assert_true(results[0].url.includes('resources/feature-name.txt')); + assert_equals(results[0].status, 200); + assert_equals(results[0].text, 'Background Fetch'); + +}, 'Matching to a single request should work'); + +backgroundFetchTest(async (test, backgroundFetch) => { + const registrationId = 'matchmissingrequest'; + const registration = + await backgroundFetch.fetch(registrationId, 'resources/feature-name.txt'); + + assert_equals(registration.id, registrationId); + + const {type, eventRegistration, results} = await getMessageFromServiceWorker(); + assert_equals('backgroundfetchsuccess', type); + assert_equals(results.length, 0); + + assert_equals(eventRegistration.id, registration.id); + assert_equals(eventRegistration.result, 'success'); + assert_equals(eventRegistration.failureReason, ''); + +}, 'Matching to a non-existing request should work');
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/background-fetch/service_workers/sw.js b/tests/wpt/web-platform-tests/background-fetch/service_workers/sw.js index 1c4fb10f052..80b479291ea 100644 --- a/tests/wpt/web-platform-tests/background-fetch/service_workers/sw.js +++ b/tests/wpt/web-platform-tests/background-fetch/service_workers/sw.js @@ -13,10 +13,33 @@ async function getFetchResult(record) { } function handleBackgroundFetchEvent(event) { + let matchFunction = null; + switch (event.registration.id) { + case 'matchexistingrequest': + matchFunction = event.registration.match.bind( + event.registration, '/background-fetch/resources/feature-name.txt'); + break; + case 'matchmissingrequest': + matchFunction = event.registration.match.bind( + event.registration, '/background-fetch/resources/missing.txt'); + break; + default: + matchFunction = event.registration.matchAll.bind(event.registration); + break; + } + event.waitUntil( - event.registration.matchAll() + matchFunction() + // Format `match(All)?` function results. + .then(records => { + if (!records) return []; // Nothing was matched. + if (!records.map) return [records]; // One entry was returned. + return records; // Already in a list. + }) + // Extract responses. .then(records => Promise.all(records.map(record => getFetchResult(record)))) + // Clone registration and send message. .then(results => { const registrationCopy = cloneRegistration(event.registration); sendMessageToDocument( diff --git a/tests/wpt/web-platform-tests/cookies/http-state/chromium-tests.html b/tests/wpt/web-platform-tests/cookies/http-state/chromium-tests.html index e5d745e0390..d9e1d28623f 100644 --- a/tests/wpt/web-platform-tests/cookies/http-state/chromium-tests.html +++ b/tests/wpt/web-platform-tests/cookies/http-state/chromium-tests.html @@ -43,7 +43,6 @@ {file: "disabled-chromium0020", name: "disabled-chromium0020"}, {file: "chromium0021", name: "chromium0021"}, {file: "disabled-chromium0022", name: "disabled-chromium0022"}, - {file: "disabled-chromium0023", name: "disabled-chromium0023"}, ]; for (const i in TEST_CASES) { diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/disabled-chromium0022-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/disabled-chromium0022-test Binary files differindex 1a8f35ffbd8..76a8ed4e9b8 100644 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/disabled-chromium0022-test +++ b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/disabled-chromium0022-test diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/disabled-chromium0023-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/disabled-chromium0023-expected deleted file mode 100644 index 8ac13216032..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/disabled-chromium0023-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: AAA=BB diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/disabled-chromium0023-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/disabled-chromium0023-test deleted file mode 100644 index 76a8ed4e9b8..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/disabled-chromium0023-test +++ /dev/null @@ -1 +0,0 @@ -Set-Cookie: AAA=BB
ZYX diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/flex-flexitem-percentage-prescation.html b/tests/wpt/web-platform-tests/css/css-flexbox/flex-flexitem-percentage-prescation.html index 6fc108169dc..713d4055830 100644 --- a/tests/wpt/web-platform-tests/css/css-flexbox/flex-flexitem-percentage-prescation.html +++ b/tests/wpt/web-platform-tests/css/css-flexbox/flex-flexitem-percentage-prescation.html @@ -6,18 +6,18 @@ <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#flex-items"> <link rel="match" href="reference/flex-flexitem-percentage-prescation-ref.html"> <meta name="flags" content="" /> - <meta name="assert" content="no blue color could be seen." /> + <meta name="assert" content="no red color could be seen." /> <style type="text/css"> #test { - background: blue; + background: red; display: flex; height:300px; width:101px; } p { flex:1; - background:red; + background:olive; flex-direction:row; margin:0 0 0 0; } @@ -25,8 +25,8 @@ </head> <body> <div id="test"> - <p style="background:green;">damer</p> - <p>damer</p> + <p style="background:green;">d</p> + <p>d</p> </div> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/flex-minimum-height-flex-items-011.xht b/tests/wpt/web-platform-tests/css/css-flexbox/flex-minimum-height-flex-items-011.xht new file mode 100644 index 00000000000..19ba83af404 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-flexbox/flex-minimum-height-flex-items-011.xht @@ -0,0 +1,49 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>CSS Flexible Box Test: Minimum height of flex items</title> + <link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com" /> + <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#min-size-auto" title="4.5. Implied Minimum Size of Flex Items" /> + <link rel="match" href="../reference/ref-filled-green-100px-square.xht" /> + <meta name="assert" content="Checks that minimum height for flex items is the min-content size." /> + <style type="text/css"><![CDATA[ + #reference-overlapped-red { + position: absolute; + background-color: red; + width: 100px; + height: 100px; + z-index: -1; + } + + #constrained-flex { + display: flex; + flex-direction: column; + width: 100px; + height: 10px; + } + + #test-flex-item-overlapping-green { + display: flex; + flex-basis: 0; + color: green; + background-color: green; + font: 50px/1 Ahem; + } + + #content-100x100 { + width: 100px; + height: 100px; + } + ]]></style> + </head> + <body> + <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> + + <div id="reference-overlapped-red"></div> + <div id="constrained-flex"> + <div id="test-flex-item-overlapping-green"> + <div id="content-100x100"></div> + </div> + </div> + </body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/reference/flex-flexitem-percentage-prescation-ref.html b/tests/wpt/web-platform-tests/css/css-flexbox/reference/flex-flexitem-percentage-prescation-ref.html index 0df65aacc4a..ccf4616a603 100644 --- a/tests/wpt/web-platform-tests/css/css-flexbox/reference/flex-flexitem-percentage-prescation-ref.html +++ b/tests/wpt/web-platform-tests/css/css-flexbox/reference/flex-flexitem-percentage-prescation-ref.html @@ -7,7 +7,7 @@ <style> #test { - background: blue; + background: red; position:relative; height:300px; width:101px; @@ -23,8 +23,8 @@ <body> <div id="test"> <div id="test"> - <p style="background:green;top:0px;height:300px;left:0px;height:300px;width:50.5px;">damer</p> - <p style="top:0px;left:50.5px;height:300px;background:Red;width:50.5px;">damer</p> + <p style="background:green;top:0px;height:300px;left:0px;height:300px;width:50.5px;">d</p> + <p style="top:0px;left:50.5px;height:300px;background:olive;width:50.5px;">d</p> </div> </div> </body> diff --git a/tests/wpt/web-platform-tests/css/css-fonts/font-feature-resolution-001-ref.html b/tests/wpt/web-platform-tests/css/css-fonts/font-feature-resolution-001-ref.html new file mode 100644 index 00000000000..db41a32f251 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-fonts/font-feature-resolution-001-ref.html @@ -0,0 +1,356 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title>CSS Test: feature property settings are resolved in the correct order for 'liga'.</title> +<link rel="author" title="Ben Wagner" href="bungeman@chromium.org" /> +<link rel="help" href="https://www.w3.org/TR/css-fonts-3/#feature-precedence" /> +<style> + @font-face { + font-family: lato-ffs-; + src: url(support/fonts/Lato-Medium.ttf); + } + .test, .ref { + font-family: lato-ffs-; + font-size: 2em; + position: absolute; + } + .test { color: green; } + .ref { color: red; } + + .align { width: 1em; } + + .ls-0 { letter-spacing: 0em; } + .ls-1 { letter-spacing: 0.1em; } +</style> +</head> +<body> +<p>Test passes if there is no red visible.</p> +<table class="ref"><tr> + + <td class="align ff- fvl- ls- ffs- ">fi</td> + <td class="align ff- fvl- ls- ffs-n">fi</td> + <td class="align ff- fvl- ls- ffs-0">f‌i</td> + <td class="align ff- fvl- ls- ffs-1">fi</td> + <td class="align ff- fvl- ls-0 ffs- ">fi</td> + <td class="align ff- fvl- ls-0 ffs-n">fi</td> + <td class="align ff- fvl- ls-0 ffs-0">f‌i</td> + <td class="align ff- fvl- ls-0 ffs-1">fi</td> + <td class="align ff- fvl- ls-1 ffs- ">f‌i</td> + <td class="align ff- fvl- ls-1 ffs-n">f‌i</td> + <td class="align ff- fvl- ls-1 ffs-0">f‌i</td> + <td class="align ff- fvl- ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff- fvl-n ls- ffs- ">fi</td> + <td class="align ff- fvl-n ls- ffs-n">fi</td> + <td class="align ff- fvl-n ls- ffs-0">f‌i</td> + <td class="align ff- fvl-n ls- ffs-1">fi</td> + <td class="align ff- fvl-n ls-0 ffs- ">fi</td> + <td class="align ff- fvl-n ls-0 ffs-n">fi</td> + <td class="align ff- fvl-n ls-0 ffs-0">f‌i</td> + <td class="align ff- fvl-n ls-0 ffs-1">fi</td> + <td class="align ff- fvl-n ls-1 ffs- ">f‌i</td> + <td class="align ff- fvl-n ls-1 ffs-n">f‌i</td> + <td class="align ff- fvl-n ls-1 ffs-0">f‌i</td> + <td class="align ff- fvl-n ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff- fvl-0 ls- ffs- ">f‌i</td> + <td class="align ff- fvl-0 ls- ffs-n">f‌i</td> + <td class="align ff- fvl-0 ls- ffs-0">f‌i</td> + <td class="align ff- fvl-0 ls- ffs-1">fi</td> + <td class="align ff- fvl-0 ls-0 ffs- ">f‌i</td> + <td class="align ff- fvl-0 ls-0 ffs-n">f‌i</td> + <td class="align ff- fvl-0 ls-0 ffs-0">f‌i</td> + <td class="align ff- fvl-0 ls-0 ffs-1">fi</td> + <td class="align ff- fvl-0 ls-1 ffs- ">f‌i</td> + <td class="align ff- fvl-0 ls-1 ffs-n">f‌i</td> + <td class="align ff- fvl-0 ls-1 ffs-0">f‌i</td> + <td class="align ff- fvl-0 ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff- fvl-1 ls- ffs- ">fi</td> + <td class="align ff- fvl-1 ls- ffs-n">fi</td> + <td class="align ff- fvl-1 ls- ffs-0">f‌i</td> + <td class="align ff- fvl-1 ls- ffs-1">fi</td> + <td class="align ff- fvl-1 ls-0 ffs- ">fi</td> + <td class="align ff- fvl-1 ls-0 ffs-n">fi</td> + <td class="align ff- fvl-1 ls-0 ffs-0">f‌i</td> + <td class="align ff- fvl-1 ls-0 ffs-1">fi</td> + <td class="align ff- fvl-1 ls-1 ffs- ">f‌i</td> + <td class="align ff- fvl-1 ls-1 ffs-n">f‌i</td> + <td class="align ff- fvl-1 ls-1 ffs-0">f‌i</td> + <td class="align ff- fvl-1 ls-1 ffs-1">fi</td> + +</tr><tr> + + <td class="align ff-0 fvl- ls- ffs- ">f‌i</td> + <td class="align ff-0 fvl- ls- ffs-n">f‌i</td> + <td class="align ff-0 fvl- ls- ffs-0">f‌i</td> + <td class="align ff-0 fvl- ls- ffs-1">fi</td> + <td class="align ff-0 fvl- ls-0 ffs- ">f‌i</td> + <td class="align ff-0 fvl- ls-0 ffs-n">f‌i</td> + <td class="align ff-0 fvl- ls-0 ffs-0">f‌i</td> + <td class="align ff-0 fvl- ls-0 ffs-1">fi</td> + <td class="align ff-0 fvl- ls-1 ffs- ">f‌i</td> + <td class="align ff-0 fvl- ls-1 ffs-n">f‌i</td> + <td class="align ff-0 fvl- ls-1 ffs-0">f‌i</td> + <td class="align ff-0 fvl- ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-0 fvl-n ls- ffs- ">f‌i</td> + <td class="align ff-0 fvl-n ls- ffs-n">f‌i</td> + <td class="align ff-0 fvl-n ls- ffs-0">f‌i</td> + <td class="align ff-0 fvl-n ls- ffs-1">fi</td> + <td class="align ff-0 fvl-n ls-0 ffs- ">f‌i</td> + <td class="align ff-0 fvl-n ls-0 ffs-n">f‌i</td> + <td class="align ff-0 fvl-n ls-0 ffs-0">f‌i</td> + <td class="align ff-0 fvl-n ls-0 ffs-1">fi</td> + <td class="align ff-0 fvl-n ls-1 ffs- ">f‌i</td> + <td class="align ff-0 fvl-n ls-1 ffs-n">f‌i</td> + <td class="align ff-0 fvl-n ls-1 ffs-0">f‌i</td> + <td class="align ff-0 fvl-n ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-0 fvl-0 ls- ffs- ">f‌i</td> + <td class="align ff-0 fvl-0 ls- ffs-n">f‌i</td> + <td class="align ff-0 fvl-0 ls- ffs-0">f‌i</td> + <td class="align ff-0 fvl-0 ls- ffs-1">fi</td> + <td class="align ff-0 fvl-0 ls-0 ffs- ">f‌i</td> + <td class="align ff-0 fvl-0 ls-0 ffs-n">f‌i</td> + <td class="align ff-0 fvl-0 ls-0 ffs-0">f‌i</td> + <td class="align ff-0 fvl-0 ls-0 ffs-1">fi</td> + <td class="align ff-0 fvl-0 ls-1 ffs- ">f‌i</td> + <td class="align ff-0 fvl-0 ls-1 ffs-n">f‌i</td> + <td class="align ff-0 fvl-0 ls-1 ffs-0">f‌i</td> + <td class="align ff-0 fvl-0 ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-0 fvl-1 ls- ffs- ">fi</td> + <td class="align ff-0 fvl-1 ls- ffs-n">fi</td> + <td class="align ff-0 fvl-1 ls- ffs-0">f‌i</td> + <td class="align ff-0 fvl-1 ls- ffs-1">fi</td> + <td class="align ff-0 fvl-1 ls-0 ffs- ">fi</td> + <td class="align ff-0 fvl-1 ls-0 ffs-n">fi</td> + <td class="align ff-0 fvl-1 ls-0 ffs-0">f‌i</td> + <td class="align ff-0 fvl-1 ls-0 ffs-1">fi</td> + <td class="align ff-0 fvl-1 ls-1 ffs- ">f‌i</td> + <td class="align ff-0 fvl-1 ls-1 ffs-n">f‌i</td> + <td class="align ff-0 fvl-1 ls-1 ffs-0">f‌i</td> + <td class="align ff-0 fvl-1 ls-1 ffs-1">fi</td> + +</tr><tr> + + <td class="align ff-1 fvl- ls- ffs- ">fi</td> + <td class="align ff-1 fvl- ls- ffs-n">fi</td> + <td class="align ff-1 fvl- ls- ffs-0">f‌i</td> + <td class="align ff-1 fvl- ls- ffs-1">fi</td> + <td class="align ff-1 fvl- ls-0 ffs- ">fi</td> + <td class="align ff-1 fvl- ls-0 ffs-n">fi</td> + <td class="align ff-1 fvl- ls-0 ffs-0">f‌i</td> + <td class="align ff-1 fvl- ls-0 ffs-1">fi</td> + <td class="align ff-1 fvl- ls-1 ffs- ">f‌i</td> + <td class="align ff-1 fvl- ls-1 ffs-n">f‌i</td> + <td class="align ff-1 fvl- ls-1 ffs-0">f‌i</td> + <td class="align ff-1 fvl- ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-1 fvl-n ls- ffs- ">fi</td> + <td class="align ff-1 fvl-n ls- ffs-n">fi</td> + <td class="align ff-1 fvl-n ls- ffs-0">f‌i</td> + <td class="align ff-1 fvl-n ls- ffs-1">fi</td> + <td class="align ff-1 fvl-n ls-0 ffs- ">fi</td> + <td class="align ff-1 fvl-n ls-0 ffs-n">fi</td> + <td class="align ff-1 fvl-n ls-0 ffs-0">f‌i</td> + <td class="align ff-1 fvl-n ls-0 ffs-1">fi</td> + <td class="align ff-1 fvl-n ls-1 ffs- ">f‌i</td> + <td class="align ff-1 fvl-n ls-1 ffs-n">f‌i</td> + <td class="align ff-1 fvl-n ls-1 ffs-0">f‌i</td> + <td class="align ff-1 fvl-n ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-1 fvl-0 ls- ffs- ">f‌i</td> + <td class="align ff-1 fvl-0 ls- ffs-n">f‌i</td> + <td class="align ff-1 fvl-0 ls- ffs-0">f‌i</td> + <td class="align ff-1 fvl-0 ls- ffs-1">fi</td> + <td class="align ff-1 fvl-0 ls-0 ffs- ">f‌i</td> + <td class="align ff-1 fvl-0 ls-0 ffs-n">f‌i</td> + <td class="align ff-1 fvl-0 ls-0 ffs-0">f‌i</td> + <td class="align ff-1 fvl-0 ls-0 ffs-1">fi</td> + <td class="align ff-1 fvl-0 ls-1 ffs- ">f‌i</td> + <td class="align ff-1 fvl-0 ls-1 ffs-n">f‌i</td> + <td class="align ff-1 fvl-0 ls-1 ffs-0">f‌i</td> + <td class="align ff-1 fvl-0 ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-1 fvl-1 ls- ffs- ">fi</td> + <td class="align ff-1 fvl-1 ls- ffs-n">fi</td> + <td class="align ff-1 fvl-1 ls- ffs-0">f‌i</td> + <td class="align ff-1 fvl-1 ls- ffs-1">fi</td> + <td class="align ff-1 fvl-1 ls-0 ffs- ">fi</td> + <td class="align ff-1 fvl-1 ls-0 ffs-n">fi</td> + <td class="align ff-1 fvl-1 ls-0 ffs-0">f‌i</td> + <td class="align ff-1 fvl-1 ls-0 ffs-1">fi</td> + <td class="align ff-1 fvl-1 ls-1 ffs- ">f‌i</td> + <td class="align ff-1 fvl-1 ls-1 ffs-n">f‌i</td> + <td class="align ff-1 fvl-1 ls-1 ffs-0">f‌i</td> + <td class="align ff-1 fvl-1 ls-1 ffs-1">fi</td> + +</tr></table> +<table class="test"><tr> + + <td class="align ff- fvl- ls- ffs- ">fi</td> + <td class="align ff- fvl- ls- ffs-n">fi</td> + <td class="align ff- fvl- ls- ffs-0">f‌i</td> + <td class="align ff- fvl- ls- ffs-1">fi</td> + <td class="align ff- fvl- ls-0 ffs- ">fi</td> + <td class="align ff- fvl- ls-0 ffs-n">fi</td> + <td class="align ff- fvl- ls-0 ffs-0">f‌i</td> + <td class="align ff- fvl- ls-0 ffs-1">fi</td> + <td class="align ff- fvl- ls-1 ffs- ">f‌i</td> + <td class="align ff- fvl- ls-1 ffs-n">f‌i</td> + <td class="align ff- fvl- ls-1 ffs-0">f‌i</td> + <td class="align ff- fvl- ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff- fvl-n ls- ffs- ">fi</td> + <td class="align ff- fvl-n ls- ffs-n">fi</td> + <td class="align ff- fvl-n ls- ffs-0">f‌i</td> + <td class="align ff- fvl-n ls- ffs-1">fi</td> + <td class="align ff- fvl-n ls-0 ffs- ">fi</td> + <td class="align ff- fvl-n ls-0 ffs-n">fi</td> + <td class="align ff- fvl-n ls-0 ffs-0">f‌i</td> + <td class="align ff- fvl-n ls-0 ffs-1">fi</td> + <td class="align ff- fvl-n ls-1 ffs- ">f‌i</td> + <td class="align ff- fvl-n ls-1 ffs-n">f‌i</td> + <td class="align ff- fvl-n ls-1 ffs-0">f‌i</td> + <td class="align ff- fvl-n ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff- fvl-0 ls- ffs- ">f‌i</td> + <td class="align ff- fvl-0 ls- ffs-n">f‌i</td> + <td class="align ff- fvl-0 ls- ffs-0">f‌i</td> + <td class="align ff- fvl-0 ls- ffs-1">fi</td> + <td class="align ff- fvl-0 ls-0 ffs- ">f‌i</td> + <td class="align ff- fvl-0 ls-0 ffs-n">f‌i</td> + <td class="align ff- fvl-0 ls-0 ffs-0">f‌i</td> + <td class="align ff- fvl-0 ls-0 ffs-1">fi</td> + <td class="align ff- fvl-0 ls-1 ffs- ">f‌i</td> + <td class="align ff- fvl-0 ls-1 ffs-n">f‌i</td> + <td class="align ff- fvl-0 ls-1 ffs-0">f‌i</td> + <td class="align ff- fvl-0 ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff- fvl-1 ls- ffs- ">fi</td> + <td class="align ff- fvl-1 ls- ffs-n">fi</td> + <td class="align ff- fvl-1 ls- ffs-0">f‌i</td> + <td class="align ff- fvl-1 ls- ffs-1">fi</td> + <td class="align ff- fvl-1 ls-0 ffs- ">fi</td> + <td class="align ff- fvl-1 ls-0 ffs-n">fi</td> + <td class="align ff- fvl-1 ls-0 ffs-0">f‌i</td> + <td class="align ff- fvl-1 ls-0 ffs-1">fi</td> + <td class="align ff- fvl-1 ls-1 ffs- ">f‌i</td> + <td class="align ff- fvl-1 ls-1 ffs-n">f‌i</td> + <td class="align ff- fvl-1 ls-1 ffs-0">f‌i</td> + <td class="align ff- fvl-1 ls-1 ffs-1">fi</td> + +</tr><tr> + + <td class="align ff-0 fvl- ls- ffs- ">f‌i</td> + <td class="align ff-0 fvl- ls- ffs-n">f‌i</td> + <td class="align ff-0 fvl- ls- ffs-0">f‌i</td> + <td class="align ff-0 fvl- ls- ffs-1">fi</td> + <td class="align ff-0 fvl- ls-0 ffs- ">f‌i</td> + <td class="align ff-0 fvl- ls-0 ffs-n">f‌i</td> + <td class="align ff-0 fvl- ls-0 ffs-0">f‌i</td> + <td class="align ff-0 fvl- ls-0 ffs-1">fi</td> + <td class="align ff-0 fvl- ls-1 ffs- ">f‌i</td> + <td class="align ff-0 fvl- ls-1 ffs-n">f‌i</td> + <td class="align ff-0 fvl- ls-1 ffs-0">f‌i</td> + <td class="align ff-0 fvl- ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-0 fvl-n ls- ffs- ">f‌i</td> + <td class="align ff-0 fvl-n ls- ffs-n">f‌i</td> + <td class="align ff-0 fvl-n ls- ffs-0">f‌i</td> + <td class="align ff-0 fvl-n ls- ffs-1">fi</td> + <td class="align ff-0 fvl-n ls-0 ffs- ">f‌i</td> + <td class="align ff-0 fvl-n ls-0 ffs-n">f‌i</td> + <td class="align ff-0 fvl-n ls-0 ffs-0">f‌i</td> + <td class="align ff-0 fvl-n ls-0 ffs-1">fi</td> + <td class="align ff-0 fvl-n ls-1 ffs- ">f‌i</td> + <td class="align ff-0 fvl-n ls-1 ffs-n">f‌i</td> + <td class="align ff-0 fvl-n ls-1 ffs-0">f‌i</td> + <td class="align ff-0 fvl-n ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-0 fvl-0 ls- ffs- ">f‌i</td> + <td class="align ff-0 fvl-0 ls- ffs-n">f‌i</td> + <td class="align ff-0 fvl-0 ls- ffs-0">f‌i</td> + <td class="align ff-0 fvl-0 ls- ffs-1">fi</td> + <td class="align ff-0 fvl-0 ls-0 ffs- ">f‌i</td> + <td class="align ff-0 fvl-0 ls-0 ffs-n">f‌i</td> + <td class="align ff-0 fvl-0 ls-0 ffs-0">f‌i</td> + <td class="align ff-0 fvl-0 ls-0 ffs-1">fi</td> + <td class="align ff-0 fvl-0 ls-1 ffs- ">f‌i</td> + <td class="align ff-0 fvl-0 ls-1 ffs-n">f‌i</td> + <td class="align ff-0 fvl-0 ls-1 ffs-0">f‌i</td> + <td class="align ff-0 fvl-0 ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-0 fvl-1 ls- ffs- ">fi</td> + <td class="align ff-0 fvl-1 ls- ffs-n">fi</td> + <td class="align ff-0 fvl-1 ls- ffs-0">f‌i</td> + <td class="align ff-0 fvl-1 ls- ffs-1">fi</td> + <td class="align ff-0 fvl-1 ls-0 ffs- ">fi</td> + <td class="align ff-0 fvl-1 ls-0 ffs-n">fi</td> + <td class="align ff-0 fvl-1 ls-0 ffs-0">f‌i</td> + <td class="align ff-0 fvl-1 ls-0 ffs-1">fi</td> + <td class="align ff-0 fvl-1 ls-1 ffs- ">f‌i</td> + <td class="align ff-0 fvl-1 ls-1 ffs-n">f‌i</td> + <td class="align ff-0 fvl-1 ls-1 ffs-0">f‌i</td> + <td class="align ff-0 fvl-1 ls-1 ffs-1">fi</td> + +</tr><tr> + + <td class="align ff-1 fvl- ls- ffs- ">fi</td> + <td class="align ff-1 fvl- ls- ffs-n">fi</td> + <td class="align ff-1 fvl- ls- ffs-0">f‌i</td> + <td class="align ff-1 fvl- ls- ffs-1">fi</td> + <td class="align ff-1 fvl- ls-0 ffs- ">fi</td> + <td class="align ff-1 fvl- ls-0 ffs-n">fi</td> + <td class="align ff-1 fvl- ls-0 ffs-0">f‌i</td> + <td class="align ff-1 fvl- ls-0 ffs-1">fi</td> + <td class="align ff-1 fvl- ls-1 ffs- ">f‌i</td> + <td class="align ff-1 fvl- ls-1 ffs-n">f‌i</td> + <td class="align ff-1 fvl- ls-1 ffs-0">f‌i</td> + <td class="align ff-1 fvl- ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-1 fvl-n ls- ffs- ">fi</td> + <td class="align ff-1 fvl-n ls- ffs-n">fi</td> + <td class="align ff-1 fvl-n ls- ffs-0">f‌i</td> + <td class="align ff-1 fvl-n ls- ffs-1">fi</td> + <td class="align ff-1 fvl-n ls-0 ffs- ">fi</td> + <td class="align ff-1 fvl-n ls-0 ffs-n">fi</td> + <td class="align ff-1 fvl-n ls-0 ffs-0">f‌i</td> + <td class="align ff-1 fvl-n ls-0 ffs-1">fi</td> + <td class="align ff-1 fvl-n ls-1 ffs- ">f‌i</td> + <td class="align ff-1 fvl-n ls-1 ffs-n">f‌i</td> + <td class="align ff-1 fvl-n ls-1 ffs-0">f‌i</td> + <td class="align ff-1 fvl-n ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-1 fvl-0 ls- ffs- ">f‌i</td> + <td class="align ff-1 fvl-0 ls- ffs-n">f‌i</td> + <td class="align ff-1 fvl-0 ls- ffs-0">f‌i</td> + <td class="align ff-1 fvl-0 ls- ffs-1">fi</td> + <td class="align ff-1 fvl-0 ls-0 ffs- ">f‌i</td> + <td class="align ff-1 fvl-0 ls-0 ffs-n">f‌i</td> + <td class="align ff-1 fvl-0 ls-0 ffs-0">f‌i</td> + <td class="align ff-1 fvl-0 ls-0 ffs-1">fi</td> + <td class="align ff-1 fvl-0 ls-1 ffs- ">f‌i</td> + <td class="align ff-1 fvl-0 ls-1 ffs-n">f‌i</td> + <td class="align ff-1 fvl-0 ls-1 ffs-0">f‌i</td> + <td class="align ff-1 fvl-0 ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-1 fvl-1 ls- ffs- ">fi</td> + <td class="align ff-1 fvl-1 ls- ffs-n">fi</td> + <td class="align ff-1 fvl-1 ls- ffs-0">f‌i</td> + <td class="align ff-1 fvl-1 ls- ffs-1">fi</td> + <td class="align ff-1 fvl-1 ls-0 ffs- ">fi</td> + <td class="align ff-1 fvl-1 ls-0 ffs-n">fi</td> + <td class="align ff-1 fvl-1 ls-0 ffs-0">f‌i</td> + <td class="align ff-1 fvl-1 ls-0 ffs-1">fi</td> + <td class="align ff-1 fvl-1 ls-1 ffs- ">f‌i</td> + <td class="align ff-1 fvl-1 ls-1 ffs-n">f‌i</td> + <td class="align ff-1 fvl-1 ls-1 ffs-0">f‌i</td> + <td class="align ff-1 fvl-1 ls-1 ffs-1">fi</td> + +</tr></table> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-fonts/font-feature-resolution-001.html b/tests/wpt/web-platform-tests/css/css-fonts/font-feature-resolution-001.html new file mode 100644 index 00000000000..6d066176622 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-fonts/font-feature-resolution-001.html @@ -0,0 +1,383 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title>CSS Test: feature property settings are resolved in the correct order for 'liga'.</title> +<link rel="author" title="Ben Wagner" href="bungeman@chromium.org" /> +<link rel="help" href="https://www.w3.org/TR/css-fonts-3/#feature-precedence" /> +<link rel="match" href="font-feature-resolution-001-ref.html" /> +<meta name="assert" content="default < @font-face < font-variant < letter-spacing < font-feature-settings" /> +<style> + @font-face { + font-family: lato-ffs-; + src: url(support/fonts/Lato-Medium.ttf); + } + @font-face { + font-family: lato-ffs-0; + src: url(support/fonts/Lato-Medium.ttf); + font-feature-settings: 'liga' off; + } + @font-face { + font-family: lato-ffs-1; + src: url(support/fonts/Lato-Medium.ttf); + font-feature-settings: 'liga' on; + } + .test, .ref { + font-family: lato-ffs-; + font-size: 2em; + position: absolute; + } + .test { color: green; } + .ref { color: red; } + + .align { width: 1em; } + + .ff- { font-family: lato-ffs- ; } + .ff-0 { font-family: lato-ffs-0; } + .ff-1 { font-family: lato-ffs-1; } + + .fvl- { } + .fvl-n { font-variant-ligatures: normal; } + .fvl-0 { font-variant-ligatures: no-common-ligatures; } + .fvl-1 { font-variant-ligatures: common-ligatures; } + + .ls- { } + .ls-0 { letter-spacing: 0em; } + .ls-1 { letter-spacing: 0.1em; } + + .ffs- { } + .ffs-n { font-feature-settings: normal; } + .ffs-0 { font-feature-settings: 'liga' off; } + .ffs-1 { font-feature-settings: 'liga' on; } +</style> +</head> +<body> +<p>Test passes if there is no red visible.</p> +<table class="ref"><tr> + + <td class="align ff- fvl- ls- ffs- ">fi</td> + <td class="align ff- fvl- ls- ffs-n">fi</td> + <td class="align ff- fvl- ls- ffs-0">f‌i</td> + <td class="align ff- fvl- ls- ffs-1">fi</td> + <td class="align ff- fvl- ls-0 ffs- ">fi</td> + <td class="align ff- fvl- ls-0 ffs-n">fi</td> + <td class="align ff- fvl- ls-0 ffs-0">f‌i</td> + <td class="align ff- fvl- ls-0 ffs-1">fi</td> + <td class="align ff- fvl- ls-1 ffs- ">f‌i</td> + <td class="align ff- fvl- ls-1 ffs-n">f‌i</td> + <td class="align ff- fvl- ls-1 ffs-0">f‌i</td> + <td class="align ff- fvl- ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff- fvl-n ls- ffs- ">fi</td> + <td class="align ff- fvl-n ls- ffs-n">fi</td> + <td class="align ff- fvl-n ls- ffs-0">f‌i</td> + <td class="align ff- fvl-n ls- ffs-1">fi</td> + <td class="align ff- fvl-n ls-0 ffs- ">fi</td> + <td class="align ff- fvl-n ls-0 ffs-n">fi</td> + <td class="align ff- fvl-n ls-0 ffs-0">f‌i</td> + <td class="align ff- fvl-n ls-0 ffs-1">fi</td> + <td class="align ff- fvl-n ls-1 ffs- ">f‌i</td> + <td class="align ff- fvl-n ls-1 ffs-n">f‌i</td> + <td class="align ff- fvl-n ls-1 ffs-0">f‌i</td> + <td class="align ff- fvl-n ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff- fvl-0 ls- ffs- ">f‌i</td> + <td class="align ff- fvl-0 ls- ffs-n">f‌i</td> + <td class="align ff- fvl-0 ls- ffs-0">f‌i</td> + <td class="align ff- fvl-0 ls- ffs-1">fi</td> + <td class="align ff- fvl-0 ls-0 ffs- ">f‌i</td> + <td class="align ff- fvl-0 ls-0 ffs-n">f‌i</td> + <td class="align ff- fvl-0 ls-0 ffs-0">f‌i</td> + <td class="align ff- fvl-0 ls-0 ffs-1">fi</td> + <td class="align ff- fvl-0 ls-1 ffs- ">f‌i</td> + <td class="align ff- fvl-0 ls-1 ffs-n">f‌i</td> + <td class="align ff- fvl-0 ls-1 ffs-0">f‌i</td> + <td class="align ff- fvl-0 ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff- fvl-1 ls- ffs- ">fi</td> + <td class="align ff- fvl-1 ls- ffs-n">fi</td> + <td class="align ff- fvl-1 ls- ffs-0">f‌i</td> + <td class="align ff- fvl-1 ls- ffs-1">fi</td> + <td class="align ff- fvl-1 ls-0 ffs- ">fi</td> + <td class="align ff- fvl-1 ls-0 ffs-n">fi</td> + <td class="align ff- fvl-1 ls-0 ffs-0">f‌i</td> + <td class="align ff- fvl-1 ls-0 ffs-1">fi</td> + <td class="align ff- fvl-1 ls-1 ffs- ">f‌i</td> + <td class="align ff- fvl-1 ls-1 ffs-n">f‌i</td> + <td class="align ff- fvl-1 ls-1 ffs-0">f‌i</td> + <td class="align ff- fvl-1 ls-1 ffs-1">fi</td> + +</tr><tr> + + <td class="align ff-0 fvl- ls- ffs- ">f‌i</td> + <td class="align ff-0 fvl- ls- ffs-n">f‌i</td> + <td class="align ff-0 fvl- ls- ffs-0">f‌i</td> + <td class="align ff-0 fvl- ls- ffs-1">fi</td> + <td class="align ff-0 fvl- ls-0 ffs- ">f‌i</td> + <td class="align ff-0 fvl- ls-0 ffs-n">f‌i</td> + <td class="align ff-0 fvl- ls-0 ffs-0">f‌i</td> + <td class="align ff-0 fvl- ls-0 ffs-1">fi</td> + <td class="align ff-0 fvl- ls-1 ffs- ">f‌i</td> + <td class="align ff-0 fvl- ls-1 ffs-n">f‌i</td> + <td class="align ff-0 fvl- ls-1 ffs-0">f‌i</td> + <td class="align ff-0 fvl- ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-0 fvl-n ls- ffs- ">f‌i</td> + <td class="align ff-0 fvl-n ls- ffs-n">f‌i</td> + <td class="align ff-0 fvl-n ls- ffs-0">f‌i</td> + <td class="align ff-0 fvl-n ls- ffs-1">fi</td> + <td class="align ff-0 fvl-n ls-0 ffs- ">f‌i</td> + <td class="align ff-0 fvl-n ls-0 ffs-n">f‌i</td> + <td class="align ff-0 fvl-n ls-0 ffs-0">f‌i</td> + <td class="align ff-0 fvl-n ls-0 ffs-1">fi</td> + <td class="align ff-0 fvl-n ls-1 ffs- ">f‌i</td> + <td class="align ff-0 fvl-n ls-1 ffs-n">f‌i</td> + <td class="align ff-0 fvl-n ls-1 ffs-0">f‌i</td> + <td class="align ff-0 fvl-n ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-0 fvl-0 ls- ffs- ">f‌i</td> + <td class="align ff-0 fvl-0 ls- ffs-n">f‌i</td> + <td class="align ff-0 fvl-0 ls- ffs-0">f‌i</td> + <td class="align ff-0 fvl-0 ls- ffs-1">fi</td> + <td class="align ff-0 fvl-0 ls-0 ffs- ">f‌i</td> + <td class="align ff-0 fvl-0 ls-0 ffs-n">f‌i</td> + <td class="align ff-0 fvl-0 ls-0 ffs-0">f‌i</td> + <td class="align ff-0 fvl-0 ls-0 ffs-1">fi</td> + <td class="align ff-0 fvl-0 ls-1 ffs- ">f‌i</td> + <td class="align ff-0 fvl-0 ls-1 ffs-n">f‌i</td> + <td class="align ff-0 fvl-0 ls-1 ffs-0">f‌i</td> + <td class="align ff-0 fvl-0 ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-0 fvl-1 ls- ffs- ">fi</td> + <td class="align ff-0 fvl-1 ls- ffs-n">fi</td> + <td class="align ff-0 fvl-1 ls- ffs-0">f‌i</td> + <td class="align ff-0 fvl-1 ls- ffs-1">fi</td> + <td class="align ff-0 fvl-1 ls-0 ffs- ">fi</td> + <td class="align ff-0 fvl-1 ls-0 ffs-n">fi</td> + <td class="align ff-0 fvl-1 ls-0 ffs-0">f‌i</td> + <td class="align ff-0 fvl-1 ls-0 ffs-1">fi</td> + <td class="align ff-0 fvl-1 ls-1 ffs- ">f‌i</td> + <td class="align ff-0 fvl-1 ls-1 ffs-n">f‌i</td> + <td class="align ff-0 fvl-1 ls-1 ffs-0">f‌i</td> + <td class="align ff-0 fvl-1 ls-1 ffs-1">fi</td> + +</tr><tr> + + <td class="align ff-1 fvl- ls- ffs- ">fi</td> + <td class="align ff-1 fvl- ls- ffs-n">fi</td> + <td class="align ff-1 fvl- ls- ffs-0">f‌i</td> + <td class="align ff-1 fvl- ls- ffs-1">fi</td> + <td class="align ff-1 fvl- ls-0 ffs- ">fi</td> + <td class="align ff-1 fvl- ls-0 ffs-n">fi</td> + <td class="align ff-1 fvl- ls-0 ffs-0">f‌i</td> + <td class="align ff-1 fvl- ls-0 ffs-1">fi</td> + <td class="align ff-1 fvl- ls-1 ffs- ">f‌i</td> + <td class="align ff-1 fvl- ls-1 ffs-n">f‌i</td> + <td class="align ff-1 fvl- ls-1 ffs-0">f‌i</td> + <td class="align ff-1 fvl- ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-1 fvl-n ls- ffs- ">fi</td> + <td class="align ff-1 fvl-n ls- ffs-n">fi</td> + <td class="align ff-1 fvl-n ls- ffs-0">f‌i</td> + <td class="align ff-1 fvl-n ls- ffs-1">fi</td> + <td class="align ff-1 fvl-n ls-0 ffs- ">fi</td> + <td class="align ff-1 fvl-n ls-0 ffs-n">fi</td> + <td class="align ff-1 fvl-n ls-0 ffs-0">f‌i</td> + <td class="align ff-1 fvl-n ls-0 ffs-1">fi</td> + <td class="align ff-1 fvl-n ls-1 ffs- ">f‌i</td> + <td class="align ff-1 fvl-n ls-1 ffs-n">f‌i</td> + <td class="align ff-1 fvl-n ls-1 ffs-0">f‌i</td> + <td class="align ff-1 fvl-n ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-1 fvl-0 ls- ffs- ">f‌i</td> + <td class="align ff-1 fvl-0 ls- ffs-n">f‌i</td> + <td class="align ff-1 fvl-0 ls- ffs-0">f‌i</td> + <td class="align ff-1 fvl-0 ls- ffs-1">fi</td> + <td class="align ff-1 fvl-0 ls-0 ffs- ">f‌i</td> + <td class="align ff-1 fvl-0 ls-0 ffs-n">f‌i</td> + <td class="align ff-1 fvl-0 ls-0 ffs-0">f‌i</td> + <td class="align ff-1 fvl-0 ls-0 ffs-1">fi</td> + <td class="align ff-1 fvl-0 ls-1 ffs- ">f‌i</td> + <td class="align ff-1 fvl-0 ls-1 ffs-n">f‌i</td> + <td class="align ff-1 fvl-0 ls-1 ffs-0">f‌i</td> + <td class="align ff-1 fvl-0 ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-1 fvl-1 ls- ffs- ">fi</td> + <td class="align ff-1 fvl-1 ls- ffs-n">fi</td> + <td class="align ff-1 fvl-1 ls- ffs-0">f‌i</td> + <td class="align ff-1 fvl-1 ls- ffs-1">fi</td> + <td class="align ff-1 fvl-1 ls-0 ffs- ">fi</td> + <td class="align ff-1 fvl-1 ls-0 ffs-n">fi</td> + <td class="align ff-1 fvl-1 ls-0 ffs-0">f‌i</td> + <td class="align ff-1 fvl-1 ls-0 ffs-1">fi</td> + <td class="align ff-1 fvl-1 ls-1 ffs- ">f‌i</td> + <td class="align ff-1 fvl-1 ls-1 ffs-n">f‌i</td> + <td class="align ff-1 fvl-1 ls-1 ffs-0">f‌i</td> + <td class="align ff-1 fvl-1 ls-1 ffs-1">fi</td> + +</tr></table> +<table class="test"><tr> + + <td class="align ff- fvl- ls- ffs- ">fi</td> + <td class="align ff- fvl- ls- ffs-n">fi</td> + <td class="align ff- fvl- ls- ffs-0">fi</td> + <td class="align ff- fvl- ls- ffs-1">fi</td> + <td class="align ff- fvl- ls-0 ffs- ">fi</td> + <td class="align ff- fvl- ls-0 ffs-n">fi</td> + <td class="align ff- fvl- ls-0 ffs-0">fi</td> + <td class="align ff- fvl- ls-0 ffs-1">fi</td> + <td class="align ff- fvl- ls-1 ffs- ">fi</td> + <td class="align ff- fvl- ls-1 ffs-n">fi</td> + <td class="align ff- fvl- ls-1 ffs-0">fi</td> + <td class="align ff- fvl- ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff- fvl-n ls- ffs- ">fi</td> + <td class="align ff- fvl-n ls- ffs-n">fi</td> + <td class="align ff- fvl-n ls- ffs-0">fi</td> + <td class="align ff- fvl-n ls- ffs-1">fi</td> + <td class="align ff- fvl-n ls-0 ffs- ">fi</td> + <td class="align ff- fvl-n ls-0 ffs-n">fi</td> + <td class="align ff- fvl-n ls-0 ffs-0">fi</td> + <td class="align ff- fvl-n ls-0 ffs-1">fi</td> + <td class="align ff- fvl-n ls-1 ffs- ">fi</td> + <td class="align ff- fvl-n ls-1 ffs-n">fi</td> + <td class="align ff- fvl-n ls-1 ffs-0">fi</td> + <td class="align ff- fvl-n ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff- fvl-0 ls- ffs- ">fi</td> + <td class="align ff- fvl-0 ls- ffs-n">fi</td> + <td class="align ff- fvl-0 ls- ffs-0">fi</td> + <td class="align ff- fvl-0 ls- ffs-1">fi</td> + <td class="align ff- fvl-0 ls-0 ffs- ">fi</td> + <td class="align ff- fvl-0 ls-0 ffs-n">fi</td> + <td class="align ff- fvl-0 ls-0 ffs-0">fi</td> + <td class="align ff- fvl-0 ls-0 ffs-1">fi</td> + <td class="align ff- fvl-0 ls-1 ffs- ">fi</td> + <td class="align ff- fvl-0 ls-1 ffs-n">fi</td> + <td class="align ff- fvl-0 ls-1 ffs-0">fi</td> + <td class="align ff- fvl-0 ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff- fvl-1 ls- ffs- ">fi</td> + <td class="align ff- fvl-1 ls- ffs-n">fi</td> + <td class="align ff- fvl-1 ls- ffs-0">fi</td> + <td class="align ff- fvl-1 ls- ffs-1">fi</td> + <td class="align ff- fvl-1 ls-0 ffs- ">fi</td> + <td class="align ff- fvl-1 ls-0 ffs-n">fi</td> + <td class="align ff- fvl-1 ls-0 ffs-0">fi</td> + <td class="align ff- fvl-1 ls-0 ffs-1">fi</td> + <td class="align ff- fvl-1 ls-1 ffs- ">fi</td> + <td class="align ff- fvl-1 ls-1 ffs-n">fi</td> + <td class="align ff- fvl-1 ls-1 ffs-0">fi</td> + <td class="align ff- fvl-1 ls-1 ffs-1">fi</td> + +</tr><tr> + + <td class="align ff-0 fvl- ls- ffs- ">fi</td> + <td class="align ff-0 fvl- ls- ffs-n">fi</td> + <td class="align ff-0 fvl- ls- ffs-0">fi</td> + <td class="align ff-0 fvl- ls- ffs-1">fi</td> + <td class="align ff-0 fvl- ls-0 ffs- ">fi</td> + <td class="align ff-0 fvl- ls-0 ffs-n">fi</td> + <td class="align ff-0 fvl- ls-0 ffs-0">fi</td> + <td class="align ff-0 fvl- ls-0 ffs-1">fi</td> + <td class="align ff-0 fvl- ls-1 ffs- ">fi</td> + <td class="align ff-0 fvl- ls-1 ffs-n">fi</td> + <td class="align ff-0 fvl- ls-1 ffs-0">fi</td> + <td class="align ff-0 fvl- ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-0 fvl-n ls- ffs- ">fi</td> + <td class="align ff-0 fvl-n ls- ffs-n">fi</td> + <td class="align ff-0 fvl-n ls- ffs-0">fi</td> + <td class="align ff-0 fvl-n ls- ffs-1">fi</td> + <td class="align ff-0 fvl-n ls-0 ffs- ">fi</td> + <td class="align ff-0 fvl-n ls-0 ffs-n">fi</td> + <td class="align ff-0 fvl-n ls-0 ffs-0">fi</td> + <td class="align ff-0 fvl-n ls-0 ffs-1">fi</td> + <td class="align ff-0 fvl-n ls-1 ffs- ">fi</td> + <td class="align ff-0 fvl-n ls-1 ffs-n">fi</td> + <td class="align ff-0 fvl-n ls-1 ffs-0">fi</td> + <td class="align ff-0 fvl-n ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-0 fvl-0 ls- ffs- ">fi</td> + <td class="align ff-0 fvl-0 ls- ffs-n">fi</td> + <td class="align ff-0 fvl-0 ls- ffs-0">fi</td> + <td class="align ff-0 fvl-0 ls- ffs-1">fi</td> + <td class="align ff-0 fvl-0 ls-0 ffs- ">fi</td> + <td class="align ff-0 fvl-0 ls-0 ffs-n">fi</td> + <td class="align ff-0 fvl-0 ls-0 ffs-0">fi</td> + <td class="align ff-0 fvl-0 ls-0 ffs-1">fi</td> + <td class="align ff-0 fvl-0 ls-1 ffs- ">fi</td> + <td class="align ff-0 fvl-0 ls-1 ffs-n">fi</td> + <td class="align ff-0 fvl-0 ls-1 ffs-0">fi</td> + <td class="align ff-0 fvl-0 ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-0 fvl-1 ls- ffs- ">fi</td> + <td class="align ff-0 fvl-1 ls- ffs-n">fi</td> + <td class="align ff-0 fvl-1 ls- ffs-0">fi</td> + <td class="align ff-0 fvl-1 ls- ffs-1">fi</td> + <td class="align ff-0 fvl-1 ls-0 ffs- ">fi</td> + <td class="align ff-0 fvl-1 ls-0 ffs-n">fi</td> + <td class="align ff-0 fvl-1 ls-0 ffs-0">fi</td> + <td class="align ff-0 fvl-1 ls-0 ffs-1">fi</td> + <td class="align ff-0 fvl-1 ls-1 ffs- ">fi</td> + <td class="align ff-0 fvl-1 ls-1 ffs-n">fi</td> + <td class="align ff-0 fvl-1 ls-1 ffs-0">fi</td> + <td class="align ff-0 fvl-1 ls-1 ffs-1">fi</td> + +</tr><tr> + + <td class="align ff-1 fvl- ls- ffs- ">fi</td> + <td class="align ff-1 fvl- ls- ffs-n">fi</td> + <td class="align ff-1 fvl- ls- ffs-0">fi</td> + <td class="align ff-1 fvl- ls- ffs-1">fi</td> + <td class="align ff-1 fvl- ls-0 ffs- ">fi</td> + <td class="align ff-1 fvl- ls-0 ffs-n">fi</td> + <td class="align ff-1 fvl- ls-0 ffs-0">fi</td> + <td class="align ff-1 fvl- ls-0 ffs-1">fi</td> + <td class="align ff-1 fvl- ls-1 ffs- ">fi</td> + <td class="align ff-1 fvl- ls-1 ffs-n">fi</td> + <td class="align ff-1 fvl- ls-1 ffs-0">fi</td> + <td class="align ff-1 fvl- ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-1 fvl-n ls- ffs- ">fi</td> + <td class="align ff-1 fvl-n ls- ffs-n">fi</td> + <td class="align ff-1 fvl-n ls- ffs-0">fi</td> + <td class="align ff-1 fvl-n ls- ffs-1">fi</td> + <td class="align ff-1 fvl-n ls-0 ffs- ">fi</td> + <td class="align ff-1 fvl-n ls-0 ffs-n">fi</td> + <td class="align ff-1 fvl-n ls-0 ffs-0">fi</td> + <td class="align ff-1 fvl-n ls-0 ffs-1">fi</td> + <td class="align ff-1 fvl-n ls-1 ffs- ">fi</td> + <td class="align ff-1 fvl-n ls-1 ffs-n">fi</td> + <td class="align ff-1 fvl-n ls-1 ffs-0">fi</td> + <td class="align ff-1 fvl-n ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-1 fvl-0 ls- ffs- ">fi</td> + <td class="align ff-1 fvl-0 ls- ffs-n">fi</td> + <td class="align ff-1 fvl-0 ls- ffs-0">fi</td> + <td class="align ff-1 fvl-0 ls- ffs-1">fi</td> + <td class="align ff-1 fvl-0 ls-0 ffs- ">fi</td> + <td class="align ff-1 fvl-0 ls-0 ffs-n">fi</td> + <td class="align ff-1 fvl-0 ls-0 ffs-0">fi</td> + <td class="align ff-1 fvl-0 ls-0 ffs-1">fi</td> + <td class="align ff-1 fvl-0 ls-1 ffs- ">fi</td> + <td class="align ff-1 fvl-0 ls-1 ffs-n">fi</td> + <td class="align ff-1 fvl-0 ls-1 ffs-0">fi</td> + <td class="align ff-1 fvl-0 ls-1 ffs-1">fi</td> +</tr><tr> + <td class="align ff-1 fvl-1 ls- ffs- ">fi</td> + <td class="align ff-1 fvl-1 ls- ffs-n">fi</td> + <td class="align ff-1 fvl-1 ls- ffs-0">fi</td> + <td class="align ff-1 fvl-1 ls- ffs-1">fi</td> + <td class="align ff-1 fvl-1 ls-0 ffs- ">fi</td> + <td class="align ff-1 fvl-1 ls-0 ffs-n">fi</td> + <td class="align ff-1 fvl-1 ls-0 ffs-0">fi</td> + <td class="align ff-1 fvl-1 ls-0 ffs-1">fi</td> + <td class="align ff-1 fvl-1 ls-1 ffs- ">fi</td> + <td class="align ff-1 fvl-1 ls-1 ffs-n">fi</td> + <td class="align ff-1 fvl-1 ls-1 ffs-0">fi</td> + <td class="align ff-1 fvl-1 ls-1 ffs-1">fi</td> + +</tr></table> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-gap-fraction-001.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-gap-fraction-001.xht index 2c74e0db2c5..6f9f252bbae 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-gap-fraction-001.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-gap-fraction-001.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-gap" title="4.1. 'column-gap'" /> <link rel="match" href="multicol-gap-fraction-001-ref.xht" /> <meta name="flags" content="ahem" /> + <meta name="assert" content="Test checks that increasing column gaps display consistently" /> <style type="text/css"><![CDATA[ div { diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-gap-large-002.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-gap-large-002.xht index 2eaddc42e8a..2aef1cbcca2 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-gap-large-002.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-gap-large-002.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-gap" title="4.1 'column-gap" /> <link rel="match" href="multicol-gap-large-002-ref.xht" /> <meta name="flags" content="ahem" /> + <meta name="assert" content="This test checks that a large column-gap is supported. We should have two 3.5em columns with a 4em gap between them." /> <style type="text/css"><![CDATA[ div { diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-gap-negative-001.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-gap-negative-001.xht index d9efa0e84a2..c91b6970c23 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-gap-negative-001.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-gap-negative-001.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-gap" title="4.1. 'column-gap'" /> <link rel="match" href="multicol-gap-002-ref.xht" /> <meta name="flags" content="ahem invalid" /> + <meta name="asset" content="Test checks that a negative value is not allowed for column-gap" /> <style type="text/css"><![CDATA[ div { diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-inherit-001.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-inherit-001.xht index 8e19318b0c6..c8fbab6fd93 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-inherit-001.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-inherit-001.xht @@ -4,7 +4,7 @@ <title>CSS Multi-column Layout Test: multicolumn and inheritance</title> <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" /> <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-08-08 --> - <link rel="help" href="http://www.w3.org/TR/css3-multicol/#pseudo-algorithm" title="3.4 Pseudo-algorithm" /> + <link rel="help" href="http://www.w3.org/TR/css3-multicol/#the-number-and-width-of-columns" /> <link rel="match" href="multicol-inherit-001-ref.xht" /> <meta name="flags" content="ahem" /> <style type="text/css"><![CDATA[ diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-margin-child-001.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-margin-child-001.xht index 0e9abdf076a..7252d8f192a 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-margin-child-001.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-margin-child-001.xht @@ -7,7 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#the-multi-column-model" title="2. The multi-column model" /> <link rel="match" href="multicol-margin-child-001-ref.xht" /> <meta name="flags" content="ahem" /> - <meta name="assert" content="This test checks that the margin-bottom of a block child in a multi-column element will collapse with the margin-top of a following block child of that same multi-colum element if those children are vertically adjacent and if no line boxes, no clearance, no padding and no border separate them." /> + <meta name="assert" content="This test checks that the margin-bottom of a block child in a multi-column element will collapse with the margin-top of a following block child of that same multi-column element if those children are vertically adjacent and if no line boxes, no clearance, no padding and no border separate them." /> <style type="text/css"><![CDATA[ div { diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-000.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-000.xht index afff091f307..b4010acae32 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-000.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-000.xht @@ -6,6 +6,7 @@ <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-08-27 --> <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-rule" title="4.5 'column-rule'" /> <link rel="match" href="multicol-rule-000-ref.xht" /> + <meta name="assert" content="This test checks that the shorthand column-rule property draws the rule correctly." /> <meta name="flags" content="ahem" /> <style type="text/css"><![CDATA[ div diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-003.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-003.xht index 86765d13cc3..a0390bfcce5 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-003.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-003.xht @@ -6,6 +6,7 @@ <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-08-14 --> <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-gaps-and-rules" title="4. Column gaps and rules" /> <link rel="match" href="multicol-rule-003-ref.xht" /> + <meta name="assert" content="Tests that the three column-rule-* longhand properties are correctly applied." /> <meta name="flags" content="ahem" /> <style type="text/css"><![CDATA[ div diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-color-001.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-color-001.xht index ad2af9e1da1..94015bb4482 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-color-001.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-color-001.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-rule" title="4.5 'column-rule'" /> <link rel="match" href="multicol-rule-color-001-ref.xht" /> <meta name="flags" content="ahem" /> + <meta name="assert" content="Basic test that the column-rule-color property is applied." /> <style type="text/css"><![CDATA[ div { diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-dashed-000.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-dashed-000.xht index 126c7373733..09ba93c2ef7 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-dashed-000.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-dashed-000.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-rule" title="4.5 'column-rule'" /> <link rel="match" href="multicol-rule-dashed-000-ref.xht" /> <meta name="flags" content="ahem" /> + <meta name="assert" content="Tests that the dashed value of column-rule-style is correctly rendered when used in the shorthand column-rule property." /> <style type="text/css"><![CDATA[ div { diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-dotted-000.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-dotted-000.xht index 3c9f15780b5..cd903b7c8dd 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-dotted-000.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-dotted-000.xht @@ -6,6 +6,7 @@ <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-08-27 --> <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-rule" title="4.5 'column-rule'" /> <link rel="match" href="multicol-rule-dotted-000-ref.xht" /> + <meta name="assert" content="Tests that the dotted value of column-rule-style is correctly rendered when used in the shorthand column-rule property." /> <meta name="flags" content="ahem" /> <style type="text/css"><![CDATA[ div diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-double-000.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-double-000.xht index 50af31cc40c..aed6522f0bf 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-double-000.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-double-000.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-rule" title="4.5 'column-rule'" /> <link rel="match" href="multicol-rule-double-000-ref.xht" /> <meta name="flags" content="ahem" /> + <meta name="assert" content="Tests that the double value of column-rule-style is correctly rendered when used in the shorthand column-rule property." /> <style type="text/css"><![CDATA[ div { diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-fraction-001.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-fraction-001.xht index dac437dcd28..201e96fd9a1 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-fraction-001.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-fraction-001.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#crw" title="4.4. 'column-rule-width'" /> <link rel="match" href="multicol-rule-fraction-001-ref.xht" /> <meta name="flags" content="ahem" /> + <meta name="assert" content="Basic test for the column-rule-width property, checking that values above 0 but below 1 are allowed." /> <style type="text/css"><![CDATA[ div { diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-groove-000.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-groove-000.xht index 65a23bc6bfa..367bd4cc2b0 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-groove-000.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-groove-000.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-rule" title="4.5 'column-rule'" /> <link rel="match" href="multicol-rule-groove-000-ref.xht" /> <meta name="flags" content="ahem" /> + <meta name="assert" content="Test checks that the value of 'groove' for 'column-rule-style' is drawn correctly." /> <style type="text/css"><![CDATA[ div { diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-hidden-000.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-hidden-000.xht index a9648dd77ee..25c2e6a5c72 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-hidden-000.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-hidden-000.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-rule" title="4.5 'column-rule'" /> <link rel="match" href="multicol-rule-hidden-000-ref.xht" /> <meta name="flags" content="ahem" /> + <meta name="assert" content="Test checks that a column-rule-width value of hidden results in no rule being drawn." /> <style type="text/css"><![CDATA[ div { diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-none-000.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-none-000.xht index d7cabd77107..b885dade20d 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-none-000.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-none-000.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-rule" title="4.5 'column-rule'" /> <link rel="match" href="multicol-rule-hidden-000-ref.xht" /> <meta name="flags" content="ahem" /> + <meta name="assert" content="Test checks that a column-rule-width value of none results in no rule being drawn." /> <style type="text/css"><![CDATA[ div { diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-px-001.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-px-001.xht index 5df291a1922..a42d451dce5 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-px-001.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-px-001.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-gaps-and-rules"/> <link rel="match" href="multicol-rule-ref.xht"/> <meta name="flags" content="ahem"/> +<meta name="assert" content="Test checks that a column-rule-width value set in pixels is rendered correctly. The width of the rule should be 16px." /> <style type="text/css"><![CDATA[ body { margin: 0; diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-ridge-000.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-ridge-000.xht index 4cfb2369108..6d121cd0674 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-ridge-000.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-ridge-000.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-rule" title="4.5 'column-rule'" /> <link rel="match" href="multicol-rule-ridge-000-ref.xht" /> <meta name="flags" content="ahem" /> + <meta name="assert" content="Test checks that the value of 'ridge' for 'column-rule-style' is drawn correctly." /> <style type="text/css"><![CDATA[ div { diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-samelength-001.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-samelength-001.xht index e7eab8e8d47..4d6710b2335 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-samelength-001.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-samelength-001.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#crw" title="4.4. 'column-rule-width'" /> <link rel="match" href="multicol-rule-samelength-001-ref.xht" /> <meta name="flags" content="ahem" /> + <meta name="assert" content="Test that a gap of 5em and a column-rule-width of 5em both take up the same space." /> <style type="text/css"><![CDATA[ body {margin: 8px;} diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-shorthand-001.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-shorthand-001.xht index c35d4fdba04..d24c1e398d4 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-shorthand-001.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-shorthand-001.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#crw" title="4.4. 'column-rule-width'" /> <link rel="match" href="multicol-rule-samelength-001-ref.xht" /> <meta name="flags" content="ahem invalid" /> + <meta name="assert" content="Tests that column rules are not displayed for invalid properties and values."/> <style type="text/css"><![CDATA[ body {margin: 8px;} diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-shorthand-2.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-shorthand-2.xht index 4e4d94f8e83..36ae072c47c 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-shorthand-2.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-shorthand-2.xht @@ -7,7 +7,7 @@ <link rel="help" href=""/> <link rel="match" href="multicol-rule-shorthand-2-ref.xht"/> <meta name="assert" content="Tests that column rules are not displayed for invalid properties and values."/> -<meta name="flags" content="invalid"/> +<meta name="flags" content="ahem invalid"/> <style type="text/css"><![CDATA[ body { margin: 1em; diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-solid-000.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-solid-000.xht index 6553b131f4d..1d61790a2e3 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-solid-000.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-solid-000.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-rule" title="4.5 'column-rule'" /> <link rel="match" href="multicol-rule-solid-000-ref.xht" /> <meta name="flags" content="ahem" /> + <meta name="assert" content="Test checks that a column-rule-style value set as 'solid' is rendered correctly." /> <style type="text/css"><![CDATA[ div { diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-stacking-001.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-stacking-001.xht index 2794e972694..104883990c0 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-stacking-001.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-rule-stacking-001.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-gaps-and-rules"/> <link rel="match" href="multicol-rule-stacking-ref.xht"/> <meta name="flags" content="ahem"/> +<meta name="assert" content="The test checks that the span element, which has a higher 'z-index' stacks on top of the other elements in the multicol container." /> <style type="text/css"><![CDATA[ body { margin: 0; @@ -20,8 +21,6 @@ body>div { margin: 1em; border: 1em solid gray; width: 14em; - orphans: 1; - widows: 1; column-count: 4; column-gap: 1em; diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-shorthand-001.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-shorthand-001.xht index c9bfdc41482..b1e9ce932d2 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-shorthand-001.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-shorthand-001.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#the-number-and-width-of-columns"/> <link rel="match" href="multicol-rule-ref.xht"/> <meta name="flags" content="ahem invalid"/> +<meta name="assert" content="Testing that invalid property names used as a shorthand do not result in column-rules being displayed." /> <style type="text/css"><![CDATA[ body { margin: 0; @@ -26,8 +27,8 @@ body>div { column-count: 4; column-gap: 1em; column-rule: solid blue 1em; - column: normal red 1em; - columns: normal red 1em; + column: normal red 1em; /* column is not a valid property */ + columns: normal red 1em; /* columns is a shorthand for colun-width and column-count */ } span { background: blue; diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-000.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-000.xht index a5d11162ab1..ea3306ad842 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-000.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-000.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-rule" title="4.5 'column-rule'" /> <link rel="match" href="multicol-span-000-ref.xht" /> <meta name="flags" content="ahem image" /> + <meta name="assert" content="Tests that the element with an id of 'column-span' spans across all columns." /> <style type="text/css"><![CDATA[ div { diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-001.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-001.xht index a5d47812723..4790674850d 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-001.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-001.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-span" title="6.1. 'column-span'" /> <link rel="match" href="multicol-span-all-001-ref.xht" /> <meta name="flags" content="ahem" /> + <meta name="assert" content="Tests that the h4 set to 'column-span: all' spans across all columns resulting in a black bar across the multicol container." /> <style type="text/css"><![CDATA[ div { diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-002.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-002.xht index 6bd26d70412..43fb1fa562b 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-002.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-002.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-span" title="6.1. 'column-span'" /> <link rel="match" href="multicol-span-all-002-ref.xht" /> <meta name="flags" content="ahem" /> + <meta name="assert" content="Test of the situation where there is not sufficient space for the spanning element, UA may treat the element as 'column-span: none'; in which case, 'overflow: hidden' will take care of overflowed content out of multi-column box." /> <style type="text/css"><![CDATA[ div { @@ -66,4 +67,4 @@ </div> </body> -</html>
\ No newline at end of file +</html> diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-block-sibling-003.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-block-sibling-003.xht index f887d758e6a..bd2cdd6cdab 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-block-sibling-003.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-block-sibling-003.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#spanning-columns"/> <link rel="match" href="multicol-span-all-block-sibling-3-ref.xht"/> <meta name="flags" content="ahem"/> +<meta name="assert" content="Test that a block element which is a sibling of content in the multicol element acts correctly as a spanner." /> <style type="text/css"><![CDATA[ body>div { font-family: Ahem; diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-margin-001.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-margin-001.xht index 4ffc89eeb6b..d57ce234327 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-margin-001.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-margin-001.xht @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> - <title>CSS Multi-column Layout Test: 'column-span: all' element and width exceeding available multi-colum width (complex)</title> + <title>CSS Multi-column Layout Test: 'column-span: all' element and width exceeding available multi-column width (complex)</title> <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" /> <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-08-18 --> <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-span" title="6.1. 'column-span'" /> diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-margin-002.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-margin-002.xht index 27cf310f57c..c0386abfb96 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-margin-002.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-margin-002.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-span" title="6.1. 'column-span'" /> <link rel="match" href="multicol-span-all-margin-002-ref.xht" /> <meta name="flags" content="ahem" /> + <meta name="assert" content="The spanning element extends only to the width of the multicol element, despite an item in the fourth column extending into the overflow area." /> <style type="text/css"><![CDATA[ div { diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-margin-bottom-001.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-margin-bottom-001.xht index b9571bd7a2e..14fae6b819b 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-margin-bottom-001.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-margin-bottom-001.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-span" title="6.1. 'column-span'" /> <link rel="match" href="multicol-span-all-margin-bottom-001-ref.xht" /> <meta name="flags" content="ahem" /> + <meta name="assert" content="In this test, the glyphs 'or' are painted into 1st column box, the glyphs 'ang' extend outside the box, and should not be clipped. In this test they are overwritten by spans so are not visible." /> <style type="text/css"><![CDATA[ div { diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-table-cell-vertical-align-001.xht b/tests/wpt/web-platform-tests/css/css-multicol/multicol-table-cell-vertical-align-001.xht index a9176da4c62..30b0f0339ef 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-table-cell-vertical-align-001.xht +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-table-cell-vertical-align-001.xht @@ -7,6 +7,7 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#the-multi-column-model"/> <link rel="match" href="multicol-table-cell-vertical-align-ref.xht"/> <meta name="flags" content="ahem"/> +<meta name="assert" content="This test checks that 'column-count' applies to elements with 'display' set to 'table-cell' which also use 'vertical-align: middle'. The 'vertical-align' property should still apply." /> <style type="text/css"><![CDATA[ div { font-family: Ahem; diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-under-vertical-rl-scroll.html b/tests/wpt/web-platform-tests/css/css-multicol/multicol-under-vertical-rl-scroll.html index f96a26ae77b..61754e7d29d 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/multicol-under-vertical-rl-scroll.html +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-under-vertical-rl-scroll.html @@ -2,6 +2,7 @@ <title>Multicol under vertical-rl scrolling container</title> <link rel="match" href="multicol-under-vertical-rl-scroll-ref.html"> <link rel="help" href="https://drafts.csswg.org/css-multicol"> +<meta name="assert" content="Test that multicol works as expected when overflow is scrolling in vertical-rl" /> <p>Passes if there are two green squares</p> <div style="width: 200px; height: 200px; overflow: scroll; writing-mode: vertical-rl; border: 1px solid black"> <div style="columns: 2; column-gap: 20px; width: 80px; height: 180px"> diff --git a/tests/wpt/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html b/tests/wpt/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html index c0bebb07da6..4ce514f01c8 100644 --- a/tests/wpt/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html +++ b/tests/wpt/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html @@ -46,6 +46,7 @@ assert_valid("<length>", "calc(2px*4 + 10px)"); assert_valid("<length>", "7.1e-4cm"); assert_valid("<length>", "calc(7in - 12px)"); assert_valid("<length>+", "2px 7px calc(8px)"); +assert_valid("<length>#", "2px, 7px, calc(8px)"); assert_valid("<percentage>", "-9.3e3%"); assert_valid("<length-percentage>", "-54%"); assert_valid("<length-percentage>", "0"); @@ -151,6 +152,8 @@ assert_invalid("<length>", "calc(4px + 3em)"); assert_invalid("<length>", "calc(4px + calc(8 * 2em))"); assert_invalid("<length>+", "calc(2ex + 16px)"); assert_invalid("<length>+", "10px calc(20px + 4rem)"); +assert_invalid("<length>+", ""); +assert_invalid("<length>#", ""); assert_invalid("<percentage> | <length>+", "calc(100vh - 10px) 30px"); assert_invalid("<length>", "10px;"); assert_invalid("<length-percentage>", "calc(2px + 10% + 7ex)"); diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-003.html b/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-003.html deleted file mode 100644 index 58ec3f3cbd9..00000000000 --- a/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-003.html +++ /dev/null @@ -1,28 +0,0 @@ -<!DOCTYPE html> -<meta charset="utf-8"> -<title>CSS Text level 3 Test: single preserved white space at the end of the line with white-space:break-spaces overflow-wrap:break-word</title> -<link rel="author" title="Florian Rivoal" href="http://florian.rivoal.net/"> -<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2"> -<link rel="help" href="https://drafts.csswg.org/css-text-3/#overflow-wrap-property"> -<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-property"> -<link rel="match" href="reference/pre-wrap-001-ref.html"> -<meta name="assert" content="a single preserved white space at the end of the line is wrapped when the white-space property is set to break-spaces and overflow-wrap is break-word."> -<style> -div { - font-size: 20px; - font-family: Ahem; - line-height: 1em; - white-space: break-spaces; - color: green; - - background: linear-gradient(red, red) 1ch 0/2ch 2ch no-repeat; - - width: 3ch; - overflow-wrap: break-word; - margin-left: -1ch; -} -</style> -<body> - <p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p> - <div> XX XX</div> -</body> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/textarea-break-spaces-003.html b/tests/wpt/web-platform-tests/css/css-text/white-space/textarea-break-spaces-003.html deleted file mode 100644 index 364c4f522cd..00000000000 --- a/tests/wpt/web-platform-tests/css/css-text/white-space/textarea-break-spaces-003.html +++ /dev/null @@ -1,39 +0,0 @@ -<!DOCTYPE html> -<meta charset="utf-8"> -<title>CSS Text level 3 Test: single preserved white space at the end of the line with white-space:break-spaces overflow-wrap:break-word in a textarea</title> -<link rel="author" title="Florian Rivoal" href="http://florian.rivoal.net/"> -<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2"> -<link rel="help" href="https://drafts.csswg.org/css-text-3/#overflow-wrap-property"> -<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-property"> -<link rel="match" href="reference/textarea-pre-wrap-001-ref.html"> -<meta name="assert" content="a single preserved white space at the end of the line is wrapped when the white-space property is set to break-spaces and overflow-wrap is break-word in a textarea."> -<style> -textarea { - word-wrap: initial; /*deprecated alias*/ - overflow-wrap: initial; - line-break: initial; - word-break: initial; - margin: 0; - padding: 0; - border: none; - outline: none; - resize: none; - overflow: hidden; /* I don't want scrollbars, and overflow:visible isn't typically supported on textarea */ - - font-size: 20px; - font-family: Ahem; - line-height: 1em; - white-space: break-spaces; - color: green; - - background: linear-gradient(red, red) 1ch 0/2ch 2ch no-repeat; - - width: 3ch; - overflow-wrap: break-word; - margin-left: -1ch; -} -</style> -<body> - <p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p> - <textarea> XX XX</textarea> -</body> diff --git a/tests/wpt/web-platform-tests/css/css-transforms/animation/list-interpolation.html b/tests/wpt/web-platform-tests/css/css-transforms/animation/list-interpolation.html new file mode 100644 index 00000000000..91092c88aac --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-transforms/animation/list-interpolation.html @@ -0,0 +1,120 @@ +<!doctype html> +<html> +<head> +<meta charset="utf-8"> +<title>Transform list interpolation</title> +<link rel="help" href="https://drafts.csswg.org/css-transforms-1/#interpolation-of-transforms"> +<meta name="assert" content="Interpolation of transform function lists is performed as follows"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/interpolation-testcommon.js"></script> +</head> +<body> +<script> +// none -> none +test_interpolation( + { + property: 'transform', + from: 'none', + to: 'none', + }, + [{ at: 0.25, expect: 'none' }] +); + +// none -> something +test_interpolation( + { + property: 'transform', + from: 'none', + to: 'translate(200px) rotate(720deg)', + }, + [{ at: 0.25, expect: 'translate(50px) rotate(180deg)' }] +); + +// something -> none +test_interpolation( + { + property: 'transform', + from: 'translate(200px) rotate(720deg)', + to: 'none', + }, + [{ at: 0.25, expect: 'translate(150px) rotate(540deg)' }] +); + +// Mismatched lengths (from is shorter), common part matches +test_interpolation( + { + property: 'transform', + from: 'translate(100px)', + to: 'translate(200px) rotate(720deg)', + }, + [{ at: 0.25, expect: 'translate(125px) rotate(180deg)' }] +); + +// Mismatched lengths (to is shorter), common part matches +test_interpolation( + { + property: 'transform', + from: 'translate(100px) rotate(720deg)', + to: 'translate(200px)', + }, + [{ at: 0.25, expect: 'translate(125px) rotate(540deg)' }] +); + +// Perfect match +test_interpolation( + { + property: 'transform', + from: 'scale(2) rotate(360deg) translate(100px) matrix(1, 0, 0, 1, 100, 0) skew(0deg)', + to: 'scale(3) rotate(1080deg) translate(200px) matrix(1, 0, 0, 1, 0, 200) skew(720deg)', + }, + [ + { + at: 0.25, + expect: 'scale(2.25) rotate(540deg) translate(125px) matrix(1, 0, 0, 1, 75, 50) skew(180deg)', + }, + ] +); + +// Matches on primitives +test_interpolation( + { + property: 'transform', + from: 'translateX(100px) scaleX(3) translate(500px) scale(2)', + to: 'translateY(200px) scale(5) translateX(100px) scaleY(3)', + }, + [{ at: 0.25, expect: 'translate(75px, 50px) scale(3.5, 2) translate(400px, 0px) scale(1.75, 2.25)' }] +); + +// Common prefix +test_interpolation( + { + property: 'transform', + from: 'rotate(0deg) translate(100px)', + to: 'rotate(720deg) scale(2) translate(200px)', + }, + [{ at: 0.25, expect: 'rotate(180deg) matrix(1.25, 0, 0, 1.25, 175, 0)' }] +); + +// Complete mismatch (except length) +test_interpolation( + { + property: 'transform', + from: 'scale(2) rotate(0deg) translate(100px)', + to: 'rotate(720deg) scale(2) translate(200px)', + }, + [{ at: 0.25, expect: 'matrix(2, 0, 0, 2, 250, 0)' }] +); + +// Complete mismatch including length +test_interpolation( + { + property: 'transform', + from: 'scale(2) rotate(0deg)', + to: 'rotate(720deg) scale(2) translate(200px)', + }, + [{ at: 0.25, expect: 'matrix(2, 0, 0, 2, 100, 0)' }] +); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-transforms/dynamic-fixed-pos-cb-change-ref.html b/tests/wpt/web-platform-tests/css/css-transforms/dynamic-fixed-pos-cb-change-ref.html new file mode 100644 index 00000000000..57c86e1d76c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-transforms/dynamic-fixed-pos-cb-change-ref.html @@ -0,0 +1,47 @@ +<!doctype html> +<title>CSS Test Reference</title> +<meta charset="utf-8"> +<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io"> +<link rel="author" title="Mozilla" href="https://mozilla.org"> +<style> +html, +body { + height: 100%; + overflow: hidden; + margin: 0; + padding: 0; + background-color: #222; +} + +body { + display: flex; + transform: scale(0.9); +} + +#fixed { + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: 0; + z-index: 1; + background: black; +} + +#popup { + position: absolute; + width: 200px; + height: 200px; + left: 0; + top: 0; + z-index: 2; + background: green; + transform: scale( 1.1111 ); +} + +body, #popup { + transform-origin: 50% 50%; +} +</style> +<div id="popup"></div> +<div id="fixed"></div> diff --git a/tests/wpt/web-platform-tests/css/css-transforms/dynamic-fixed-pos-cb-change.html b/tests/wpt/web-platform-tests/css/css-transforms/dynamic-fixed-pos-cb-change.html new file mode 100644 index 00000000000..46e26bfc9eb --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-transforms/dynamic-fixed-pos-cb-change.html @@ -0,0 +1,65 @@ +<!doctype html> +<html class="reftest-wait"> +<title>CSS Test: Checks that dynamic changes to whether we're a fixed-pos containing block are handled correctly</title> +<meta charset="utf-8"> +<link rel="help" href="https://drafts.csswg.org/css-transforms-1/#containing-block-for-all-descendants"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1498873"> +<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io"> +<link rel="author" title="Mozilla" href="https://mozilla.org"> +<link rel="match" href="dynamic-fixed-pos-cb-change-ref.html"> +<style> +html, +body { + height: 100%; + overflow: hidden; + margin: 0; + padding: 0; + background-color: #222; +} + +body { + display: flex; +} + +#fixed { + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: 0; + z-index: 1; + background: black; +} + +#popup { + position: absolute; + width: 200px; + height: 200px; + left: 0; + top: 0; + z-index: 2; + background: red; + transform: scale( 1.1111 ); +} + +body, #popup { + transform-origin: 50% 50%; +} +</style> +<div id="popup"> + <!-- Seeing this box change color should not move me or change my size. --> +</div> +<div id="fixed"></div> +<script> +onload = function() { + requestAnimationFrame(() => { + document.body.style.transform = "scale(0.9)"; + requestAnimationFrame(() => { + popup.style.backgroundColor = "green"; + requestAnimationFrame(() => { + document.documentElement.className = ""; + }); + }); + }); +} +</script> diff --git a/tests/wpt/web-platform-tests/css/css-will-change/will-change-abspos-cb-001-ref.html b/tests/wpt/web-platform-tests/css/css-will-change/will-change-abspos-cb-001-ref.html new file mode 100644 index 00000000000..f81b9d2a294 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-will-change/will-change-abspos-cb-001-ref.html @@ -0,0 +1,24 @@ +<!doctype html> +<meta charset="utf-8"> +<title>CSS Test Reference</title> +<style> + .container { + border: 1px solid green; + width: 100px; + height: 100px; + margin-top: 100px; + display: flex; + position: relative; + } + .abspos { + position: absolute; + top: 0; + left: 0; + background: orange; + height: 20px; + width: 20px; + } +</style> +<div class="container"> + <div class="abspos"></div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-will-change/will-change-abspos-cb-001.html b/tests/wpt/web-platform-tests/css/css-will-change/will-change-abspos-cb-001.html new file mode 100644 index 00000000000..d59e443310f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-will-change/will-change-abspos-cb-001.html @@ -0,0 +1,30 @@ +<!doctype html> +<meta charset="utf-8"> +<title>CSS Test: will-change: position turns an element in an abspos containing block.</title> +<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io"> +<link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu"> +<link rel="author" title="Mozilla" href="https://mozilla.org"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1498873"> +<link rel="help" href="https://drafts.csswg.org/css-will-change/#will-change"> +<link rel="match" href="will-change-abspos-cb-001-ref.html"> +<style> + .container { + border: 1px solid green; + width: 100px; + height: 100px; + margin-top: 100px; + display: flex; + will-change: position; + } + .abspos { + position: absolute; + top: 0; + left: 0; + background: orange; + height: 20px; + width: 20px; + } +</style> +<div class="container"> + <div class="abspos"></div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-will-change/will-change-abspos-cb-dynamic-001.html b/tests/wpt/web-platform-tests/css/css-will-change/will-change-abspos-cb-dynamic-001.html new file mode 100644 index 00000000000..d2503256bcf --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-will-change/will-change-abspos-cb-dynamic-001.html @@ -0,0 +1,34 @@ +<!doctype html> +<meta charset="utf-8"> +<title>CSS Test: will-change: position turns an element in an abspos containing block when changed dynamically.</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://bugzilla.mozilla.org/show_bug.cgi?id=1499863"> +<link rel="help" href="https://drafts.csswg.org/css-will-change/#will-change"> +<link rel="match" href="will-change-abspos-cb-001-ref.html"> +<style> + .container { + border: 1px solid green; + width: 100px; + height: 100px; + margin-top: 100px; + } + .abspos { + position: absolute; + top: 0; + left: 0; + background: orange; + height: 20px; + width: 20px; + } +</style> +<div class="container"> + <div class="abspos"></div> +</div> +<script> +onload = function() { + let container = document.querySelector(".container"); + container.offsetTop; + container.style.willChange = "position"; +} +</script> diff --git a/tests/wpt/web-platform-tests/css/cssom-view/inheritance.html b/tests/wpt/web-platform-tests/css/cssom-view/inheritance.html new file mode 100644 index 00000000000..8c381e7119c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/cssom-view/inheritance.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>Inheritance of CSSOM View properties</title> +<link rel="help" href="https://drafts.csswg.org/cssom-view/#property-index"> +<meta name="assert" content="Properties inherit or not according to the spec."> +<meta name="assert" content="Properties have initial values according to the spec."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/inheritance-testcommon.js"></script> +</head> +<body> +<div id="container"> + <div id="target"></div> +</div> +<script> +assert_not_inherited('scroll-behavior', 'auto', 'smooth'); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/motion/animation/resources/interpolation-testcommon.js b/tests/wpt/web-platform-tests/css/motion/animation/resources/interpolation-testcommon.js index be86c438986..6933733e197 100644 --- a/tests/wpt/web-platform-tests/css/motion/animation/resources/interpolation-testcommon.js +++ b/tests/wpt/web-platform-tests/css/motion/animation/resources/interpolation-testcommon.js @@ -21,7 +21,6 @@ function test_interpolation(settings, expectations) { var animationId = 'anim' + i; var targetId = 'target' + i; var referenceId = 'reference' + i; - test(function(){ assert_true(CSS.supports(settings.property, expectation), 'Value "' + expectation + '" is supported by ' + settings.property); @@ -49,7 +48,9 @@ function test_interpolation(settings, expectations) { reference.style = ''; assert_equals(getComputedStyle(target)[settings.property], getComputedStyle(reference)[settings.property]); - }, 'Animation between "' + settings.from + '" and "' + settings.to + '" at progress ' + progress); + }, (settings.test_prefix ? settings.test_prefix : "") + + 'Animation between "' + settings.from + '" and "' + settings.to + + '" at progress ' + progress); } } diff --git a/tests/wpt/web-platform-tests/docs/_running-tests/index.md b/tests/wpt/web-platform-tests/docs/_running-tests/index.md index c9e030f8325..48d7f8dad77 100644 --- a/tests/wpt/web-platform-tests/docs/_running-tests/index.md +++ b/tests/wpt/web-platform-tests/docs/_running-tests/index.md @@ -20,10 +20,10 @@ Or to run in a specified copy of Firefox: ./wpt run --binary ~/local/firefox/firefox firefox dom/historical.html -`./wpt run --help` lists the supported products. - For details on the supported products and a large number of other options for -customising the test run, see `./wpt run --help`. +customising the test run: + + ./wpt run --help Additional browser-specific documentation: diff --git a/tests/wpt/web-platform-tests/docs/_writing-tests/file-names.md b/tests/wpt/web-platform-tests/docs/_writing-tests/file-names.md index 797b7d333b0..678be7108b1 100644 --- a/tests/wpt/web-platform-tests/docs/_writing-tests/file-names.md +++ b/tests/wpt/web-platform-tests/docs/_writing-tests/file-names.md @@ -54,6 +54,12 @@ themselves precede any test type flag, but are otherwise unordered. : (js files only) Indicates that the file generates tests in which it is [run in multiple scopes][multi-global-tests]. +`.optional` + : Indicates that a test makes assertions about optional behavior in a + specification, typically marked by the [RFC 2119] "MAY" or "OPTIONAL" + keywords. This flag should not be used for "SHOULD"; such requirements + can be tested with regular tests, like "MUST". + `.tentative` : Indicates that a test makes assertions not yet required by any specification, or in contradiction to some specification. This is useful when implementation @@ -64,3 +70,4 @@ themselves precede any test type flag, but are otherwise unordered. [server-side substitution]: https://wptserve.readthedocs.io/en/latest/pipes.html#sub [multi-global-tests]: {{ site.baseurl }}{% link _writing-tests/testharness.md %}#multi-global-tests +[RFC 2119]: https://tools.ietf.org/html/rfc2119 diff --git a/tests/wpt/web-platform-tests/docs/_writing-tests/testdriver.md b/tests/wpt/web-platform-tests/docs/_writing-tests/testdriver.md index 91686ce7f54..9a912fe0327 100644 --- a/tests/wpt/web-platform-tests/docs/_writing-tests/testdriver.md +++ b/tests/wpt/web-platform-tests/docs/_writing-tests/testdriver.md @@ -18,6 +18,15 @@ the global scope. NB: presently, testdriver.js only works in the top-level test browsing context (and not therefore in any frame or window opened from it). +### action_sequence +Usage: `test_driver.action_sequence(actions)` + * `actions`: <[Array]<[Object]>> an array of Action objects` + * `action`: <[Object]> A single action. See [spec](https://www.w3.org/TR/webdriver/#actions) for format + +This function causes a sequence of actions to be sent to the browser. It is based of the [WebDriver API](https://www.w3.org/TR/webdriver/#actions). +The action can be a keyboard action, a pointer action or a pause. It returns a `Promise` that +resolves after the actions have been sent or rejects if an error was thrown. + ### bless Usage: `test_driver.bless(intent, action)` @@ -80,13 +89,5 @@ between the function being called and the promise settling. To send special keys, one must send the respective key's codepoint. Since this uses the WebDriver protocol, you can find a [list for code points to special keys in the spec](https://w3c.github.io/webdriver/webdriver-spec.html#keyboard-actions). For example, to send the tab key you would send "\uE004". -### `test_driver.action_sequence(actions)` - - `actions` <[Array]<[Object]>> an array of Action objects` - - `action` <[Object]> A single action. See [spec](https://www.w3.org/TR/webdriver/#actions) for format - -This function causes a sequence of actions to be sent to the browser. It is based of the [WebDriver API](https://www.w3.org/TR/webdriver/#actions). -The action can be a keyboard action, a pointer action or a pause. It returns a `Promise` that -resolves after the actions have been sent or rejects if an error was thrown. - [activation]: https://html.spec.whatwg.org/multipage/interaction.html#activation [testharness]: {{ site.baseurl }}{% link _writing-tests/testharness.md %} diff --git a/tests/wpt/web-platform-tests/feature-policy/experimental-features/layout-animations-disabled-tentative.html b/tests/wpt/web-platform-tests/feature-policy/experimental-features/layout-animations-disabled-tentative.html new file mode 100644 index 00000000000..993aa0d5dc9 --- /dev/null +++ b/tests/wpt/web-platform-tests/feature-policy/experimental-features/layout-animations-disabled-tentative.html @@ -0,0 +1,39 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/motion/animation/resources/interpolation-testcommon.js"></script> +<title> 'layout-animations' Policy : Correct behavior for affected and unaffected properties when + feature is disabled. +</title> +<body> +<script> + // Sanity-check: Properties which are not affected by the policy 'layout-animations' should be + // interpolated normally (linearly) when the policy is disabled for the document. + test_interpolation( + { + property: "color", + from: "rgba(0, 50, 100, 1)", + to: "rgba(200, 150, 200, 1)", + test_prefix: 'Testing property "color".' + }, + [ + {at: 0.00, expect: "rgba(0, 50, 100, 1)"}, + {at: 0.1, expect: "rgba(20, 60, 110, 1)"}, + {at: 0.2, expect: "rgba(40, 70, 120, 1)"}, + {at: 0.4, expect: "rgba(80, 90, 140, 1)"}, + {at: 0.6, expect: "rgba(120, 110, 160, 1)"}, + {at: 0.8, expect: "rgba(160, 130, 180, 1)"}, + {at: 0.9, expect: "rgba(180, 140, 190, 1)"}, + ]); + + // There is no interpolation for the affected properties when the policy is disabled. + ["bottom", "height", "left", "right", "top", "width"].forEach( + (p) => test_no_interpolation( + { + property: p, + from: "100px", + to: "200px", + test_prefix: `Testing property "${p}".` + })); +</script> +</body> diff --git a/tests/wpt/web-platform-tests/feature-policy/experimental-features/layout-animations-disabled-tentative.html.headers b/tests/wpt/web-platform-tests/feature-policy/experimental-features/layout-animations-disabled-tentative.html.headers new file mode 100644 index 00000000000..7c441bbba55 --- /dev/null +++ b/tests/wpt/web-platform-tests/feature-policy/experimental-features/layout-animations-disabled-tentative.html.headers @@ -0,0 +1 @@ +Feature-Policy: layout-animations 'none' diff --git a/tests/wpt/web-platform-tests/feature-policy/experimental-features/layout-animations-enabled-tentative.html b/tests/wpt/web-platform-tests/feature-policy/experimental-features/layout-animations-enabled-tentative.html new file mode 100644 index 00000000000..cf396e90223 --- /dev/null +++ b/tests/wpt/web-platform-tests/feature-policy/experimental-features/layout-animations-enabled-tentative.html @@ -0,0 +1,30 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/motion/animation/resources/interpolation-testcommon.js"></script> +<title> 'layout-animations' Policy : Correct behavior for affected and unaffected properties when + feature is enabled. +</title> +<body> +<script> + // The expectation for all the following properties could be the same (they are all of type length). + let length_expectations_100_to_200 = [ + {at: 0.00, expect: "100px"}, + {at: 0.1, expect: "110px"}, + {at: 0.2, expect: "120px"}, + {at: 0.4, expect: "140px"}, + {at: 0.6, expect: "160px"}, + {at: 0.8, expect: "180px"}, + {at: 0.9, expect: "190px"}, + ]; + // Ensure all the affected animations run normally. + ["bottom", "height", "left", "right", "top", "width"].forEach( + (p) => test_interpolation({ + property: p, + from: "100px", + to: "200px", + test_prefix: `Testing property "${p}".` + }, + length_expectations_100_to_200)); +</script> +</body> diff --git a/tests/wpt/web-platform-tests/fetch/api/headers/header-values-normalize.html b/tests/wpt/web-platform-tests/fetch/api/headers/header-values-normalize.html index 30e7a58b36d..64be98af934 100644 --- a/tests/wpt/web-platform-tests/fetch/api/headers/header-values-normalize.html +++ b/tests/wpt/web-platform-tests/fetch/api/headers/header-values-normalize.html @@ -10,7 +10,7 @@ for(let i = 0; i < 0x21; i++) { let fail = false, strip = false - // REMOVE 0x0B/0x0C exception once https://github.com/w3c/wptserve/issues/111 is fixed + // REMOVE 0x0B/0x0C exception once https://github.com/web-platform-tests/wpt/issues/8372 is fixed if(i === 0x0B || i === 0x0C) continue diff --git a/tests/wpt/web-platform-tests/fetch/api/resources/inspect-headers.py b/tests/wpt/web-platform-tests/fetch/api/resources/inspect-headers.py index b6840cf021a..10a12eb883a 100644 --- a/tests/wpt/web-platform-tests/fetch/api/resources/inspect-headers.py +++ b/tests/wpt/web-platform-tests/fetch/api/resources/inspect-headers.py @@ -1,6 +1,5 @@ def main(request, response): headers = [] - request_headers = [] if "headers" in request.GET: checked_headers = request.GET.first("headers").split("|") for header in checked_headers: diff --git a/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html b/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html index 0548e70722a..4a2217057e6 100644 --- a/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html +++ b/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html @@ -105,7 +105,7 @@ var tests_arr = [ tests_arr.forEach(function(test_obj) { ["<meta>", "Refresh header"].forEach(type => { - if(type === "Refresh header" && test_obj.input.match("[\n\r\f]")) { // See https://github.com/w3c/wptserve/issues/111 for why \f as well + if(type === "Refresh header" && test_obj.input.match("[\n\r\f]")) { // See https://github.com/web-platform-tests/wpt/issues/8372 for why \f as well return; } const filename = type === "<meta>" ? "refresh.sub.html" : "refresh.py"; diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/object-fallback-failed-cross-origin-navigation.sub.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/object-fallback-failed-cross-origin-navigation.sub.html new file mode 100644 index 00000000000..d2190cc7af8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/object-fallback-failed-cross-origin-navigation.sub.html @@ -0,0 +1,52 @@ +n<!DOCTYPE html> +<meta charset=utf-8> +<title>Test that <object> renders its own fallback.</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<body> +<script> + // The host exists but the resource is unavailable. + const cross_origin_url_a = "http://{{hosts[alt][www]}}:{{ports[http][0]}}/foo.html"; + // The destination does not even exist and the navigation fails. + const cross_origin_url_b = "http://{{hosts[alt][nonexistent]}}:{{ports[http][0]}}/foo.html"; + + // Returns a promise which is resolved when |callback| returns true. The |callback| is invoked at + // every animation frame. + function for_each_animation_frame(callback) { + return new Promise((resolve) => { + function on_raf() { + if (!callback()) + resolve(); + window.requestAnimationFrame(on_raf); + } + window.requestAnimationFrame(on_raf); + }); + } + + // Create an <object> with some fallback content. + function create_object_with_fallback(url) { + var object = document.createElement("object"); + var fallback = document.createElement("button"); + fallback.textContent = "FALLBACK CONTENT"; + object.appendChild(fallback); + object.data = url; + object.type = "text/html"; + document.body.appendChild(object); + return object; + } + + function area(el) { + let bounds = el.getBoundingClientRect(); + return el.width * el.height; + } + + promise_test(async() => { + var object = create_object_with_fallback(cross_origin_url_a); + await for_each_animation_frame(() => area(object.firstChild) > 0); + object.parentElement.removeChild(object); + object = create_object_with_fallback(cross_origin_url_b); + await for_each_animation_frame(() => area(object.firstChild) > 0); + object.parentElement.removeChild(object); + }, "Verify fallback content for failed cross-origin navigations is shown correctly."); +</script> +</body> diff --git a/tests/wpt/web-platform-tests/infrastructure/assumptions/allowed-to-play.html b/tests/wpt/web-platform-tests/infrastructure/assumptions/allowed-to-play.html new file mode 100644 index 00000000000..bfa5729371f --- /dev/null +++ b/tests/wpt/web-platform-tests/infrastructure/assumptions/allowed-to-play.html @@ -0,0 +1,23 @@ +<!doctype html> +<title><audio and <video> autoplay</title> +<link rel="help" href="https://html.spec.whatwg.org/multipage/media.html#dom-media-play"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/media.js"></script> +<video></video> +<script> +async_test(t => { + const a = new Audio(getAudioURI("/media/sound_5")); + a.play(); + assert_false(a.paused); + a.onplaying = t.step_func_done(); +}, "<audio> autoplay"); + +async_test(t => { + const v = document.querySelector("video"); + v.src = getVideoURI("/media/movie_5"); + v.play(); + assert_false(v.paused); + v.onplaying = t.step_func_done(); +}, "<video> autoplay"); +</script> diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/assumptions/allowed-to-play.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/assumptions/allowed-to-play.html.ini new file mode 100644 index 00000000000..ef6b2edc608 --- /dev/null +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/assumptions/allowed-to-play.html.ini @@ -0,0 +1,8 @@ +[allowed-to-play.html] + expected: + if product == "safari" or product == "safari_webdriver": ERROR # https://bugs.webkit.org/show_bug.cgi?id=190775 + + + [<audio> autoplay] + expected: + if product == "safari" or product == "safari_webdriver": FAIL # https://bugs.webkit.org/show_bug.cgi?id=190775 diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini new file mode 100644 index 00000000000..7751a227dfc --- /dev/null +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini @@ -0,0 +1,9 @@ +[html-elements.html] + [Compare CSS span definitions (only valid if pre-reqs pass)] + expected: + if product == "safari" or product == "safari_webdriver": FAIL # https://webkit.org/show_bug.cgi?id=187052 + + + [Compare CSS div definitions (only valid if pre-reqs pass)] + expected: + if product == "safari" or product == "safari_webdriver": FAIL # https://webkit.org/show_bug.cgi?id=187052 diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/context.any.js.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/context.any.js.ini new file mode 100644 index 00000000000..30d04b39cf2 --- /dev/null +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/context.any.js.ini @@ -0,0 +1,4 @@ +[context.any.sharedworker.html] + [context] + expected: + if product == "safari" or product == "safari_webdriver": FAIL # https://bugs.webkit.org/show_bug.cgi?id=149850 diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/order-of-metas.any.js.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/order-of-metas.any.js.ini new file mode 100644 index 00000000000..39bc08956f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/order-of-metas.any.js.ini @@ -0,0 +1,4 @@ +[order-of-metas.any.sharedworker.html] + [foo] + expected: + if product == "safari" or product == "safari_webdriver": FAIL # https://bugs.webkit.org/show_bug.cgi?id=149850 diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/secure-context.https.any.js.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/secure-context.https.any.js.ini new file mode 100644 index 00000000000..f2737bf3f67 --- /dev/null +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/secure-context.https.any.js.ini @@ -0,0 +1,4 @@ +[secure-context.https.any.sharedworker.html] + [secure-context] + expected: + if product == "safari" or product == "safari_webdriver": FAIL # https://bugs.webkit.org/show_bug.cgi?id=149850 diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/title.any.js.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/title.any.js.ini new file mode 100644 index 00000000000..f2e268dcf50 --- /dev/null +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/title.any.js.ini @@ -0,0 +1,4 @@ +[title.any.sharedworker.html] + [foobar] + expected: + if product == "safari" or product == "safari_webdriver": FAIL # https://bugs.webkit.org/show_bug.cgi?id=149850 diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/elementPosition.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/elementPosition.html.ini index a3a9625fcee..6644d52d1ff 100644 --- a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/elementPosition.html.ini +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/elementPosition.html.ini @@ -1,3 +1,3 @@ [elementPosition.html] expected: - if product == "chrome": ERROR + if product == "chrome" or product == "safari" or product == "safari_webdriver": ERROR 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 index 7a6cf82bbd3..85dbe11a7af 100644 --- 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 @@ -1,3 +1,3 @@ [elementTiming.html] expected: - if product == "chrome": ERROR + if product == "chrome" or product == "safari" or product == "safari_webdriver": ERROR 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 b809f4ebf61..bfb5c0ae4bd 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,3 +1,3 @@ [eventOrder.html] expected: - if product == "chrome": ERROR + if product == "chrome" or product == "safari" or product == "safari_webdriver": ERROR 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 889e1f4b86b..642d0cd21db 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": ERROR + if product == "chrome" or product == "safari" or product == "safari_webdriver": ERROR diff --git a/tests/wpt/web-platform-tests/interfaces/csp-embedded-enforcement.idl b/tests/wpt/web-platform-tests/interfaces/csp-embedded-enforcement.idl index a213fe1c31d..167bc96eb53 100644 --- a/tests/wpt/web-platform-tests/interfaces/csp-embedded-enforcement.idl +++ b/tests/wpt/web-platform-tests/interfaces/csp-embedded-enforcement.idl @@ -1,7 +1,7 @@ // GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into reffy-reports // (https://github.com/tidoust/reffy-reports) -// Source: Content Security Policy: Embedded Enforcement (https://w3c.github.io/webappsec-csp/embedded/) +// Source: Content Security Policy: Embedded Enforcement (https://w3c.github.io/webappsec-cspee/) partial interface HTMLIFrameElement { [CEReactions] attribute DOMString csp; diff --git a/tests/wpt/web-platform-tests/interfaces/payment-request.idl b/tests/wpt/web-platform-tests/interfaces/payment-request.idl index 843c66107b3..0795c03627d 100644 --- a/tests/wpt/web-platform-tests/interfaces/payment-request.idl +++ b/tests/wpt/web-platform-tests/interfaces/payment-request.idl @@ -78,12 +78,6 @@ dictionary PaymentItem { required DOMString label; required PaymentCurrencyAmount amount; boolean pending = false; - // Note: type member is "at risk" of being removed! - PaymentItemType type; -}; - -enum PaymentItemType { - "tax" }; [SecureContext, Exposed=(Window)] @@ -92,8 +86,6 @@ interface PaymentAddress { readonly attribute DOMString city; readonly attribute DOMString country; readonly attribute DOMString dependentLocality; - // "languageCode" is a feature at risk - readonly attribute DOMString languageCode; readonly attribute DOMString organization; readonly attribute DOMString phone; readonly attribute DOMString postalCode; @@ -113,7 +105,6 @@ dictionary AddressInit { DOMString dependentLocality; DOMString postalCode; DOMString sortingCode; - DOMString languageCode; DOMString organization; DOMString recipient; DOMString phone; @@ -124,7 +115,6 @@ dictionary AddressErrors { DOMString city; DOMString country; DOMString dependentLocality; - DOMString languageCode; DOMString organization; DOMString phone; DOMString postalCode; diff --git a/tests/wpt/web-platform-tests/interfaces/service-workers.idl b/tests/wpt/web-platform-tests/interfaces/service-workers.idl index ed02af11717..fb2e033a7aa 100644 --- a/tests/wpt/web-platform-tests/interfaces/service-workers.idl +++ b/tests/wpt/web-platform-tests/interfaces/service-workers.idl @@ -95,6 +95,7 @@ interface ServiceWorkerGlobalScope : WorkerGlobalScope { [Exposed=ServiceWorker] interface Client { readonly attribute USVString url; + readonly attribute FrameType frameType; readonly attribute DOMString id; readonly attribute ClientType type; void postMessage(any message, optional sequence<object> transfer = []); @@ -109,6 +110,13 @@ interface WindowClient : Client { [NewObject] Promise<WindowClient?> navigate(USVString url); }; +enum FrameType { + "auxiliary", + "top-level", + "nested", + "none" +}; + [Exposed=ServiceWorker] interface Clients { // The objects returned will be new instances every time diff --git a/tests/wpt/web-platform-tests/interfaces/webmidi.idl b/tests/wpt/web-platform-tests/interfaces/webmidi.idl index 769433b19b3..aa2ac7f297b 100644 --- a/tests/wpt/web-platform-tests/interfaces/webmidi.idl +++ b/tests/wpt/web-platform-tests/interfaces/webmidi.idl @@ -4,7 +4,7 @@ // Source: Web MIDI API (http://webaudio.github.io/web-midi-api/) partial interface Navigator { - Promise<MIDIAccess> requestMIDIAccess(optional MIDIOptions options); + [SecureContext] Promise<MIDIAccess> requestMIDIAccess(optional MIDIOptions options); }; dictionary MIDIOptions { @@ -20,14 +20,14 @@ interface MIDIOutputMap { readonly maplike<DOMString, MIDIOutput>; }; -interface MIDIAccess : EventTarget { +[SecureContext] interface MIDIAccess : EventTarget { readonly attribute MIDIInputMap inputs; readonly attribute MIDIOutputMap outputs; attribute EventHandler onstatechange; readonly attribute boolean sysexEnabled; }; -interface MIDIPort : EventTarget { +[SecureContext] interface MIDIPort : EventTarget { readonly attribute DOMString id; readonly attribute DOMString? manufacturer; readonly attribute DOMString? name; @@ -40,11 +40,11 @@ interface MIDIPort : EventTarget { Promise<MIDIPort> close(); }; -interface MIDIInput : MIDIPort { +[SecureContext] interface MIDIInput : MIDIPort { attribute EventHandler onmidimessage; }; -interface MIDIOutput : MIDIPort { +[SecureContext] interface MIDIOutput : MIDIPort { void send(sequence<octet> data, optional DOMHighResTimeStamp timestamp = 0); void clear(); }; @@ -65,7 +65,7 @@ enum MIDIPortConnectionState { "pending", }; -[Constructor(DOMString type, optional MIDIMessageEventInit eventInitDict)] +[SecureContext, Constructor(DOMString type, optional MIDIMessageEventInit eventInitDict)] interface MIDIMessageEvent : Event { readonly attribute Uint8Array data; }; @@ -74,7 +74,7 @@ dictionary MIDIMessageEventInit : EventInit { Uint8Array data; }; -[Constructor(DOMString type, optional MIDIConnectionEventInit eventInitDict)] +[SecureContext, Constructor(DOMString type, optional MIDIConnectionEventInit eventInitDict)] interface MIDIConnectionEvent : Event { readonly attribute MIDIPort port; }; diff --git a/tests/wpt/web-platform-tests/payment-request/payment-request-abort-method.https.html b/tests/wpt/web-platform-tests/payment-request/payment-request-abort-method.https.html index 522411b542a..64886a6b7cc 100644 --- a/tests/wpt/web-platform-tests/payment-request/payment-request-abort-method.https.html +++ b/tests/wpt/web-platform-tests/payment-request/payment-request-abort-method.https.html @@ -36,40 +36,40 @@ promise_test(async t => { }, `Throws if the promise [[state]] is not "interactive"`); promise_test(async t => { - return test_driver.bless("show payment request", async () => { - const request = new PaymentRequest(defaultMethods, defaultDetails); - const acceptPromise = request.show(); - try { - await request.abort(); - } catch (err) { - assert_unreached("Unexpected promise rejection: " + err.message); - } - await promise_rejects(t, "AbortError", acceptPromise); - // As request is now "closed", trying to show it will fail - await promise_rejects(t, "InvalidStateError", request.show()); - }); + const request = new PaymentRequest(defaultMethods, defaultDetails); + const acceptPromise = test_driver.bless("show payment request", () => + request.show() + ); + try { + await request.abort(); + } catch (err) { + assert_unreached("Unexpected promise rejection: " + err.message); + } + await promise_rejects(t, "AbortError", acceptPromise); + // As request is now "closed", trying to show it will fail + await promise_rejects(t, "InvalidStateError", request.show()); }); promise_test(async t => { - return test_driver.bless("show payment request", async () => { - // request is in "created" state. - const request = new PaymentRequest(defaultMethods, defaultDetails); - await promise_rejects(t, "InvalidStateError", request.abort()); - // Call it again, for good measure. - await promise_rejects(t, "InvalidStateError", request.abort()); - // The request's state is "created", so let's show it - // which changes the state to "interactive.". - const acceptPromise = request.show(); - // Let's set request the state to "closed" by calling .abort() - try { - await request.abort(); - } catch (err) { - assert_unreached("Unexpected promise rejection: " + err.message); - } - // The request is now "closed", so... - await promise_rejects(t, "InvalidStateError", request.abort()); - await promise_rejects(t, "AbortError", acceptPromise); - }); + // request is in "created" state. + const request = new PaymentRequest(defaultMethods, defaultDetails); + await promise_rejects(t, "InvalidStateError", request.abort()); + // Call it again, for good measure. + await promise_rejects(t, "InvalidStateError", request.abort()); + // The request's state is "created", so let's show it + // which changes the state to "interactive.". + const acceptPromise = test_driver.bless("show payment request", () => + request.show() + ); + // Let's set request the state to "closed" by calling .abort() + try { + await request.abort(); + } catch (err) { + assert_unreached("Unexpected promise rejection: " + err.message); + } + // The request is now "closed", so... + await promise_rejects(t, "InvalidStateError", request.abort()); + await promise_rejects(t, "AbortError", acceptPromise); }); promise_test(async t => { diff --git a/tests/wpt/web-platform-tests/payment-request/payment-request-canmakepayment-method.https.html b/tests/wpt/web-platform-tests/payment-request/payment-request-canmakepayment-method.https.html index 617bd6e4834..2943c2da688 100644 --- a/tests/wpt/web-platform-tests/payment-request/payment-request-canmakepayment-method.https.html +++ b/tests/wpt/web-platform-tests/payment-request/payment-request-canmakepayment-method.https.html @@ -8,7 +8,8 @@ <script src="/resources/testdriver.js"></script> <script> const basicCard = Object.freeze({ supportedMethods: "basic-card" }); -const defaultMethods = Object.freeze([basicCard]); +const applePay = Object.freeze({ supportedMethods: "https://apple.com/apple-pay" }); +const defaultMethods = Object.freeze([basicCard, applePay]); const defaultDetails = Object.freeze({ total: { label: "Total", @@ -41,7 +42,7 @@ promise_test(async t => { promise_test(async t => { const request = new PaymentRequest(defaultMethods, defaultDetails); - assert_true(await request.canMakePayment(), "basic-card should be supported"); + assert_true(await request.canMakePayment(), "one of the methods should be supported"); }, `If payment method identifier and serialized parts are supported, resolve promise with true.`); promise_test(async t => { @@ -121,63 +122,51 @@ promise_test(async t => { } }, `Optionally, at the user agent's discretion, return a promise rejected with a "NotAllowedError" DOMException.`); -promise_test(t => { - return test_driver.bless("show payment request", async () => { - const request = new PaymentRequest(defaultMethods, defaultDetails); - const acceptPromise = request.show(); // Sets state to "interactive" - const canMakePaymentPromise = request.canMakePayment(); - try { - const result = await canMakePaymentPromise; - assert_true( - false, - `canMakePaymentPromise should have thrown InvalidStateError` - ); - } catch (err) { - await promise_rejects(t, "InvalidStateError", canMakePaymentPromise); - } finally { - await request.abort(); - await promise_rejects(t, "AbortError", acceptPromise); - } - // The state should be "closed" - await promise_rejects(t, "InvalidStateError", request.canMakePayment()); +promise_test(async t => { + const request = new PaymentRequest(defaultMethods, defaultDetails); + const acceptPromise = test_driver.bless("show payment request", () => { + request.show() // Sets state to "interactive" }); + const canMakePaymentPromise = request.canMakePayment(); + try { + const result = await canMakePaymentPromise; + assert_true( + false, + `canMakePaymentPromise should have thrown InvalidStateError` + ); + } catch (err) { + await promise_rejects(t, "InvalidStateError", canMakePaymentPromise); + } finally { + await request.abort(); + await promise_rejects(t, "AbortError", acceptPromise); + } + // The state should be "closed" + await promise_rejects(t, "InvalidStateError", request.canMakePayment()); }, 'If request.[[state]] is "interactive", then return a promise rejected with an "InvalidStateError" DOMException.'); -promise_test(t => { - return test_driver.bless("show payment request", async () => { - const request = new PaymentRequest(defaultMethods, defaultDetails); - const acceptPromise = request.show(); // The state is now "interactive" - acceptPromise.catch(() => {}); // no-op, just to silence unhandled rejection in devtools. - await request.abort(); // The state is now "closed" - await promise_rejects(t, "InvalidStateError", request.canMakePayment()); - try { - const result = await request.canMakePayment(); - assert_true( - false, - `should have thrown InvalidStateError, but instead returned "${result}"` - ); - } catch (err) { - assert_equals( - err.name, - "InvalidStateError", - "must be an InvalidStateError." - ); - } +promise_test(async t => { + const request = new PaymentRequest(defaultMethods, defaultDetails); + const acceptPromise = test_driver.bless("show payment request", () => { + request.show() // Sets state to "interactive" }); + acceptPromise.catch(() => {}); // no-op, just to silence unhandled rejection in devtools. + await request.abort(); // The state is now "closed" + await promise_rejects(t, "InvalidStateError", request.canMakePayment()); + try { + const result = await request.canMakePayment(); + assert_true( + false, + `should have thrown InvalidStateError, but instead returned "${result}"` + ); + } catch (err) { + assert_equals( + err.name, + "InvalidStateError", + "must be an InvalidStateError." + ); + } }, 'If request.[[state]] is "closed", then return a promise rejected with an "InvalidStateError" DOMException.'); -test(() => { - const request = new PaymentRequest( - [{ supportedMethods: "basic-card" }], - defaultDetails - ); - const promises = new Set([ - request.canMakePayment(), - request.canMakePayment(), - request.canMakePayment(), - ]); - assert_equals(promises.size, 3, "Must have three unique objects"); -}, "Calling canMakePayment() multiple times is always a new object."); </script> <small> diff --git a/tests/wpt/web-platform-tests/payment-request/rejects_if_not_active.https.html b/tests/wpt/web-platform-tests/payment-request/rejects_if_not_active.https.html index 063d31b1386..f585e836f8d 100644 --- a/tests/wpt/web-platform-tests/payment-request/rejects_if_not_active.https.html +++ b/tests/wpt/web-platform-tests/payment-request/rejects_if_not_active.https.html @@ -4,6 +4,8 @@ <title>PaymentRequest show() rejects if doc is not fully active</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> <link rel="help" href="https://w3c.github.io/payment-request/#dom-paymentrequest-show()"> <body> <script> @@ -39,50 +41,45 @@ function getLoadedPaymentRequest(iframe, url) { } promise_test(async t => { - // Check that PaymentRequests can be constructed. - new PaymentRequest(validMethods, validDetails); const iframe = document.createElement("iframe"); iframe.allowPaymentRequest = true; document.body.appendChild(iframe); - // We first got to page1.html, grab a PaymentRequest instance. const request1 = await getLoadedPaymentRequest( iframe, "/payment-request/resources/page1.html" ); - // We navigate the iframe again, putting request1's document into an inactive state. const request2 = await getLoadedPaymentRequest( iframe, "/payment-request/resources/page2.html" ); - - // Now, request1's relevant global object's document is no longer active. - // So, call .show(), and make sure it rejects appropriately. - await promise_rejects( - t, - "AbortError", - request1.show(), - "Inactive document, so must throw AbortError" - ); - - // request2 has an active document tho, so confirm it's working as expected: - request2.show(); - await request2.abort(); - await promise_rejects( - t, - "InvalidStateError", - request2.show(), - "Abort already called, so InvalidStateError" - ); - // We are done, so clean up. - iframe.remove(); + await test_driver.bless("show payment request", async () => { + // Now, request1's relevant global object's document is no longer active. + // So, call .show(), and make sure it rejects appropriately. + await promise_rejects( + t, + "AbortError", + request1.show(), + "Inactive document, so must throw AbortError" + ); + }); + await test_driver.bless("show payment request", async () => { + // request2 has an active document tho, so confirm it's working as expected: + request2.show(); + await request2.abort(); + await promise_rejects( + t, + "InvalidStateError", + request2.show(), + "Abort already called, so InvalidStateError" + ); + // We are done, so clean up. + iframe.remove(); + }); }, "PaymentRequest.show() aborts if the document is not active"); promise_test(async t => { - // check that PaymentRequests can be constructed (smoke test). - new PaymentRequest(validMethods, validDetails); - // We nest two iframes and wait for them to load. const outerIframe = document.createElement("iframe"); outerIframe.allowPaymentRequest = true; @@ -112,6 +109,10 @@ promise_test(async t => { outerIframe.addEventListener("load", resolve); outerIframe.src = "/payment-request/resources/page2.html"; }); + + const showPromise = await test_driver.bless("show payment request", () => { + return request.show(); + }); // Now, request's relevant global object's document is still active // (it is the active document of the inner iframe), but is not fully active // (since the parent of the inner iframe is itself no longer active). @@ -119,16 +120,15 @@ promise_test(async t => { await promise_rejects( t, "AbortError", - request.show(), + showPromise, "Active, but not fully active, so must throw AbortError" ); // We are done, so clean up. + iframe.remove(); }, "PaymentRequest.show() aborts if the document is active, but not fully active"); promise_test(async t => { - // Check that PaymentRequests can be constructed. - new PaymentRequest(validMethods, validDetails); const iframe = document.createElement("iframe"); iframe.allowPaymentRequest = true; document.body.appendChild(iframe); @@ -137,8 +137,9 @@ promise_test(async t => { iframe, "/payment-request/resources/page1.html" ); - // Present the payment sheet. - const showPromise = request.show(); + const showPromise = await test_driver.bless("show payment request", () => { + return request.show(); + }); // Navigate the iframe to a new location. Wait for the load event to fire. await new Promise(resolve => { iframe.addEventListener("load", resolve); diff --git a/tests/wpt/web-platform-tests/server-timing/cross_origin.html b/tests/wpt/web-platform-tests/server-timing/cross_origin.https.html index 94c502eef1c..1421b38a05e 100644 --- a/tests/wpt/web-platform-tests/server-timing/cross_origin.html +++ b/tests/wpt/web-platform-tests/server-timing/cross_origin.https.html @@ -10,9 +10,9 @@ const hostInfo = get_host_info() const urls = { - 'same-origin': `${hostInfo.HTTP_ORIGIN}/server-timing/resources/blue.png`, - 'cross-origin': `${hostInfo.HTTP_REMOTE_ORIGIN}/server-timing/resources/blue.png`, - 'cross-origin-tao': `${hostInfo.HTTP_REMOTE_ORIGIN}/server-timing/resources/blue_tao.png` + 'same-origin': `${hostInfo.HTTPS_ORIGIN}/server-timing/resources/blue.png`, + 'cross-origin': `${hostInfo.HTTPS_REMOTE_ORIGIN}/server-timing/resources/blue.png`, + 'cross-origin-tao': `${hostInfo.HTTPS_REMOTE_ORIGIN}/server-timing/resources/blue_tao.png` } Object.keys(urls).forEach(function(key) { const img = document.createElement('img') diff --git a/tests/wpt/web-platform-tests/server-timing/idlharness.any.js b/tests/wpt/web-platform-tests/server-timing/idlharness.https.any.js index 9c101e0f4cf..9c101e0f4cf 100644 --- a/tests/wpt/web-platform-tests/server-timing/idlharness.any.js +++ b/tests/wpt/web-platform-tests/server-timing/idlharness.https.any.js diff --git a/tests/wpt/web-platform-tests/server-timing/navigation_timing_idl.html b/tests/wpt/web-platform-tests/server-timing/navigation_timing_idl.html deleted file mode 100644 index 290bb889b14..00000000000 --- a/tests/wpt/web-platform-tests/server-timing/navigation_timing_idl.html +++ /dev/null @@ -1,14 +0,0 @@ -<!DOCTYPE html> -<head> - <meta charset='utf-8' /> - <script src="/resources/testharness.js"></script> - <script src='/resources/testharnessreport.js'></script> - <script> - setup({explicit_done: true}) - window.addEventListener('load', function(){ - assert_not_equals(typeof performance.getEntriesByType('navigation')[0].serverTiming, 'undefined', - 'An instance of `PerformanceNavigationTiming` should have a `serverTiming` attribute.') - done() - }) - </script> -</head> diff --git a/tests/wpt/web-platform-tests/server-timing/resource_timing_idl.html b/tests/wpt/web-platform-tests/server-timing/resource_timing_idl.html deleted file mode 100644 index d2c3c9274ea..00000000000 --- a/tests/wpt/web-platform-tests/server-timing/resource_timing_idl.html +++ /dev/null @@ -1,14 +0,0 @@ -<!DOCTYPE html> -<head> - <meta charset='utf-8' /> - <script src="/resources/testharness.js"></script> - <script src='/resources/testharnessreport.js'></script> - <script> - setup({explicit_done: true}) - window.addEventListener('load', function(){ - assert_not_equals(typeof performance.getEntriesByType('resource')[0].serverTiming, 'undefined', - 'An instance of `PerformanceResourceTiming` should have a `serverTiming` attribute.') - done() - }) - </script> -</head> diff --git a/tests/wpt/web-platform-tests/server-timing/server_timing_header-parsing.html b/tests/wpt/web-platform-tests/server-timing/server_timing_header-parsing.html deleted file mode 100644 index 156dfcd344f..00000000000 --- a/tests/wpt/web-platform-tests/server-timing/server_timing_header-parsing.html +++ /dev/null @@ -1,54 +0,0 @@ -<!DOCTYPE html> -<!-- -tests generated by: - https://github.com/cvazac/generate-server-timing-tests ---> - -<head> - <meta charset='utf-8' /> - <script src="/resources/testharness.js"></script> - <script src='/resources/testharnessreport.js'></script> - <script src="/common/performance-timeline-utils.js"></script> - <script> - setup({explicit_done: true}) - const tests = [] - const urlToIndex = {} - function testServerTiming(script, expectedResults) { - const url = script.src - tests[urlToIndex[url]] = {url, expectedResults} - } - function runTests() { - tests.forEach(function({url, expectedResults}) { - const {serverTiming} = performance.getEntriesByName(url)[0] - const fileName = url.substring(url.lastIndexOf('/') + 1) - - test_equals(serverTiming.length, expectedResults.length, `${fileName} - count (${serverTiming.length} ?== ${expectedResults.length})`) - - expectedResults.forEach(function(expectedResult, i) { - const dur = expectedResult.dur || 0 - const desc = expectedResult.desc || '' - const index = expectedResults.length === 1 ? '' : `[${i}].` - const actual = serverTiming[i] - if (actual === undefined) { - // Protect against more expected results than actual results. - return - } - test_equals(expectedResult.name, actual.name, - `${fileName} - ${index}name (${expectedResult.name} ?== ${actual.name})`) - test_equals(dur, actual.duration, - `${fileName} - ${index}duration (${dur} ?== ${actual.duration})`) - test_equals(desc, actual.description, - `${fileName} - ${index}description (${desc} ?== ${actual.description})`) - }) - }) - done() - } - for (let i = 0; i <= 84; i++) { - const script = document.createElement('script') - script.src = `./resources/parsing/${i}.js` - document.getElementsByTagName('head')[0].appendChild(script) - urlToIndex[script.src] = i - } - window.addEventListener('load', runTests) - </script> -</head> diff --git a/tests/wpt/web-platform-tests/server-timing/test_server_timing.html b/tests/wpt/web-platform-tests/server-timing/test_server_timing.html deleted file mode 100644 index 2d43aa2d43b..00000000000 --- a/tests/wpt/web-platform-tests/server-timing/test_server_timing.html +++ /dev/null @@ -1,45 +0,0 @@ -<!DOCTYPE html> -<head> - <meta charset='utf-8' /> - <script src="/resources/testharness.js"></script> - <script src='/resources/testharnessreport.js'></script> - <script src="/common/performance-timeline-utils.js"></script> - <script> - setup({explicit_done: true}) - - window.addEventListener('load', function() { - // there should be exactly three server-timing entries, 2 for document, 1 for img#one - test_entries(performance.getEntriesByType('navigation')[0].serverTiming, [{ - duration: 1.1, - name: 'metric1', - description: 'document', - }, { - duration: 1.2, - name: 'metric1', - description: 'document', - }]) - test_entries(performance.getEntriesByName(document.querySelector('img#one').src)[0].serverTiming, [{ - duration: 2.1, - name: 'metric2', - description: 'blue.png', - }]) - - new PerformanceObserver(function(entryList, observer) { - // there should be exactly one server-timing entry, 1 for img#two - test_entries(entryList.getEntriesByName(document.querySelector('img#two').src)[0].serverTiming, [{ - duration: 3.1, - name: 'metric3', - description: 'green.png', - }]) - observer.disconnect() - done() - }).observe({entryTypes: ['resource']}) - - var img = document.createElement('img') - img.id = 'two' - img.src = './resources/green.png' - document.getElementsByTagName('script')[0].parentNode.appendChild(img) - }) - </script> -</head> -<img id='one' src='resources/blue.png'> diff --git a/tests/wpt/web-platform-tests/server-timing/test_server_timing.html.sub.headers b/tests/wpt/web-platform-tests/server-timing/test_server_timing.html.sub.headers deleted file mode 100644 index ad018b70fd8..00000000000 --- a/tests/wpt/web-platform-tests/server-timing/test_server_timing.html.sub.headers +++ /dev/null @@ -1 +0,0 @@ -Server-Timing: metric1; dur=1.1; desc=document, metric1; dur=1.2; desc=document diff --git a/tests/wpt/web-platform-tests/tools/META.yml b/tests/wpt/web-platform-tests/tools/META.yml index 8f988f99a82..7cc22a28c20 100644 --- a/tests/wpt/web-platform-tests/tools/META.yml +++ b/tests/wpt/web-platform-tests/tools/META.yml @@ -1,3 +1,4 @@ suggested_reviewers: - jgraham - gsnedders + - jugglinmike diff --git a/tests/wpt/web-platform-tests/tools/ci/check_stability.py b/tests/wpt/web-platform-tests/tools/ci/check_stability.py index 7dae5de852f..fa0cc3ba88a 100644 --- a/tests/wpt/web-platform-tests/tools/ci/check_stability.py +++ b/tests/wpt/web-platform-tests/tools/ci/check_stability.py @@ -110,7 +110,7 @@ def call(*args): Returns a bytestring of the subprocess output if no error. """ - logger.debug("%s" % " ".join(args)) + logger.debug(" ".join(args)) try: return subprocess.check_output(args) except subprocess.CalledProcessError as e: diff --git a/tests/wpt/web-platform-tests/tools/ci/tag_master.py b/tests/wpt/web-platform-tests/tools/ci/tag_master.py index f049671c313..72bafd3a866 100644 --- a/tests/wpt/web-platform-tests/tools/ci/tag_master.py +++ b/tests/wpt/web-platform-tests/tools/ci/tag_master.py @@ -58,7 +58,7 @@ def tag(repo, owner, sha, tag): url = "https://api.github.com/repos/%s/%s/git/refs" % (repo, owner) req = urllib2.Request(url, data=data) - base64string = base64.b64encode('%s' % (os.environ["GH_TOKEN"])) + base64string = base64.b64encode(os.environ["GH_TOKEN"]) req.add_header("Authorization", "Basic %s" % base64string) opener = urllib2.build_opener(urllib2.HTTPSHandler()) diff --git a/tests/wpt/web-platform-tests/tools/wpt/run.py b/tests/wpt/web-platform-tests/tools/wpt/run.py index 6f7ad1a53de..a2cd1c0b115 100644 --- a/tests/wpt/web-platform-tests/tools/wpt/run.py +++ b/tests/wpt/web-platform-tests/tools/wpt/run.py @@ -265,6 +265,9 @@ class Chrome(BrowserSetup): logger.info("Automatically turning on experimental features for Chrome Dev") kwargs["binary_args"].append("--enable-experimental-web-platform-features") + # Allow audio autoplay without a user gesture. + kwargs["binary_args"].append("--autoplay-policy=no-user-gesture-required") + # Allow WebRTC tests to call getUserMedia. kwargs["binary_args"] += ["--use-fake-ui-for-media-stream", "--use-fake-device-for-media-stream"] diff --git a/tests/wpt/web-platform-tests/tools/wpt/testfiles.py b/tests/wpt/web-platform-tests/tools/wpt/testfiles.py index 35a4b97d7ff..ace0171c040 100644 --- a/tests/wpt/web-platform-tests/tools/wpt/testfiles.py +++ b/tests/wpt/web-platform-tests/tools/wpt/testfiles.py @@ -219,6 +219,11 @@ def affected_testfiles(files_changed, skip_tests, manifest_path=None): test_files = {os.path.join(wpt_root, path) for _, path, _ in wpt_manifest.itertypes(*test_types)} + interface_dir = os.path.join(wpt_root, 'interfaces') + interfaces_files = {os.path.join(wpt_root, 'interfaces', filename) + for filename in os.listdir(interface_dir)} + + interfaces_changed = interfaces_files.intersection(nontests_changed) nontests_changed = nontests_changed.intersection(support_files) tests_changed = set(item for item in files_changed if item in test_files) @@ -237,6 +242,9 @@ def affected_testfiles(files_changed, skip_tests, manifest_path=None): full_path = os.path.join(wpt_root, repo_path[1:].replace("/", os.path.sep)) nontest_changed_paths.add((full_path, repo_path)) + interface_name = lambda x: os.path.splitext(os.path.basename(x))[0] + interfaces_changed_names = map(interface_name, interfaces_changed) + def affected_by_wdspec(test): affected = False if test in wdspec_test_files: @@ -252,6 +260,15 @@ def affected_testfiles(files_changed, skip_tests, manifest_path=None): break return affected + def affected_by_interfaces(file_contents): + if len(interfaces_changed_names) > 0: + if 'idlharness.js' in file_contents: + for interface in interfaces_changed_names: + regex = '[\'"]' + interface + '(\\.idl)?[\'"]' + if re.search(regex, file_contents): + affected_testfiles.add(test_full_path) + break + for root, dirs, fnames in os.walk(wpt_root): # Walk top_level_subdir looking for test files containing either the # relative filepath or absolute filepath to the changed files. @@ -277,7 +294,7 @@ def affected_testfiles(files_changed, skip_tests, manifest_path=None): file_contents = file_contents.decode("utf8", "replace") for full_path, repo_path in nontest_changed_paths: rel_path = os.path.relpath(full_path, root).replace(os.path.sep, "/") - if rel_path in file_contents or repo_path in file_contents: + if rel_path in file_contents or repo_path in file_contents or affected_by_interfaces(file_contents): affected_testfiles.add(test_full_path) continue diff --git a/tests/wpt/web-platform-tests/tools/wpt/tests/test_wpt.py b/tests/wpt/web-platform-tests/tools/wpt/tests/test_wpt.py index 8387dc9613e..d987242679b 100644 --- a/tests/wpt/web-platform-tests/tools/wpt/tests/test_wpt.py +++ b/tests/wpt/web-platform-tests/tools/wpt/tests/test_wpt.py @@ -394,6 +394,20 @@ def test_tests_affected(capsys, manifest_dir): reason="Tests currently don't work on Windows for path reasons") @pytest.mark.skipif(sys.platform == "win32", reason="https://github.com/web-platform-tests/wpt/issues/12934") +def test_tests_affected_idlharness(capsys, manifest_dir): + commit = "47cea8c38b88c0ddd3854e4edec0c5b6f2697e62" + with pytest.raises(SystemExit) as excinfo: + wpt.main(argv=["tests-affected", "--metadata", manifest_dir, "%s~..%s" % (commit, commit)]) + assert excinfo.value.code == 0 + out, err = capsys.readouterr() + assert "webrtc/idlharness.https.window.js\n" == out + + +@pytest.mark.slow # this updates the manifest +@pytest.mark.xfail(sys.platform == "win32", + reason="Tests currently don't work on Windows for path reasons") +@pytest.mark.skipif(sys.platform == "win32", + reason="https://github.com/web-platform-tests/wpt/issues/12934") def test_tests_affected_null(capsys, manifest_dir): # This doesn't really work properly for random commits because we test the files in # the current working directory for references to the changed files, not the ones at diff --git a/tests/wpt/web-platform-tests/tools/wpt/utils.py b/tests/wpt/web-platform-tests/tools/wpt/utils.py index e8edc0be493..1e622a63859 100644 --- a/tests/wpt/web-platform-tests/tools/wpt/utils.py +++ b/tests/wpt/web-platform-tests/tools/wpt/utils.py @@ -39,7 +39,7 @@ def call(*args): Returns a bytestring of the subprocess output if no error. """ - logger.debug("%s" % " ".join(args)) + logger.debug(" ".join(args)) try: return subprocess.check_output(args) except subprocess.CalledProcessError as e: diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt index 2ae1622a6a3..ffc911e56e7 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt +++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt @@ -2,4 +2,4 @@ html5lib == 1.0.1 mozinfo == 0.10 mozlog==3.9 mozdebug == 0.1 -urllib3[secure]==1.23 +urllib3[secure]==1.24 diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/fennec.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/fennec.py index 35f6f5dbd01..15f6c0088e2 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/fennec.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/fennec.py @@ -227,8 +227,9 @@ class FennecBrowser(FirefoxBrowser): if self.runner is not None: try: if self.runner.device.connected: - self.runner.device.device.remove_forwards( - "tcp:{}".format(self.marionette_port)) + if len(self.runner.device.device.list_forwards()) > 0: + self.runner.device.device.remove_forwards( + "tcp:{}".format(self.marionette_port)) except Exception: traceback.print_exception(*sys.exc_info()) # We assume that stopping the runner prompts the diff --git a/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/property-types.js b/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/property-types.js index 430cd4e182e..e13cac067c4 100644 --- a/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/property-types.js +++ b/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/property-types.js @@ -1473,7 +1473,7 @@ const transformListType = { Math.cos(Math.PI / 2), 100 * Math.cos(Math.PI / 2), 100 * Math.sin(Math.PI / 2) ] }]); - }, `${property}: rotate on roate and translate`); + }, `${property}: rotate on rotate and translate`); test(t => { const idlName = propertyToIDL(property); diff --git a/tests/wpt/web-platform-tests/web-locks/web-locks.idl b/tests/wpt/web-platform-tests/web-locks/web-locks.idl index 351c1c5d822..14bc3a22cc3 100644 --- a/tests/wpt/web-platform-tests/web-locks/web-locks.idl +++ b/tests/wpt/web-platform-tests/web-locks/web-locks.idl @@ -16,7 +16,7 @@ interface LockManager { Promise<LockManagerSnapshot> query(); }; -callback LockGrantedCallback = Promise<any> (Lock lock); +callback LockGrantedCallback = Promise<any> (Lock? lock); enum LockMode { "shared", "exclusive" }; diff --git a/tests/wpt/web-platform-tests/webmidi/idlharness.window.js b/tests/wpt/web-platform-tests/webmidi/idlharness.https.window.js index 5fb88073b16..5fb88073b16 100644 --- a/tests/wpt/web-platform-tests/webmidi/idlharness.window.js +++ b/tests/wpt/web-platform-tests/webmidi/idlharness.https.window.js |