diff options
70 files changed, 1481 insertions, 474 deletions
diff --git a/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini b/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini index 947e223fb28..3a3d15b8406 100644 --- a/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini +++ b/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini @@ -14,6 +14,9 @@ [Revoke blob URL after creating Request, will fetch] expected: FAIL + [Revoke blob URL after calling fetch, fetch should succeed] + expected: FAIL + [url-with-fetch.any.html] [Untitled] @@ -34,3 +37,6 @@ [Revoke blob URL after creating Request, will fetch] expected: FAIL + [Revoke blob URL after calling fetch, fetch should succeed] + expected: FAIL + diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 116c88f2ca7..31115044364 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -147105,6 +147105,18 @@ {} ] ], + "css/css-text/text-transform/text-transform-upperlower-044.html": [ + [ + "css/css-text/text-transform/text-transform-upperlower-044.html", + [ + [ + "/css/css-text/text-transform/reference/text-transform-upperlower-044-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-text/text-transform/text-transform-upperlower-101.html": [ [ "css/css-text/text-transform/text-transform-upperlower-101.html", @@ -281113,6 +281125,11 @@ {} ] ], + "css/css-text/text-transform/reference/text-transform-upperlower-044-ref.html": [ + [ + {} + ] + ], "css/css-text/text-transform/reference/text-transform-upperlower-101-ref.html": [ [ {} @@ -344718,344 +344735,26 @@ {} ] ], - "IndexedDB/nested-cloning-large-multiple.any.js": [ + "IndexedDB/nested-cloning-large-multiple.html": [ [ - "IndexedDB/nested-cloning-large-multiple.any.html", + "IndexedDB/nested-cloning-large-multiple.html", { - "script_metadata": [ - [ - "title", - "IndexedDB: large nested objects are cloned correctly" - ], - [ - "timeout", - "long" - ], - [ - "script", - "support-promises.js" - ], - [ - "script", - "nested-cloning-common.js" - ], - [ - "global", - "window,dedicatedworker,sharedworker,serviceworker" - ] - ], - "timeout": "long" - } - ], - [ - "IndexedDB/nested-cloning-large-multiple.any.serviceworker.html", - { - "script_metadata": [ - [ - "title", - "IndexedDB: large nested objects are cloned correctly" - ], - [ - "timeout", - "long" - ], - [ - "script", - "support-promises.js" - ], - [ - "script", - "nested-cloning-common.js" - ], - [ - "global", - "window,dedicatedworker,sharedworker,serviceworker" - ] - ], - "timeout": "long" - } - ], - [ - "IndexedDB/nested-cloning-large-multiple.any.sharedworker.html", - { - "script_metadata": [ - [ - "title", - "IndexedDB: large nested objects are cloned correctly" - ], - [ - "timeout", - "long" - ], - [ - "script", - "support-promises.js" - ], - [ - "script", - "nested-cloning-common.js" - ], - [ - "global", - "window,dedicatedworker,sharedworker,serviceworker" - ] - ], - "timeout": "long" - } - ], - [ - "IndexedDB/nested-cloning-large-multiple.any.worker.html", - { - "script_metadata": [ - [ - "title", - "IndexedDB: large nested objects are cloned correctly" - ], - [ - "timeout", - "long" - ], - [ - "script", - "support-promises.js" - ], - [ - "script", - "nested-cloning-common.js" - ], - [ - "global", - "window,dedicatedworker,sharedworker,serviceworker" - ] - ], "timeout": "long" } ] ], - "IndexedDB/nested-cloning-large.any.js": [ + "IndexedDB/nested-cloning-large.html": [ [ - "IndexedDB/nested-cloning-large.any.html", + "IndexedDB/nested-cloning-large.html", { - "script_metadata": [ - [ - "title", - "IndexedDB: large nested objects are cloned correctly" - ], - [ - "timeout", - "long" - ], - [ - "script", - "support-promises.js" - ], - [ - "script", - "nested-cloning-common.js" - ], - [ - "global", - "window,dedicatedworker,sharedworker,serviceworker" - ] - ], - "timeout": "long" - } - ], - [ - "IndexedDB/nested-cloning-large.any.serviceworker.html", - { - "script_metadata": [ - [ - "title", - "IndexedDB: large nested objects are cloned correctly" - ], - [ - "timeout", - "long" - ], - [ - "script", - "support-promises.js" - ], - [ - "script", - "nested-cloning-common.js" - ], - [ - "global", - "window,dedicatedworker,sharedworker,serviceworker" - ] - ], - "timeout": "long" - } - ], - [ - "IndexedDB/nested-cloning-large.any.sharedworker.html", - { - "script_metadata": [ - [ - "title", - "IndexedDB: large nested objects are cloned correctly" - ], - [ - "timeout", - "long" - ], - [ - "script", - "support-promises.js" - ], - [ - "script", - "nested-cloning-common.js" - ], - [ - "global", - "window,dedicatedworker,sharedworker,serviceworker" - ] - ], - "timeout": "long" - } - ], - [ - "IndexedDB/nested-cloning-large.any.worker.html", - { - "script_metadata": [ - [ - "title", - "IndexedDB: large nested objects are cloned correctly" - ], - [ - "timeout", - "long" - ], - [ - "script", - "support-promises.js" - ], - [ - "script", - "nested-cloning-common.js" - ], - [ - "global", - "window,dedicatedworker,sharedworker,serviceworker" - ] - ], "timeout": "long" } ] ], - "IndexedDB/nested-cloning-small.any.js": [ - [ - "IndexedDB/nested-cloning-small.any.html", - { - "script_metadata": [ - [ - "title", - "IndexedDB: small nested objects are cloned correctly" - ], - [ - "timeout", - "long" - ], - [ - "script", - "support-promises.js" - ], - [ - "script", - "nested-cloning-common.js" - ], - [ - "global", - "window,dedicatedworker,sharedworker,serviceworker" - ] - ], - "timeout": "long" - } - ], + "IndexedDB/nested-cloning-small.html": [ [ - "IndexedDB/nested-cloning-small.any.serviceworker.html", + "IndexedDB/nested-cloning-small.html", { - "script_metadata": [ - [ - "title", - "IndexedDB: small nested objects are cloned correctly" - ], - [ - "timeout", - "long" - ], - [ - "script", - "support-promises.js" - ], - [ - "script", - "nested-cloning-common.js" - ], - [ - "global", - "window,dedicatedworker,sharedworker,serviceworker" - ] - ], - "timeout": "long" - } - ], - [ - "IndexedDB/nested-cloning-small.any.sharedworker.html", - { - "script_metadata": [ - [ - "title", - "IndexedDB: small nested objects are cloned correctly" - ], - [ - "timeout", - "long" - ], - [ - "script", - "support-promises.js" - ], - [ - "script", - "nested-cloning-common.js" - ], - [ - "global", - "window,dedicatedworker,sharedworker,serviceworker" - ] - ], - "timeout": "long" - } - ], - [ - "IndexedDB/nested-cloning-small.any.worker.html", - { - "script_metadata": [ - [ - "title", - "IndexedDB: small nested objects are cloned correctly" - ], - [ - "timeout", - "long" - ], - [ - "script", - "support-promises.js" - ], - [ - "script", - "nested-cloning-common.js" - ], - [ - "global", - "window,dedicatedworker,sharedworker,serviceworker" - ] - ], "timeout": "long" } ] @@ -352780,6 +352479,14 @@ } ] ], + "bluetooth/characteristic/writeValue/buffer-is-detached.https.html": [ + [ + "bluetooth/characteristic/writeValue/buffer-is-detached.https.html", + { + "testdriver": true + } + ] + ], "bluetooth/characteristic/writeValue/characteristic-is-removed.https.html": [ [ "bluetooth/characteristic/writeValue/characteristic-is-removed.https.html", @@ -352828,6 +352535,14 @@ } ] ], + "bluetooth/descriptor/writeValue/buffer-is-detached.https.html": [ + [ + "bluetooth/descriptor/writeValue/buffer-is-detached.https.html", + { + "testdriver": true + } + ] + ], "bluetooth/descriptor/writeValue/gen-service-is-removed.https.html": [ [ "bluetooth/descriptor/writeValue/gen-service-is-removed.https.html", @@ -358711,6 +358426,12 @@ {} ] ], + "css/css-backgrounds/parsing/background-attachment-computed.html": [ + [ + "css/css-backgrounds/parsing/background-attachment-computed.html", + {} + ] + ], "css/css-backgrounds/parsing/background-attachment-invalid.html": [ [ "css/css-backgrounds/parsing/background-attachment-invalid.html", @@ -358723,6 +358444,12 @@ {} ] ], + "css/css-backgrounds/parsing/background-clip-computed.html": [ + [ + "css/css-backgrounds/parsing/background-clip-computed.html", + {} + ] + ], "css/css-backgrounds/parsing/background-clip-invalid.html": [ [ "css/css-backgrounds/parsing/background-clip-invalid.html", @@ -358735,6 +358462,12 @@ {} ] ], + "css/css-backgrounds/parsing/background-color-computed.html": [ + [ + "css/css-backgrounds/parsing/background-color-computed.html", + {} + ] + ], "css/css-backgrounds/parsing/background-color-invalid.html": [ [ "css/css-backgrounds/parsing/background-color-invalid.html", @@ -358747,6 +358480,18 @@ {} ] ], + "css/css-backgrounds/parsing/background-computed.html": [ + [ + "css/css-backgrounds/parsing/background-computed.html", + {} + ] + ], + "css/css-backgrounds/parsing/background-image-computed.html": [ + [ + "css/css-backgrounds/parsing/background-image-computed.html", + {} + ] + ], "css/css-backgrounds/parsing/background-image-invalid.html": [ [ "css/css-backgrounds/parsing/background-image-invalid.html", @@ -358765,6 +358510,12 @@ {} ] ], + "css/css-backgrounds/parsing/background-origin-computed.html": [ + [ + "css/css-backgrounds/parsing/background-origin-computed.html", + {} + ] + ], "css/css-backgrounds/parsing/background-origin-invalid.html": [ [ "css/css-backgrounds/parsing/background-origin-invalid.html", @@ -358777,6 +358528,12 @@ {} ] ], + "css/css-backgrounds/parsing/background-position-computed.html": [ + [ + "css/css-backgrounds/parsing/background-position-computed.html", + {} + ] + ], "css/css-backgrounds/parsing/background-position-invalid.html": [ [ "css/css-backgrounds/parsing/background-position-invalid.html", @@ -358825,6 +358582,12 @@ {} ] ], + "css/css-backgrounds/parsing/background-repeat-computed.html": [ + [ + "css/css-backgrounds/parsing/background-repeat-computed.html", + {} + ] + ], "css/css-backgrounds/parsing/background-repeat-invalid.html": [ [ "css/css-backgrounds/parsing/background-repeat-invalid.html", @@ -358837,6 +358600,12 @@ {} ] ], + "css/css-backgrounds/parsing/background-size-computed.html": [ + [ + "css/css-backgrounds/parsing/background-size-computed.html", + {} + ] + ], "css/css-backgrounds/parsing/background-size-invalid.html": [ [ "css/css-backgrounds/parsing/background-size-invalid.html", @@ -362803,6 +362572,60 @@ {} ] ], + "css/css-logical/parsing/border-block-color-computed.html": [ + [ + "css/css-logical/parsing/border-block-color-computed.html", + {} + ] + ], + "css/css-logical/parsing/border-block-color-invalid.html": [ + [ + "css/css-logical/parsing/border-block-color-invalid.html", + {} + ] + ], + "css/css-logical/parsing/border-block-color-valid.html": [ + [ + "css/css-logical/parsing/border-block-color-valid.html", + {} + ] + ], + "css/css-logical/parsing/border-block-style-computed.html": [ + [ + "css/css-logical/parsing/border-block-style-computed.html", + {} + ] + ], + "css/css-logical/parsing/border-block-style-invalid.html": [ + [ + "css/css-logical/parsing/border-block-style-invalid.html", + {} + ] + ], + "css/css-logical/parsing/border-block-style-valid.html": [ + [ + "css/css-logical/parsing/border-block-style-valid.html", + {} + ] + ], + "css/css-logical/parsing/border-block-width-computed.html": [ + [ + "css/css-logical/parsing/border-block-width-computed.html", + {} + ] + ], + "css/css-logical/parsing/border-block-width-invalid.html": [ + [ + "css/css-logical/parsing/border-block-width-invalid.html", + {} + ] + ], + "css/css-logical/parsing/border-block-width-valid.html": [ + [ + "css/css-logical/parsing/border-block-width-valid.html", + {} + ] + ], "css/css-logical/parsing/inline-size-invalid.html": [ [ "css/css-logical/parsing/inline-size-invalid.html", @@ -397031,6 +396854,12 @@ {} ] ], + "html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html": [ + [ + "html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html", + {} + ] + ], "html/semantics/embedded-content/media-elements/track/track-element/track-text-track-cue-list.html": [ [ "html/semantics/embedded-content/media-elements/track/track-element/track-text-track-cue-list.html", @@ -423149,6 +422978,12 @@ {} ] ], + "portals/portal-non-http-navigation.html": [ + [ + "portals/portal-non-http-navigation.html", + {} + ] + ], "portals/portal-onload-event.html": [ [ "portals/portal-onload-event.html", @@ -445578,6 +445413,19 @@ } ] ], + "wake-lock/wakelock-screen-type-on-worker.https.worker.js": [ + [ + "wake-lock/wakelock-screen-type-on-worker.https.worker.html", + { + "script_metadata": [ + [ + "title", + "Screen wake lock should not be allowed in dedicated worker" + ] + ] + } + ] + ], "wake-lock/wakelock-supported-by-feature-policy.html": [ [ "wake-lock/wakelock-supported-by-feature-policy.html", @@ -445591,7 +445439,7 @@ "script_metadata": [ [ "title", - "WakeLock.request() with invaild type" + "WakeLock.request() with invalid type" ] ] } @@ -445602,7 +445450,7 @@ "script_metadata": [ [ "title", - "WakeLock.request() with invaild type" + "WakeLock.request() with invalid type" ] ] } @@ -488481,16 +488329,16 @@ "db5f710ceb5652ed8b9746f883948fac41262d6b", "support" ], - "IndexedDB/nested-cloning-large-multiple.any.js": [ - "d64df916d801b106759fb0ca2e6547d5686fac8d", + "IndexedDB/nested-cloning-large-multiple.html": [ + "f263efbcf6d8f1601e623690ba0de799edce406b", "testharness" ], - "IndexedDB/nested-cloning-large.any.js": [ - "cadfeb04599d2c946037a8a726ea37357fb41172", + "IndexedDB/nested-cloning-large.html": [ + "6e4f9be2ee6ce57605ad0248f37f794f6d8a70a2", "testharness" ], - "IndexedDB/nested-cloning-small.any.js": [ - "864752827a9afd1932f1e0978e1cff825af42fb4", + "IndexedDB/nested-cloning-small.html": [ + "558415f2342038eb079b4267fdcb0b133fbb9da8", "testharness" ], "IndexedDB/objectstore_keyorder.htm": [ @@ -492921,6 +492769,10 @@ "d9a9594320d5ec337b5b50ac5f7873e547e4b30a", "testharness" ], + "bluetooth/characteristic/writeValue/buffer-is-detached.https.html": [ + "b8a1abfa5afe3d514d6884b58268dc47cfc15f5e", + "testharness" + ], "bluetooth/characteristic/writeValue/characteristic-is-removed.https.html": [ "f79c21916fba824578eeb20052dba6f86c350adc", "testharness" @@ -492945,6 +492797,10 @@ "35ff057cbadf12c8d7ada949fe1db07a01450a66", "testharness" ], + "bluetooth/descriptor/writeValue/buffer-is-detached.https.html": [ + "2ab990de61c5603976d3dc915d078a59f11d30a2", + "testharness" + ], "bluetooth/descriptor/writeValue/gen-service-is-removed.https.html": [ "acd56c3aa45723f1019806b15332697e2e04690f", "testharness" @@ -580661,6 +580517,10 @@ "5ed794153083a7e06eb2e98b7ebdb5bec2676d28", "visual" ], + "css/css-backgrounds/parsing/background-attachment-computed.html": [ + "ceb76c2cdae213b5dad7e1f770590e0b4b054f12", + "testharness" + ], "css/css-backgrounds/parsing/background-attachment-invalid.html": [ "30757f3a4d02a9b1d1fc82c19255804ee2b20ae9", "testharness" @@ -580669,6 +580529,10 @@ "14d72c606ba52e85d296a5404c2546486765cd42", "testharness" ], + "css/css-backgrounds/parsing/background-clip-computed.html": [ + "9e8b7631bbb37c20fe7bdf5b43206a1e9aa20ce7", + "testharness" + ], "css/css-backgrounds/parsing/background-clip-invalid.html": [ "96831e06fc9cce1c9c45e4d44c83f04d2350d0ab", "testharness" @@ -580677,14 +580541,26 @@ "e262a788bd0296deb0429fd4fc4257390776680a", "testharness" ], + "css/css-backgrounds/parsing/background-color-computed.html": [ + "7fbeac81a9f328be670c81be4b645e0e37461e91", + "testharness" + ], "css/css-backgrounds/parsing/background-color-invalid.html": [ - "b94875402d89839fdb717883f11eff7f880036bf", + "bf315fdb4e49038dae3eb16d3df7308840b51ca3", "testharness" ], "css/css-backgrounds/parsing/background-color-valid.html": [ "3859b932c82287c0e103f1a7aebb1ed190b735a0", "testharness" ], + "css/css-backgrounds/parsing/background-computed.html": [ + "cb7d10998e0f46c2553fe161cb215179c4bab4c7", + "testharness" + ], + "css/css-backgrounds/parsing/background-image-computed.html": [ + "af14f6cf6e8e23de029f7079fe653144218b0ecf", + "testharness" + ], "css/css-backgrounds/parsing/background-image-invalid.html": [ "eaba64a715ce71a9f828569a24df51f1476664dd", "testharness" @@ -580697,6 +580573,10 @@ "4ea58da801961ba9c8a315ebb0b1de846e16f889", "testharness" ], + "css/css-backgrounds/parsing/background-origin-computed.html": [ + "4e5280135d8d2d5bf3ea73cd92505f78c7e09f52", + "testharness" + ], "css/css-backgrounds/parsing/background-origin-invalid.html": [ "5da00dabe33473254830990c43375ac349eea330", "testharness" @@ -580705,8 +580585,12 @@ "7e3b0fffcad133948567c5a31b9dcb232891e610", "testharness" ], + "css/css-backgrounds/parsing/background-position-computed.html": [ + "c5e30745f476027170420039873f1911908676df", + "testharness" + ], "css/css-backgrounds/parsing/background-position-invalid.html": [ - "bb974afd9f41d8ca4f0ac82db10e57e4bf6d74b7", + "966db4c31a9b1b9d55afbce41ec31bbb98dfc69f", "testharness" ], "css/css-backgrounds/parsing/background-position-valid.html": [ @@ -580714,7 +580598,7 @@ "testharness" ], "css/css-backgrounds/parsing/background-position-x-computed.html": [ - "6e997c95ae0b632713bed16a84d07c3ac6379d1b", + "f64d2658637ae013997dcdac15d090149304d6df", "testharness" ], "css/css-backgrounds/parsing/background-position-x-invalid.html": [ @@ -580726,7 +580610,7 @@ "testharness" ], "css/css-backgrounds/parsing/background-position-y-computed.html": [ - "ceff11f624d2d04fdca3201af09023081c3bf759", + "103a26037b7115d09472bd58dc49349e698ef020", "testharness" ], "css/css-backgrounds/parsing/background-position-y-invalid.html": [ @@ -580737,6 +580621,10 @@ "1413a2e959a4cf00b64fecf06932a083e1480e54", "testharness" ], + "css/css-backgrounds/parsing/background-repeat-computed.html": [ + "f58ab577791a869c837b08c39514d3ee8b17eba6", + "testharness" + ], "css/css-backgrounds/parsing/background-repeat-invalid.html": [ "abb153378f4ce02507d39c5a5a979689df58c8ba", "testharness" @@ -580745,6 +580633,10 @@ "2f72e03c73332dcf4356796ea3164fe170a21620", "testharness" ], + "css/css-backgrounds/parsing/background-size-computed.html": [ + "01091f541ff3494d9949d620521ea6e91d9d9f97", + "testharness" + ], "css/css-backgrounds/parsing/background-size-invalid.html": [ "01a0322002bc4fecc9c48d2266e39d1c2da3e500", "testharness" @@ -601097,6 +600989,42 @@ "47170e48f15f90488542daf7ede743cd55f75172", "testharness" ], + "css/css-logical/parsing/border-block-color-computed.html": [ + "dc9e44edb1a11c374074c266c2b0929a5f13580b", + "testharness" + ], + "css/css-logical/parsing/border-block-color-invalid.html": [ + "1c25f125fe32fe138d4ef1a656c4a249cd981136", + "testharness" + ], + "css/css-logical/parsing/border-block-color-valid.html": [ + "aefe0f268b0f7a91d46fb40c4b051587de1f2ac7", + "testharness" + ], + "css/css-logical/parsing/border-block-style-computed.html": [ + "beb3869863ccf016457b03bf4a8c401b7a69c47c", + "testharness" + ], + "css/css-logical/parsing/border-block-style-invalid.html": [ + "680e510aae6853fc48ad65f2eb3a0fabdb436936", + "testharness" + ], + "css/css-logical/parsing/border-block-style-valid.html": [ + "860a1052b8346aadbbbf18faf818ab9248f35535", + "testharness" + ], + "css/css-logical/parsing/border-block-width-computed.html": [ + "3b4d934f8b23b29cd5d7b3aae039ac51ac4ab410", + "testharness" + ], + "css/css-logical/parsing/border-block-width-invalid.html": [ + "65990fe930d2b8b69a2863d675bbfd993291ce5a", + "testharness" + ], + "css/css-logical/parsing/border-block-width-valid.html": [ + "98987df9a703ef38d20c6bc1581b2ca136342615", + "testharness" + ], "css/css-logical/parsing/inline-size-invalid.html": [ "d3d5d3f84d9d01392533e787b9e6755d592ec96e", "testharness" @@ -616858,7 +616786,7 @@ "support" ], "css/css-text/text-transform/reference/text-transform-upperlower-039-ref.html": [ - "0e243edde50eeddae6b52604051ade41194cf447", + "f4fb6804434e02f283fe036e8a110a5652fc8cb3", "support" ], "css/css-text/text-transform/reference/text-transform-upperlower-040-ref.html": [ @@ -616877,6 +616805,10 @@ "5c5e18c2f7451fb5a236c9fae6344786a65336b3", "support" ], + "css/css-text/text-transform/reference/text-transform-upperlower-044-ref.html": [ + "3eed1edb80e628c28f6a483db4a6980a4b36064e", + "support" + ], "css/css-text/text-transform/reference/text-transform-upperlower-101-ref.html": [ "0105b021d468598eec8e48de849d4764a9e517af", "support" @@ -617234,7 +617166,7 @@ "reftest" ], "css/css-text/text-transform/text-transform-upperlower-039.html": [ - "40f36e0be3cd440d8f8820e5636455e90b5b9e68", + "470a4f6fb549f29d9a29f43b68df63b304c851e2", "reftest" ], "css/css-text/text-transform/text-transform-upperlower-040.html": [ @@ -617253,6 +617185,10 @@ "d56f6b3ee3bf1cd0d692d36a782c0040129b31a4", "reftest" ], + "css/css-text/text-transform/text-transform-upperlower-044.html": [ + "6d81c4540a132fc5db5a8361154c3f04f1087f32", + "reftest" + ], "css/css-text/text-transform/text-transform-upperlower-101.html": [ "e4f2ca7d9f510359541f974e4f648c89de6e1561", "reftest" @@ -671166,7 +671102,7 @@ "testharness" ], "html/semantics/embedded-content/media-elements/track/track-element/track-active-cues.html": [ - "67ab3bdb138230fa64f0a04c0cc2bd780a23ec65", + "501cf3f92a2796c2685a046829593821d7414b2c", "testharness" ], "html/semantics/embedded-content/media-elements/track/track-element/track-add-remove-cue.html": [ @@ -671314,11 +671250,11 @@ "testharness" ], "html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change-error.html": [ - "ffc8ec0682dedc522f4713dcf3ba58b31debbb8b", + "dd97d0522d781f685178763df67dbb3145290ca3", "testharness" ], "html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change.html": [ - "34a53d153190afe44357d5b53e184050de092b18", + "f3c78668b4ac6862dc60eb9d4f6c30e149fa07af", "testharness" ], "html/semantics/embedded-content/media-elements/track/track-element/track-helpers.js": [ @@ -671354,7 +671290,7 @@ "testharness" ], "html/semantics/embedded-content/media-elements/track/track-element/track-mode-not-changed-by-new-track.html": [ - "2902ba90bc97355bea3902a1a6dcb81d4e4e9e41", + "3ec47a39e2f229e48c3ae14ec6428c88931013a7", "testharness" ], "html/semantics/embedded-content/media-elements/track/track-element/track-mode-triggers-loading.html": [ @@ -671397,6 +671333,10 @@ "1f7df3b68232eef2010b7c8df665ec39b68af08e", "testharness" ], + "html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html": [ + "522d067adfc500a4e773c267c663f331d86c57cc", + "testharness" + ], "html/semantics/embedded-content/media-elements/track/track-element/track-text-track-cue-list.html": [ "5b11bfdea4cf935d96b21505b8681288793ee2c4", "testharness" @@ -674866,11 +674806,11 @@ "support" ], "html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener.html": [ - "97320090cf039c7352d3f302a42c4bee8765bbd7", + "73eebaff70f09bb98a3b7dd6b59f9357a3ab0668", "testharness" ], "html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener_base.html": [ - "8d1b54baccdfd49403c6d192d4c287d3d8818636", + "3da6a49ef866e7c048461d60b398ad619e72d986", "testharness" ], "html/semantics/links/linktypes/alternate-css-ref.html": [ @@ -680706,7 +680646,7 @@ "support" ], "interfaces/mediacapture-streams.idl": [ - "427aa92dd1f750f305bccb0b9514820f5bc1d29b", + "c07b7e3301248f4945aacbbbe1a0c84330bbe086", "support" ], "interfaces/mediasession.idl": [ @@ -680890,7 +680830,7 @@ "support" ], "interfaces/wake-lock.idl": [ - "863cef13f3c39e852920fdf3763848562fe7360c", + "21a3406f5894629ab5838dcf85474043c5138867", "support" ], "interfaces/wasm-js-api.idl": [ @@ -680918,7 +680858,7 @@ "support" ], "interfaces/webaudio.idl": [ - "4679558023ae87655f46b10d5a57d39269c6e8c9", + "aa137c12f01e0ceee5af4435f38187d19c2acfcb", "support" ], "interfaces/webauthn.idl": [ @@ -680950,7 +680890,7 @@ "support" ], "interfaces/webrtc.idl": [ - "6ae34167ded31a5927791915eb56bc55f09c59dd", + "4b5d1c1c581869cdfcefab4584c2b05b2dcb1f86", "support" ], "interfaces/webusb.idl": [ @@ -694309,6 +694249,10 @@ "780e8b58af98cc910e3739e3a9a2e5567d5613d0", "testharness" ], + "portals/portal-non-http-navigation.html": [ + "3b79df3c230e1128574d4a6eb81d407cd9303e2c", + "testharness" + ], "portals/portal-onload-event.html": [ "c9f07fcc889043cd523206728f7daaaefa653409", "testharness" @@ -720630,7 +720574,7 @@ "support" ], "tools/wptrunner/wptrunner/browsers/firefox.py": [ - "454b08612aaca41e439fc7a9011019e7c4655c26", + "3b6949a42f5df564284eea15cd110e8c1a7763ee", "support" ], "tools/wptrunner/wptrunner/browsers/ie.py": [ @@ -723465,12 +723409,16 @@ "f32cc3c354354f99852bb198760cdbd9229355a4", "testharness" ], + "wake-lock/wakelock-screen-type-on-worker.https.worker.js": [ + "28e3394279c0b4311a80aad43ced0f9ea79e029f", + "testharness" + ], "wake-lock/wakelock-supported-by-feature-policy.html": [ "d6289fff43c8717ac6e9ace59713e6fd70bd249d", "testharness" ], "wake-lock/wakelock-type.https.any.js": [ - "26ebcbef557014fe5b5b7d4f4f145ac5f0305a02", + "e11fccc1ddf80320ffdf0bd893e28f30003dabc2", "testharness" ], "wasm/META.yml": [ @@ -727226,7 +727174,7 @@ "testharness" ], "webrtc/RTCPeerConnection-addIceCandidate.html": [ - "c51c11fccbfae40de733b882503be402cbf7aa7a", + "ed52ace59e60c1ea11285052ab2e1efa17a4d941", "testharness" ], "webrtc/RTCPeerConnection-addTrack.https.html": [ @@ -735142,7 +735090,7 @@ "testharness" ], "xhr/responsexml-document-properties.htm": [ - "b008348e58f0f8751d9d1b83531e843af8239a6d", + "9071fab121fc8e55d885c4fc89636380b66c226c", "testharness" ], "xhr/responsexml-get-twice.htm": [ diff --git a/tests/wpt/metadata/bluetooth/characteristic/writeValue/buffer-is-detached.https.html.ini b/tests/wpt/metadata/bluetooth/characteristic/writeValue/buffer-is-detached.https.html.ini new file mode 100644 index 00000000000..3d248dfdb6a --- /dev/null +++ b/tests/wpt/metadata/bluetooth/characteristic/writeValue/buffer-is-detached.https.html.ini @@ -0,0 +1,4 @@ +[buffer-is-detached.https.html] + [writeValue() fails when passed a detached buffer] + expected: FAIL + diff --git a/tests/wpt/metadata/bluetooth/descriptor/writeValue/buffer-is-detached.https.html.ini b/tests/wpt/metadata/bluetooth/descriptor/writeValue/buffer-is-detached.https.html.ini new file mode 100644 index 00000000000..3d248dfdb6a --- /dev/null +++ b/tests/wpt/metadata/bluetooth/descriptor/writeValue/buffer-is-detached.https.html.ini @@ -0,0 +1,4 @@ +[buffer-is-detached.https.html] + [writeValue() fails when passed a detached buffer] + expected: FAIL + diff --git a/tests/wpt/metadata/css/CSS2/bidi-text/bidi-box-model-035.xht.ini b/tests/wpt/metadata/css/CSS2/bidi-text/bidi-box-model-035.xht.ini new file mode 100644 index 00000000000..73f3097d3a7 --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/bidi-text/bidi-box-model-035.xht.ini @@ -0,0 +1,2 @@ +[bidi-box-model-035.xht] + expected: FAIL diff --git a/tests/wpt/metadata/css/CSS2/linebox/line-height-068.xht.ini b/tests/wpt/metadata/css/CSS2/linebox/line-height-068.xht.ini new file mode 100644 index 00000000000..bfe15e16fd8 --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/linebox/line-height-068.xht.ini @@ -0,0 +1,2 @@ +[line-height-068.xht] + expected: TIMEOUT diff --git a/tests/wpt/metadata/css/css-backgrounds/parsing/background-clip-computed.html.ini b/tests/wpt/metadata/css/css-backgrounds/parsing/background-clip-computed.html.ini new file mode 100644 index 00000000000..9c542887681 --- /dev/null +++ b/tests/wpt/metadata/css/css-backgrounds/parsing/background-clip-computed.html.ini @@ -0,0 +1,4 @@ +[background-clip-computed.html] + [Property background-clip value 'border-box, padding-box, content-box' computes to 'border-box'] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-backgrounds/parsing/background-computed.html.ini b/tests/wpt/metadata/css/css-backgrounds/parsing/background-computed.html.ini new file mode 100644 index 00000000000..dd4fdc7e6c8 --- /dev/null +++ b/tests/wpt/metadata/css/css-backgrounds/parsing/background-computed.html.ini @@ -0,0 +1,79 @@ +[background-computed.html] + [Property background-position-y value '0.5em' computes to '20px, 20px, 20px'] + expected: FAIL + + [Property background-position-y value 'calc(10px - 0.5em), -20%, bottom, 15%' computes to '-10px, -20%, 100%'] + expected: FAIL + + [Property background-position value '12px 13px, 50% 6px, 30px -10px' computes to '12px 13px, 50% 6px, 30px -10px'] + expected: FAIL + + [Property background-clip value 'content-box, border-box' computes to 'content-box, border-box, content-box'] + expected: FAIL + + [Property background-repeat value 'round' computes to 'round, round, round'] + expected: FAIL + + [Property background-attachment value 'local, fixed, scroll' computes to 'local, fixed, scroll'] + expected: FAIL + + [Property background-repeat value 'repeat-y, round no-repeat, repeat-x, repeat' computes to 'repeat-y, round no-repeat, repeat-x'] + expected: FAIL + + [Property background-position-x value 'calc(10px - 0.5em), -20%, right, 15%' computes to '-10px, -20%, 100%'] + expected: FAIL + + [Property background-clip value 'border-box' computes to 'border-box, border-box, border-box'] + expected: FAIL + + [Property background-attachment value 'local, fixed, scroll, fixed' computes to 'local, fixed, scroll'] + expected: FAIL + + [Property background-size value 'auto 1px, 2% 3%' computes to 'auto 1px, 2% 3%, auto 1px'] + expected: FAIL + + [Property background-clip value 'content-box, border-box, padding-box, content-box' computes to 'content-box, border-box, padding-box'] + expected: FAIL + + [Property background-origin value 'border-box' computes to 'border-box, border-box, border-box'] + expected: FAIL + + [Property background-position-x value '0.5em' computes to '20px, 20px, 20px'] + expected: FAIL + + [Property background-position value '12px 13px, 50% 6px, 30px -10px, -7px 8px' computes to '12px 13px, 50% 6px, 30px -10px'] + expected: FAIL + + [Property background-attachment value 'scroll, fixed' computes to 'scroll, fixed, scroll'] + expected: FAIL + + [Property background-position-y value '-20%, 10px' computes to '-20%, 10px, -20%'] + expected: FAIL + + [Property background-repeat value 'repeat-x, repeat' computes to 'repeat-x, repeat, repeat-x'] + expected: FAIL + + [Property background-position value '50% 6px' computes to '50% 6px, 50% 6px, 50% 6px'] + expected: FAIL + + [Property background-origin value 'content-box, border-box' computes to 'content-box, border-box, content-box'] + expected: FAIL + + [Property background-attachment value 'local' computes to 'local, local, local'] + expected: FAIL + + [Property background-position value '12px 13px, 50% 6px' computes to '12px 13px, 50% 6px, 12px 13px'] + expected: FAIL + + [Property background-size value 'auto 1px, 2% 3%, contain, 7px 8px' computes to 'auto 1px, 2% 3%, contain'] + expected: FAIL + + [Property background-position-x value '-20%, 10px' computes to '-20%, 10px, -20%'] + expected: FAIL + + [Property background-origin value 'content-box, border-box, padding-box, content-box' computes to 'content-box, border-box, padding-box'] + expected: FAIL + + [Property background-size value 'contain' computes to 'contain, contain, contain'] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-backgrounds/parsing/background-origin-computed.html.ini b/tests/wpt/metadata/css/css-backgrounds/parsing/background-origin-computed.html.ini new file mode 100644 index 00000000000..4a015c2ccb9 --- /dev/null +++ b/tests/wpt/metadata/css/css-backgrounds/parsing/background-origin-computed.html.ini @@ -0,0 +1,4 @@ +[background-origin-computed.html] + [Property background-origin value 'border-box, padding-box, content-box' computes to 'border-box'] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-computed.html.ini b/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-computed.html.ini new file mode 100644 index 00000000000..360feb221db --- /dev/null +++ b/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-computed.html.ini @@ -0,0 +1,88 @@ +[background-position-computed.html] + [Property background-position value '12px 13px, 50% 6px, 30px -10px' computes to '12px 13px'] + expected: FAIL + + [Property background-position value 'bottom right 19%' computes to '81% 100%'] + expected: FAIL + + [Property background-position value 'top 17px right -18px' computes to 'calc(100% + 18px) 17px'] + expected: FAIL + + [Property background-position value 'bottom 16% left' computes to '0% 84%'] + expected: FAIL + + [Property background-position value 'bottom center' computes to '50% 100%'] + expected: FAIL + + [Property background-position value 'right 9%' computes to '100% 9%'] + expected: FAIL + + [Property background-position value 'bottom' computes to '50% 100%'] + expected: FAIL + + [Property background-position value 'center left' computes to '0% 50%'] + expected: FAIL + + [Property background-position value '-2% -3%' computes to '-2% -3%'] + expected: FAIL + + [Property background-position value 'center top 8px' computes to '50% 8px'] + expected: FAIL + + [Property background-position value '1px center' computes to '1px 50%'] + expected: FAIL + + [Property background-position value 'center' computes to '50% 50%'] + expected: FAIL + + [Property background-position value '1px' computes to '1px 50%'] + expected: FAIL + + [Property background-position value 'left' computes to '0% 50%'] + expected: FAIL + + [Property background-position value 'center 6px' computes to '50% 6px'] + expected: FAIL + + [Property background-position value 'right 11% bottom' computes to '89% 100%'] + expected: FAIL + + [Property background-position value '5% top' computes to '5% 0%'] + expected: FAIL + + [Property background-position value 'calc(10px + 0.5em) calc(10px - 0.5em)' computes to '30px -10px'] + expected: FAIL + + [Property background-position value 'center center' computes to '50% 50%'] + expected: FAIL + + [Property background-position value 'right center' computes to '100% 50%'] + expected: FAIL + + [Property background-position value 'center bottom' computes to '50% 100%'] + expected: FAIL + + [Property background-position value 'left bottom' computes to '0% 100%'] + expected: FAIL + + [Property background-position value 'top left' computes to '0% 0%'] + expected: FAIL + + [Property background-position value 'left 10px center' computes to '10px 50%'] + expected: FAIL + + [Property background-position value 'top 15px center' computes to '50% 15px'] + expected: FAIL + + [Property background-position value 'left 12px top 13px' computes to '12px 13px'] + expected: FAIL + + [Property background-position value 'right top 14%' computes to '100% 14%'] + expected: FAIL + + [Property background-position value 'center right 7%' computes to '93% 50%'] + expected: FAIL + + [Property background-position value 'calc(10px - 0.5em) calc(10px + 0.5em)' computes to '-10px 30px'] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-x-computed.html.ini b/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-x-computed.html.ini index 2f1b576a058..774732efcbd 100644 --- a/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-x-computed.html.ini +++ b/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-x-computed.html.ini @@ -17,3 +17,18 @@ [Property background-position-x value 'x-end' computes to 'x-end'] expected: FAIL + [Property background-position-x value 'calc(10px - 0.5em), -20%, 10px' computes to '-10px'] + expected: FAIL + + [Property background-position-x value 'calc(10px - 0.5em), left -20%, right 10px' computes to '-10px'] + expected: FAIL + + [Property background-position-x value '-20%, 10px' computes to '-20%'] + expected: FAIL + + [Property background-position-x value 'center, left, right' computes to '50%'] + expected: FAIL + + [Property background-position-x value '0.5em, x-start, x-end' computes to '20px'] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-y-computed.html.ini b/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-y-computed.html.ini index 70715491d5f..cd34047f7ad 100644 --- a/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-y-computed.html.ini +++ b/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-y-computed.html.ini @@ -17,3 +17,18 @@ [Property background-position-y value 'y-start' computes to 'y-start'] expected: FAIL + [Property background-position-y value '0.5em, y-start, y-end' computes to '20px'] + expected: FAIL + + [Property background-position-y value '-20%, 10px' computes to '-20%'] + expected: FAIL + + [Property background-position-y value 'center, top, bottom' computes to '50%'] + expected: FAIL + + [Property background-position-y value 'calc(10px - 0.5em), top -20%, bottom 10px' computes to '-10px'] + expected: FAIL + + [Property background-position-y value 'calc(10px - 0.5em), -20%, 10px' computes to '-10px'] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-backgrounds/parsing/background-repeat-computed.html.ini b/tests/wpt/metadata/css/css-backgrounds/parsing/background-repeat-computed.html.ini new file mode 100644 index 00000000000..9868193e4e3 --- /dev/null +++ b/tests/wpt/metadata/css/css-backgrounds/parsing/background-repeat-computed.html.ini @@ -0,0 +1,4 @@ +[background-repeat-computed.html] + [Property background-repeat value 'repeat-x, repeat-y, repeat' computes to 'repeat-x'] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-backgrounds/parsing/background-size-computed.html.ini b/tests/wpt/metadata/css/css-backgrounds/parsing/background-size-computed.html.ini new file mode 100644 index 00000000000..08aa7a3f969 --- /dev/null +++ b/tests/wpt/metadata/css/css-backgrounds/parsing/background-size-computed.html.ini @@ -0,0 +1,10 @@ +[background-size-computed.html] + [Property background-size value '1px' computes to '1px'] + expected: FAIL + + [Property background-size value 'auto 1px, 2% 3%, contain' computes to 'auto 1px'] + expected: FAIL + + [Property background-size value '1px auto' computes to '1px'] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-text/text-transform/text-transform-upperlower-044.html.ini b/tests/wpt/metadata/css/css-text/text-transform/text-transform-upperlower-044.html.ini new file mode 100644 index 00000000000..eadf5023dab --- /dev/null +++ b/tests/wpt/metadata/css/css-text/text-transform/text-transform-upperlower-044.html.ini @@ -0,0 +1,2 @@ +[text-transform-upperlower-044.html] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini index ed72b0bad35..ff2111a0637 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -312,21 +312,21 @@ [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] expected: FAIL - [<iframe>: separate response Content-Type: text/html;charset=gbk text/plain text/html] + [<iframe>: combined response Content-Type: text/html;x=" text/plain] expected: FAIL - [<iframe>: separate response Content-Type: */* text/html] + [<iframe>: combined response Content-Type: */* text/html] expected: FAIL - [<iframe>: separate response Content-Type: text/html;x=" text/plain] + [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html] expected: FAIL - [<iframe>: separate response Content-Type: text/html;" \\" text/plain] + [<iframe>: separate response Content-Type: text/html;" text/plain] expected: FAIL - [<iframe>: separate response Content-Type: text/html */*] + [<iframe>: combined response Content-Type: text/html */*;charset=gbk] expected: FAIL - [<iframe>: combined response Content-Type: text/html;x=" text/plain] + [<iframe>: combined response Content-Type: text/html;" \\" text/plain] expected: FAIL diff --git a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini index ce73518c20a..d4ba399b762 100644 --- a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini +++ b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini @@ -14,6 +14,3 @@ [X-Content-Type-Options%3A%20'NosniFF'] expected: FAIL - [X-Content-Type-Options%3A%20%2Cnosniff] - expected: FAIL - diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini deleted file mode 100644 index 385376c7321..00000000000 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse_the_history_4.html] - [Multiple history traversals, last would be aborted] - expected: FAIL - diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini deleted file mode 100644 index dc2e45516de..00000000000 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse_the_history_5.html] - [Multiple history traversals, last would be aborted] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html.ini new file mode 100644 index 00000000000..2ad46fb3d06 --- /dev/null +++ b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html.ini @@ -0,0 +1,5 @@ +[track-selection-task-order.html] + expected: TIMEOUT + [HTMLTrackElement Text Track Selection Task Order] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini b/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini deleted file mode 100644 index 9e522297c94..00000000000 --- a/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini +++ /dev/null @@ -1,7 +0,0 @@ -[toggleEvent.html] - [Calling open twice on 'details' fires only one toggle event] - expected: FAIL - - [Setting open=true to opened 'details' element should not fire a toggle event at the 'details' element] - expected: FAIL - diff --git a/tests/wpt/mozilla/meta/mozilla/paint_timing.html.ini b/tests/wpt/mozilla/meta/mozilla/paint_timing.html.ini deleted file mode 100644 index 14a9e778f39..00000000000 --- a/tests/wpt/mozilla/meta/mozilla/paint_timing.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[paint_timing.html] - [Performance entries observer] - expected: FAIL - diff --git a/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large-multiple.any.js b/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large-multiple.html index d64df916d80..f263efbcf6d 100644 --- a/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large-multiple.any.js +++ b/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large-multiple.html @@ -1,9 +1,14 @@ -// META: title=IndexedDB: large nested objects are cloned correctly -// META: timeout=long -// META: script=support-promises.js -// META: script=nested-cloning-common.js -// META: global=window,dedicatedworker,sharedworker,serviceworker -'use strict'; +<!doctype html> +<meta charset="utf8"> +<meta name="timeout" content="long"> +<title>IndexedDB: large nested objects are cloned correctly</title> +<link rel="help" href="https://w3c.github.io/IndexedDB/#abort-transaction"> +<link rel="author" href="pwnall@chromium.org" title="Victor Costan"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="support-promises.js"></script> +<script src="nested-cloning-common.js"></script> +<script> cloningTestWithKeyGenerator( 'multiple requests of objects with blobs and large typed arrays', [ @@ -45,3 +50,5 @@ cloningTestWithKeyGenerator( { type: 'blob', size: wrapThreshold, mimeType: 'text/x-blink20', seed: 20 }, ], ]); + +</script> diff --git a/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large.any.js b/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large.html index cadfeb04599..6e4f9be2ee6 100644 --- a/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large.any.js +++ b/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large.html @@ -1,9 +1,14 @@ -// META: title=IndexedDB: large nested objects are cloned correctly -// META: timeout=long -// META: script=support-promises.js -// META: script=nested-cloning-common.js -// META: global=window,dedicatedworker,sharedworker,serviceworker -'use strict'; +<!doctype html> +<meta charset="utf8"> +<meta name="timeout" content="long"> +<title>IndexedDB: large nested objects are cloned correctly</title> +<link rel="help" href="https://w3c.github.io/IndexedDB/#abort-transaction"> +<link rel="author" href="pwnall@chromium.org" title="Victor Costan"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="support-promises.js"></script> +<script src="nested-cloning-common.js"></script> +<script> cloningTest('large typed array', [ { type: 'buffer', size: wrapThreshold, seed: 1 }, @@ -40,3 +45,5 @@ cloningTestWithKeyGenerator('object with blobs and large typed arrays', [ seed: 5 }, }, ]); + +</script> diff --git a/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-small.any.js b/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-small.html index 864752827a9..558415f2342 100644 --- a/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-small.any.js +++ b/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-small.html @@ -1,9 +1,14 @@ -// META: title=IndexedDB: small nested objects are cloned correctly -// META: timeout=long -// META: script=support-promises.js -// META: script=nested-cloning-common.js -// META: global=window,dedicatedworker,sharedworker,serviceworker -'use strict'; +<!doctype html> +<meta charset="utf8"> +<meta name="timeout" content="long"> +<title>IndexedDB: small nested objects are cloned correctly</title> +<link rel="help" href="https://w3c.github.io/IndexedDB/#abort-transaction"> +<link rel="author" href="pwnall@chromium.org" title="Victor Costan"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="support-promises.js"></script> +<script src="nested-cloning-common.js"></script> +<script> cloningTest('small typed array', [ { type: 'buffer', size: 64, seed: 1 }, @@ -37,4 +42,6 @@ cloningTestWithKeyGenerator('array of blobs and small typed arrays', [ { type: 'buffer', size: 64, seed: 4 }, { type: 'blob', size: wrapThreshold, mimeType: 'text/x-blink-05', seed: 5 }, ], -]);
\ No newline at end of file +]); + +</script> diff --git a/tests/wpt/web-platform-tests/bluetooth/characteristic/writeValue/buffer-is-detached.https.html b/tests/wpt/web-platform-tests/bluetooth/characteristic/writeValue/buffer-is-detached.https.html new file mode 100644 index 00000000000..b8a1abfa5af --- /dev/null +++ b/tests/wpt/web-platform-tests/bluetooth/characteristic/writeValue/buffer-is-detached.https.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<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> +<script src="/bluetooth/resources/bluetooth-helpers.js"></script> +<script> +'use strict'; + +function detachBuffer(buffer) { + window.postMessage('', '*', [buffer]); +} + +bluetooth_test(async (t) => { + let {characteristic, fake_characteristic} = + await getMeasurementIntervalCharacteristic(); + + let typed_array = Uint8Array.of(1, 2); + detachBuffer(typed_array.buffer); + await promise_rejects( + t, 'InvalidStateError', characteristic.writeValue(typed_array)); + + let array_buffer = Uint8Array.of(3, 4).buffer; + detachBuffer(array_buffer); + await promise_rejects( + t, 'InvalidStateError', characteristic.writeValue(array_buffer)); +}, 'writeValue() fails when passed a detached buffer'); +</script> diff --git a/tests/wpt/web-platform-tests/bluetooth/descriptor/writeValue/buffer-is-detached.https.html b/tests/wpt/web-platform-tests/bluetooth/descriptor/writeValue/buffer-is-detached.https.html new file mode 100644 index 00000000000..2ab990de61c --- /dev/null +++ b/tests/wpt/web-platform-tests/bluetooth/descriptor/writeValue/buffer-is-detached.https.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<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> +<script src="/bluetooth/resources/bluetooth-helpers.js"></script> +<script> +'use strict'; + +function detachBuffer(buffer) { + window.postMessage('', '*', [buffer]); +} + +bluetooth_test(async (t) => { + let {descriptor, fake_descriptor} = + await getUserDescriptionDescriptor(); + + let typed_array = Uint8Array.of(1, 2); + detachBuffer(typed_array.buffer); + await promise_rejects( + t, 'InvalidStateError', descriptor.writeValue(typed_array)); + + let array_buffer = Uint8Array.of(3, 4).buffer; + detachBuffer(array_buffer); + await promise_rejects( + t, 'InvalidStateError', descriptor.writeValue(array_buffer)); +}, 'writeValue() fails when passed a detached buffer'); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-attachment-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-attachment-computed.html new file mode 100644 index 00000000000..ceb76c2cdae --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-attachment-computed.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Backgrounds and Borders: getComputedValue().backgroundAttachment</title> +<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-attachment"> +<meta name="assert" content="background-attachment computed value is as specified."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/computed-testcommon.js"></script> +</head> +<body> +<div id="target"></div> +<script> +test_computed_value("background-attachment", "fixed"); + +// See background-computed.html for a test with multiple background images. +test_computed_value("background-attachment", "scroll, fixed, local", "scroll"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-clip-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-clip-computed.html new file mode 100644 index 00000000000..9e8b7631bbb --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-clip-computed.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Backgrounds and Borders: getComputedValue().backgroundClip</title> +<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-clip"> +<meta name="assert" content="background-clip computed value is as specified."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/computed-testcommon.js"></script> +</head> +<body> +<div id="target"></div> +<script> +test_computed_value("background-clip", "border-box"); +test_computed_value("background-clip", "padding-box"); +test_computed_value("background-clip", "content-box"); + +// See background-computed.html for a test with multiple background images. +test_computed_value("background-clip", "border-box, padding-box, content-box", "border-box"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-computed.html new file mode 100644 index 00000000000..7fbeac81a9f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-computed.html @@ -0,0 +1,30 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Backgrounds and Borders: getComputedValue().backgroundColor</title> +<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-color"> +<meta name="assert" content="background-color computed value is a computed color."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/computed-testcommon.js"></script> +<style> + #target { + color: lime; + } +</style> +</head> +<body> +<div id="target"></div> +<script> +test_computed_value("background-color", "currentcolor", "rgb(0, 255, 0)"); + +test_computed_value("background-color", "red", "rgb(255, 0, 0)"); +test_computed_value("background-color", "#00FF00", "rgb(0, 255, 0)"); +test_computed_value("background-color", "rgb(0, 0, 255)"); +test_computed_value("background-color", "rgb(100%, 100%, 0%)", "rgb(255, 255, 0)"); +test_computed_value("background-color", "hsl(120, 100%, 50%)", "rgb(0, 255, 0)"); +test_computed_value("background-color", "transparent", "rgba(0, 0, 0, 0)"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-invalid.html index b94875402d8..bf315fdb4e4 100644 --- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-invalid.html +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-invalid.html @@ -14,6 +14,7 @@ <script> test_invalid_value("background-color", "none"); test_invalid_value("background-color", "black white"); +test_invalid_value("background-color", "black, white"); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-computed.html new file mode 100644 index 00000000000..cb7d10998e0 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-computed.html @@ -0,0 +1,70 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Backgrounds and Borders: getComputedValue().background with multiple layers</title> +<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background"> +<meta name="assert" content="The number of layers is determined by the number of comma-separated values in the background-image property. ."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/computed-testcommon.js"></script> +<style> + #target { + background-image: none, none, none; + font-size: 40px; + } +</style> +</head> +<body> +<div id="target"></div> +<script> +test_computed_value("background-attachment", "local", "local, local, local"); +test_computed_value("background-attachment", "scroll, fixed", "scroll, fixed, scroll"); +test_computed_value("background-attachment", "local, fixed, scroll"); +test_computed_value("background-attachment", "local, fixed, scroll, fixed", "local, fixed, scroll"); + +test_computed_value("background-clip", "border-box", "border-box, border-box, border-box"); +test_computed_value("background-clip", "content-box, border-box", "content-box, border-box, content-box"); +test_computed_value("background-clip", "border-box, padding-box, content-box"); +test_computed_value("background-clip", "content-box, border-box, padding-box, content-box", "content-box, border-box, padding-box"); + +// background-color always computes as a single color. +test_computed_value("background-color", "rgb(255, 0, 0)"); + +test_computed_value("background-origin", "border-box", "border-box, border-box, border-box"); +test_computed_value("background-origin", "content-box, border-box", "content-box, border-box, content-box"); +test_computed_value("background-origin", "border-box, padding-box, content-box"); +test_computed_value("background-origin", "content-box, border-box, padding-box, content-box", "content-box, border-box, padding-box"); + +test_computed_value("background-position", "50% 6px", "50% 6px, 50% 6px, 50% 6px"); +test_computed_value("background-position", "12px 13px, 50% 6px", "12px 13px, 50% 6px, 12px 13px"); +test_computed_value("background-position", "12px 13px, 50% 6px, 30px -10px"); +test_computed_value("background-position", "12px 13px, 50% 6px, 30px -10px, -7px 8px", "12px 13px, 50% 6px, 30px -10px"); + +test_computed_value("background-position-x", "0.5em", "20px, 20px, 20px"); +test_computed_value("background-position-x", "-20%, 10px", "-20%, 10px, -20%"); + +test_computed_value("background-position-x", "center, left, right", "50%, 0%, 100%"); +test_computed_value("background-position-x", "calc(10px - 0.5em), -20%, right, 15%", "-10px, -20%, 100%"); + +test_computed_value("background-position-y", "0.5em", "20px, 20px, 20px"); +test_computed_value("background-position-y", "-20%, 10px", "-20%, 10px, -20%"); +test_computed_value("background-position-y", "center, top, bottom", "50%, 0%, 100%"); +test_computed_value("background-position-y", "calc(10px - 0.5em), -20%, bottom, 15%", "-10px, -20%, 100%"); + +test_computed_value("background-repeat", "round", "round, round, round"); +test_computed_value("background-repeat", "repeat-x, repeat", "repeat-x, repeat, repeat-x"); +test_computed_value("background-repeat", "repeat space, round no-repeat, repeat-x"); +test_computed_value("background-repeat", "repeat-y, round no-repeat, repeat-x, repeat", "repeat-y, round no-repeat, repeat-x"); + +test_computed_value("background-size", "contain", "contain, contain, contain"); +test_computed_value("background-size", "auto 1px, 2% 3%", "auto 1px, 2% 3%, auto 1px"); +test_computed_value("background-size", "auto 1px, 2% 3%, contain"); +test_computed_value("background-size", "auto 1px, 2% 3%, contain, 7px 8px", "auto 1px, 2% 3%, contain"); + +// Open issue: Define serialization for background shorthand +// https://github.com/w3c/csswg-drafts/issues/418 +// test_computed_value("background", "rgb(1, 2, 3) none 4px 5px / 6px 7px repeat space scroll border-box padding-box"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-image-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-image-computed.html new file mode 100644 index 00000000000..af14f6cf6e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-image-computed.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Backgrounds and Borders: getComputedValue().backgroundImage</title> +<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-image"> +<meta name="assert" content="background-image computed value is as specified."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/computed-testcommon.js"></script> +</head> +<body> +<div id="target"></div> +<script> +test_computed_value("background-image", "none"); + +test_computed_value("background-image", 'url("http://www.example.com/")'); +test_computed_value("background-image", 'none, url("http://www.example.com/")'); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-origin-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-origin-computed.html new file mode 100644 index 00000000000..4e5280135d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-origin-computed.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Backgrounds and Borders: getComputedValue().backgroundOrigin</title> +<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-origin"> +<meta name="assert" content="background-origin computed value is as specified."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/computed-testcommon.js"></script> +</head> +<body> +<div id="target"></div> +<script> +test_computed_value("background-origin", "border-box"); +test_computed_value("background-origin", "padding-box"); +test_computed_value("background-origin", "content-box"); + +// See background-computed.html for a test with multiple background images. +test_computed_value("background-origin", "border-box, padding-box, content-box", "border-box"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-computed.html new file mode 100644 index 00000000000..c5e30745f47 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-computed.html @@ -0,0 +1,53 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Backgrounds and Borders: getComputedValue().backgroundPosition</title> +<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-position"> +<meta name="assert" content="background-position computed value is a list, each item a pair of offsets (horizontal and vertical) from the top left origin each given as a computed <length-percentage> value."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/computed-testcommon.js"></script> +<style> + #target { + font-size: 40px; + } +</style> +</head> +<body> +<div id="target"></div> +<script> +test_computed_value("background-position", "1px", "1px 50%"); +test_computed_value("background-position", "1px center", "1px 50%"); +test_computed_value("background-position", "-2% -3%"); +test_computed_value("background-position", "5% top", "5% 0%"); +test_computed_value("background-position", "center", "50% 50%"); +test_computed_value("background-position", "center center", "50% 50%"); +test_computed_value("background-position", "center 6px", "50% 6px"); +test_computed_value("background-position", "center left", "0% 50%"); +test_computed_value("background-position", "center right 7%", "93% 50%"); +test_computed_value("background-position", "center bottom", "50% 100%"); +test_computed_value("background-position", "center top 8px", "50% 8px"); +test_computed_value("background-position", "left", "0% 50%"); +test_computed_value("background-position", "right 9%", "100% 9%"); +test_computed_value("background-position", "left 10px center", "10px 50%"); +test_computed_value("background-position", "right 11% bottom", "89% 100%"); +test_computed_value("background-position", "left 12px top 13px", "12px 13px"); +test_computed_value("background-position", "right center", "100% 50%"); +test_computed_value("background-position", "left bottom", "0% 100%"); +test_computed_value("background-position", "right top 14%", "100% 14%"); +test_computed_value("background-position", "bottom", "50% 100%"); +test_computed_value("background-position", "top 15px center", "50% 15px"); +test_computed_value("background-position", "bottom 16% left", "0% 84%"); +test_computed_value("background-position", "top 17px right -18px", "calc(100% + 18px) 17px"); +test_computed_value("background-position", "bottom center", "50% 100%"); +test_computed_value("background-position", "top left", "0% 0%"); +test_computed_value("background-position", "bottom right 19%", "81% 100%"); +test_computed_value("background-position", "calc(10px + 0.5em) calc(10px - 0.5em)", "30px -10px"); +test_computed_value("background-position", "calc(10px - 0.5em) calc(10px + 0.5em)", "-10px 30px"); + +// See background-computed.html for a test with multiple background images. +test_computed_value("background-position", "12px 13px, 50% 6px, 30px -10px", "12px 13px"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-invalid.html index bb974afd9f4..966db4c31a9 100644 --- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-invalid.html +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-invalid.html @@ -15,6 +15,14 @@ test_invalid_value("background-position", "left right"); test_invalid_value("background-position", "top bottom"); test_invalid_value("background-position", "1% center 2px"); +test_invalid_value("background-position", "right 7% 50%"); +test_invalid_value("background-position", "50% top 8px"); +test_invalid_value("background-position", "left 10px 50%"); +test_invalid_value("background-position", "right 11% 100%"); +test_invalid_value("background-position", "100% top 14%"); +test_invalid_value("background-position", "50% top 15px"); +test_invalid_value("background-position", "0% bottom 16%"); +test_invalid_value("background-position", "right 19% 100%"); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-x-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-x-computed.html index 6e997c95ae0..f64d2658637 100644 --- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-x-computed.html +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-x-computed.html @@ -26,11 +26,14 @@ test_computed_value("background-position-x", "10px"); test_computed_value("background-position-x", "0.5em", "20px"); test_computed_value("background-position-x", "calc(10px - 0.5em)", "-10px"); test_computed_value("background-position-x", "left -20%", "-20%"); -test_computed_value("background-position-x", "right 10px", "calc(100% + 10px)"); -test_computed_value("background-position-x", "-20%, 10px"); -test_computed_value("background-position-x", "center, left, right", "50%, 0%, 100px"); -test_computed_value("background-position-x", "0.5em, x-start, x-end", "20px, x-start, x-end"); -test_computed_value("background-position-x", "calc(10px - 0.5em), left -20%, right 10px", "-10px, -20%, calc(100% + 10px)"); +test_computed_value("background-position-x", "right -10px", "calc(100% + 10px)"); +test_computed_value("background-position-x", "-20%, 10px", "-20%"); +test_computed_value("background-position-x", "center, left, right", "50%"); +test_computed_value("background-position-x", "0.5em, x-start, x-end", "20px"); + +// See background-computed.html for a test with multiple background images. +test_computed_value("background-position-x", "calc(10px - 0.5em), -20%, 10px", "-10px"); +test_computed_value("background-position-x", "calc(10px - 0.5em), left -20%, right 10px", "-10px"); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-y-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-y-computed.html index ceff11f624d..103a26037b7 100644 --- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-y-computed.html +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-y-computed.html @@ -26,11 +26,14 @@ test_computed_value("background-position-y", "10px"); test_computed_value("background-position-y", "0.5em", "20px"); test_computed_value("background-position-y", "calc(10px - 0.5em)", "-10px"); test_computed_value("background-position-y", "top -20%", "-20%"); -test_computed_value("background-position-y", "bottom 10px", "calc(100% + 10px)"); -test_computed_value("background-position-y", "-20%, 10px"); -test_computed_value("background-position-y", "center, top, bottom", "50%, 0%, 100px"); -test_computed_value("background-position-y", "0.5em, y-start, y-end", "20px, y-start, y-end"); -test_computed_value("background-position-y", "calc(10px - 0.5em), top -20%, bottom 10px", "-10px, -20%, calc(100% + 10px)"); +test_computed_value("background-position-y", "bottom -10px", "calc(100% + 10px)"); +test_computed_value("background-position-y", "-20%, 10px", "-20%"); +test_computed_value("background-position-y", "center, top, bottom", "50%"); +test_computed_value("background-position-y", "0.5em, y-start, y-end", "20px"); + +// See background-computed.html for a test with multiple background images. +test_computed_value("background-position-y", "calc(10px - 0.5em), -20%, 10px", "-10px"); +test_computed_value("background-position-y", "calc(10px - 0.5em), top -20%, bottom 10px", "-10px"); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-repeat-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-repeat-computed.html new file mode 100644 index 00000000000..f58ab577791 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-repeat-computed.html @@ -0,0 +1,30 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Backgrounds and Borders: getComputedValue().backgroundRepeat</title> +<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-repeat"> +<meta name="assert" content="background-attachment repeat value is as specified."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/computed-testcommon.js"></script> +</head> +<body> +<div id="target"></div> +<script> +test_computed_value("background-repeat", "repeat-x"); +test_computed_value("background-repeat", "repeat-y"); +test_computed_value("background-repeat", "repeat"); +test_computed_value("background-repeat", "space"); +test_computed_value("background-repeat", "round"); +test_computed_value("background-repeat", "no-repeat"); + +test_computed_value("background-repeat", "repeat space"); +test_computed_value("background-repeat", "round no-repeat"); +test_computed_value("background-repeat", "repeat repeat", "repeat"); + +// See background-computed.html for a test with multiple background images. +test_computed_value("background-repeat", "repeat-x, repeat-y, repeat", "repeat-x"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-size-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-size-computed.html new file mode 100644 index 00000000000..01091f541ff --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-size-computed.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Backgrounds and Borders: getComputedValue().backgroundSize</title> +<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-size"> +<meta name="assert" content="background-size computed value is a list, each item a pair of sizes (one per axis) each represented as either a keyword or a computed length-percentage value."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/computed-testcommon.js"></script> +<style> + #target { + font-size: 40px; + } +</style> +</head> +<body> +<div id="target"></div> +<script> +test_computed_value("background-size", "1px", "1px"); +test_computed_value("background-size", "1px auto", "1px"); +test_computed_value("background-size", "2% 3%"); +test_computed_value("background-size", "auto"); +test_computed_value("background-size", "auto auto", "auto"); +test_computed_value("background-size", "auto 4%"); +test_computed_value("background-size", "contain"); +test_computed_value("background-size", "cover"); +test_computed_value("background-size", "calc(10px + 0.5em) calc(10px - 0.5em)", "30px 0px"); +test_computed_value("background-size", "calc(10px - 0.5em) calc(10px + 0.5em)", "0px 30px"); + +// See background-computed.html for a test with multiple background images. +test_computed_value("background-size", "auto 1px, 2% 3%, contain", "auto 1px"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-computed.html b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-computed.html new file mode 100644 index 00000000000..dc9e44edb1a --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-computed.html @@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Logical Properties and Values: getComputedValue().borderBlockColor</title> +<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-color"> +<meta name="assert" content="border-block-color is computed color(s)."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/computed-testcommon.js"></script> +</head> +<body> +<div id="box"></div> +<div id="target"></div> +<style> + #target { + color: lime; + } +</style> +<script> +test_computed_value("border-block-start-color", "currentcolor", 'rgb(0, 255, 0)'); +test_computed_value("border-block-start-color", "rgb(2, 3, 4)"); +test_computed_value("border-block-end-color", "rgb(34, 51, 68)"); +test_computed_value("border-block-end-color", "transparent", "rgba(0, 0, 0, 0)"); +test_computed_value("border-block-color", "rgb(34, 51, 68)"); +test_computed_value("border-block-color", "transparent rgb(2, 3, 4)", "rgba(0, 0, 0, 0) rgb(2, 3, 4)"); +test_computed_value("border-block-color", "rgb(2, 3, 4) rgb(2, 3, 4)", "rgb(2, 3, 4)"); +test_computed_value("border-block-color", "currentcolor lime", 'rgb(0, 255, 0)'); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-invalid.html b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-invalid.html new file mode 100644 index 00000000000..1c25f125fe3 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-invalid.html @@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Logical Properties and Values: parsing border-block-color with invalid values</title> +<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-color"> +<meta name="assert" content="border-block-color supports only the grammar '<color>{1,2}'."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/parsing-testcommon.js"></script> +</head> +<body> +<script> +test_invalid_value("border-block-start-color", "#12"); +test_invalid_value("border-block-start-color", "auto"); +test_invalid_value("border-block-start-color", "red green"); +test_invalid_value("border-block-start-color", "rgb"); +test_invalid_value("border-block-start-color", "rgb(1,2,3,4,5)"); +test_invalid_value("border-block-start-color", "rgb(10%, 20, 30%)"); +test_invalid_value("border-block-end-color", "#123456789"); +test_invalid_value("border-block-end-color", "123"); +test_invalid_value("border-block-end-color", "hsla(1,2,3,4,5)"); +test_invalid_value("border-block-end-color", "red, green"); +test_invalid_value("border-block-end-color", "rgb(1)"); +test_invalid_value("border-block-end-color", "rgba(-2, 300, 400%, -0.5)"); +test_invalid_value("border-block-color", "auto"); +test_invalid_value("border-block-color", "lime, transparent"); +test_invalid_value("border-block-color", "red green blue"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-valid.html b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-valid.html new file mode 100644 index 00000000000..aefe0f268b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-valid.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Logical Properties and Values: parsing border-block-color with valid values</title> +<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-color"> +<meta name="assert" content="border-block-color supports the full grammar '<color>{1,2}'."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/parsing-testcommon.js"></script> +</head> +<body> +<script> +test_valid_value("border-block-start-color", "currentcolor"); +test_valid_value("border-block-start-color", "rgb(2, 3, 4)"); +test_valid_value("border-block-end-color", "#234", "rgb(34, 51, 68)"); +test_valid_value("border-block-end-color", "transparent"); +test_valid_value("border-block-color", "#234", "rgb(34, 51, 68)"); +test_valid_value("border-block-color", "transparent rgb(2, 3, 4)"); +test_valid_value("border-block-color", "rgb(2, 3, 4) rgb(2, 3, 4)", "rgb(2, 3, 4)"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-computed.html b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-computed.html new file mode 100644 index 00000000000..beb3869863c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-computed.html @@ -0,0 +1,30 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Logical Properties and Values: getComputedValue().borderBlockStyle</title> +<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-style"> +<meta name="assert" content="border-block-style is specified keyword(s)."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/computed-testcommon.js"></script> +</head> +<body> +<div id="target"></div> +<script> +test_computed_value("border-block-start-style", "dotted"); +test_computed_value("border-block-start-style", "groove"); +test_computed_value("border-block-start-style", "inset"); +test_computed_value("border-block-start-style", "none"); +test_computed_value("border-block-start-style", "solid"); +test_computed_value("border-block-end-style", "dashed"); +test_computed_value("border-block-end-style", "double"); +test_computed_value("border-block-end-style", "hidden"); +test_computed_value("border-block-end-style", "outset"); +test_computed_value("border-block-end-style", "ridge"); +test_computed_value("border-block-style", "dotted"); +test_computed_value("border-block-style", "double groove"); +test_computed_value("border-block-style", "hidden hidden", "hidden"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-invalid.html b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-invalid.html new file mode 100644 index 00000000000..680e510aae6 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-invalid.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Logical Properties and Values: parsing border-block-style with invalid values</title> +<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-style"> +<meta name="assert" content="border-block-style supports only the grammar '<line-style>{1,2}'."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/parsing-testcommon.js"></script> +</head> +<body> +<script> +test_invalid_value("border-block-start-style", "auto"); +test_invalid_value("border-block-start-style", "hidden, outset"); +test_invalid_value("border-block-end-style", "solid double"); +test_invalid_value("border-block-style", "auto"); +test_invalid_value("border-block-style", "groove, ridge"); +test_invalid_value("border-block-style", "hidden inset dashed"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-valid.html b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-valid.html new file mode 100644 index 00000000000..860a1052b83 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-valid.html @@ -0,0 +1,30 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Logical Properties and Values: parsing border-block-style with valid values</title> +<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block"> +<meta name="assert" content="border-block-style supports the full grammar '<line-style>{1,2}'."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/parsing-testcommon.js"></script> +</head> +<body> +<script> +// none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset +test_valid_value("border-block-start-style", "dotted"); +test_valid_value("border-block-start-style", "groove"); +test_valid_value("border-block-start-style", "inset"); +test_valid_value("border-block-start-style", "none"); +test_valid_value("border-block-start-style", "solid"); +test_valid_value("border-block-end-style", "dashed"); +test_valid_value("border-block-end-style", "double"); +test_valid_value("border-block-end-style", "hidden"); +test_valid_value("border-block-end-style", "outset"); +test_valid_value("border-block-end-style", "ridge"); +test_valid_value("border-block-style", "dotted"); +test_valid_value("border-block-style", "double groove"); +test_valid_value("border-block-style", "hidden hidden", "hidden"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-computed.html b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-computed.html new file mode 100644 index 00000000000..3b4d934f8b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-computed.html @@ -0,0 +1,76 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Logical Properties and Values: getComputedValue().borderBlockWidth</title> +<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-width"> +<meta name="assert" content="border-block-width is absolute length; zero if the border block style is none or hidden."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/computed-testcommon.js"></script> +</head> +<body> +<div id="box"></div> +<div id="target"></div> +<style> + #box { + border-style: dotted; /* Avoid border-*-width computed style 0 */ + border-top-width: thin; + border-right-width: medium; + border-bottom-width: thick; + } + #target { + font-size: 40px; + border-block-style: dotted; /* Avoid border-block-*-width computed style 0 */ + } +</style> +<script> +'use strict'; +const box = document.getElementById('box'); +const thinWidth = getComputedStyle(box).borderTopWidth; +const mediumWidth = getComputedStyle(box).borderRightWidth; +const thickWidth = getComputedStyle(box).borderBottomWidth; + +test_computed_value("border-block-start-width", "calc(10px + 0.5em)", "30px"); +test_computed_value("border-block-start-width", "calc(10px - 0.5em)", "0px"); +test_computed_value("border-block-start-width", "thin", thinWidth); +test_computed_value("border-block-start-width", "medium", mediumWidth); + +test_computed_value("border-block-end-width", "calc(10px + 0.5em)", "30px"); +test_computed_value("border-block-end-width", "calc(10px - 0.5em)", "0px"); +test_computed_value("border-block-end-width", "thick", thickWidth); + +test_computed_value("border-block-width", "10px"); +test_computed_value("border-block-width", "10px 20px"); +test_computed_value("border-block-width", "10px 10px", "10px"); +test(() => { + box.style.borderBlockStartWidth = '10px'; + box.style.borderBlockEndWidth = '10px'; + + box.style.borderBlockStartStyle = 'groove'; + box.style.borderBlockEndStyle = 'solid'; + assert_equals(getComputedStyle(box).borderBlockStartWidth, '10px'); + assert_equals(getComputedStyle(box).borderBlockEndWidth, '10px'); + assert_equals(getComputedStyle(box).borderBlockWidth, '10px'); + + box.style.borderBlockStartStyle = 'hidden'; + box.style.borderBlockEndStyle = 'dashed'; + assert_equals(getComputedStyle(box).borderBlockStartWidth, '0px'); + assert_equals(getComputedStyle(box).borderBlockEndWidth, '10px'); + assert_equals(getComputedStyle(box).borderBlockWidth, '0px 10px'); + + box.style.borderBlockStartStyle = 'inset'; + box.style.borderBlockEndStyle = 'none'; + assert_equals(getComputedStyle(box).borderBlockStartWidth, '10px'); + assert_equals(getComputedStyle(box).borderBlockEndWidth, '0px'); + assert_equals(getComputedStyle(box).borderBlockWidth, '10px 0px'); + + box.style.borderBlockStartStyle = 'none'; + box.style.borderBlockEndStyle = 'hidden'; + assert_equals(getComputedStyle(box).borderBlockStartWidth, '0px'); + assert_equals(getComputedStyle(box).borderBlockEndWidth, '0px'); + assert_equals(getComputedStyle(box).borderBlockWidth, '0px'); +}, 'width is zero if the border block style is none or hidden'); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-invalid.html b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-invalid.html new file mode 100644 index 00000000000..65990fe930d --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-invalid.html @@ -0,0 +1,25 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Logical Properties and Values: parsing border-block-width with invalid values</title> +<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-width"> +<meta name="assert" content="border-block-width supports only the grammar '<line-width>{1,2}'."> +<meta name="assert" content="Negative lengths are not allowed."> + <script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/parsing-testcommon.js"></script> +</head> +<body> +<script> +test_invalid_value("border-block-start-width", "-20px"); +test_invalid_value("border-block-start-width", "auto"); +test_invalid_value("border-block-start-width", "medium 40px"); +test_invalid_value("border-block-end-width", "10"); +test_invalid_value("border-block-end-width", "30%"); + +test_invalid_value("border-block-width", "thick, thin"); +test_invalid_value("border-block-width", "10px 20px 30px"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-valid.html b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-valid.html new file mode 100644 index 00000000000..98987df9a70 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-valid.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Logical Properties and Values: parsing border-block-width with valid values</title> +<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-width"> +<meta name="assert" content="border-block-width supports the full grammar '<line-width>{1,2}'."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/parsing-testcommon.js"></script> +</head> +<body> +<script> +// <length> | thin | medium | thick +test_valid_value("border-block-start-width", "10px"); +test_valid_value("border-block-start-width", "calc(10px + 0.5em)"); +test_valid_value("border-block-start-width", "thick"); +test_valid_value("border-block-start-width", "thin"); +test_valid_value("border-block-end-width", "0", "0px"); +test_valid_value("border-block-end-width", "calc(10px - 0.5em)"); +test_valid_value("border-block-end-width", "medium"); +test_valid_value("border-block-width", "10px"); +test_valid_value("border-block-width", "medium calc(10px + 0.5em)"); +test_valid_value("border-block-width", "10px 10px", "10px"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-upperlower-039-ref.html b/tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-upperlower-039-ref.html index 0e243edde50..f4fb6804434 100644 --- a/tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-upperlower-039-ref.html +++ b/tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-upperlower-039-ref.html @@ -17,7 +17,10 @@ </head> <body> <p class="instructions">Test passes if both characters in each pair match. If you are missing a font glyph for a character, ignore that pair, but report which characters were ignored.</p> -<div class="test" lang="lt"><span>i̇̀ i̇̀</span> <span>i̇́ i̇́</span> <span>i̇̃ i̇̃</span></div> +<div class="test" lang="lt"> + <span>i̇̀ i̇̀</span> <span>i̇́ i̇́</span> <span>i̇̃ i̇̃</span> + <span>i̇̀ i̇̀</span> <span>j̇́ j̇́</span> <span>į̇̃ į̇̃</span> +</div> <!--Notes: The language of the test box is set to Lithuanian (lt) --> diff --git a/tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-upperlower-044-ref.html b/tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-upperlower-044-ref.html new file mode 100644 index 00000000000..3eed1edb80e --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-upperlower-044-ref.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="utf-8"/> +<title>CSS3 Text, text transform: Lithuanian, uppercase</title> +<link rel='author' title='Jonathan Kew' href='mailto:jkew@mozilla.com'> +<style type='text/css'> +@font-face { + font-family: 'webfont'; + src: url('/fonts/DoulosSIL-R.woff') format('woff'); + font-weight: normal; + font-style: normal; + } +.test, .ref { font-size: 200%; line-height: 2.5em; font-family: webfont, serif; } +.test span, .ref span { margin-right: 1em; white-space: nowrap; } +</style> +</head> +<body> +<p class="instructions">Test passes if both characters in each pair match. If you are missing a font glyph for a character, ignore that pair, but report which characters were ignored.</p> +<div class="test" lang="lt"> + <span>Ì Ì</span> + <span>Í Í</span> + <span>Ĩ Ĩ</span> + <span>I I</span> + <span>J J</span> + <span>Į Į</span> + <span>Ẋ Ẋ</span> +</div> +<!--Notes: +The language of the test box is set to Lithuanian (lt) +--> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-upperlower-039.html b/tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-upperlower-039.html index 40f36e0be3c..470a4f6fb54 100644 --- a/tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-upperlower-039.html +++ b/tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-upperlower-039.html @@ -22,7 +22,10 @@ </head> <body> <p class="instructions">Test passes if both characters in each pair match. If you are missing a font glyph for a character, ignore that pair, but report which characters were ignored.</p> -<div class="test" lang="lt"><span>Ì i̇̀</span> <span>Í i̇́</span> <span>Ĩ i̇̃</span></div> +<div class="test" lang="lt"> + <span>Ì i̇̀</span> <span>Í i̇́</span> <span>Ĩ i̇̃</span> + <span>Ì i̇̀</span> <span>J́ j̇́</span> <span>Į̃ į̇̃</span> +</div> <!--Notes: The language of the test box is set to Lithuanian (lt) --> diff --git a/tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-upperlower-044.html b/tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-upperlower-044.html new file mode 100644 index 00000000000..6d81c4540a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-upperlower-044.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="utf-8"/> +<title>CSS3 Text, text transform: Lithuanian, uppercase</title> +<meta name="assert" content="text-transform: uppercase will uppercase Lithuanian as described in Unicode's SpecialCasing.txt ."> +<link rel='author' title='Jonathan Kew' href='mailto:jkew@mozilla.com'> +<link rel='help' href='https://drafts.csswg.org/css-text-3/#text-transform'> +<link rel="match" href="reference/text-transform-upperlower-044-ref.html"> +<style type='text/css'> +@font-face { + font-family: 'webfont'; + src: url('/fonts/DoulosSIL-R.woff') format('woff'); + font-weight: normal; + font-style: normal; + } +.test, .ref { font-size: 200%; line-height: 2.5em; font-family: webfont, serif; } +.test span, .ref span { margin-right: 1em; white-space: nowrap; } +/* the CSS above is not part of the test */ +.test { text-transform: uppercase; } +</style> +</head> +<body> +<p class="instructions">Test passes if both characters in each pair match. If you are missing a font glyph for a character, ignore that pair, but report which characters were ignored.</p> +<div class="test" lang="lt"> + <span>i̇̀ Ì</span> + <span>i̇́ Í</span> + <span>i̇̃ Ĩ</span> + <span>i̇ I</span> + <span>j̇ J</span> + <span>į̇ Į</span> + <span>ẋ Ẋ</span> <!-- check that dot isn't deleted in other contexts --> +</div> +<!--Notes: +The language of the test box is set to Lithuanian (lt) +--> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-active-cues.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-active-cues.html index 67ab3bdb138..501cf3f92a2 100644 --- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-active-cues.html +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-active-cues.html @@ -17,6 +17,9 @@ async_test(function(t) { var video = document.createElement('video'); video.src = getVideoURI('/media/movie_5'); + // uanset media element's `show-poster` flag in order to run `time marches on` + // when we add new cues into media element's cues list. + video.play(); var trackElement = document.createElement('track'); trackElement.onload = t.step_func(eventCallback); @@ -36,4 +39,4 @@ async_test(function(t) { trackElement.default = true; video.appendChild(trackElement); }); -</script>
\ No newline at end of file +</script> diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change-error.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change-error.html index ffc8ec0682d..dd97d0522d7 100644 --- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change-error.html +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change-error.html @@ -21,7 +21,7 @@ break; case 1: case 3: - case 5: + case 4: assert_unreached("'error' event did not fire, stage = " + stage); break; case 2: @@ -30,21 +30,10 @@ assert_equals(cues[cues.length-1].text, 'I said Bear is coming now!!!! Tab separators.', "Last cue content check"); ++stage; testTrack.src = ""; // this should fail - // CuesList will be cleared in the next tick. Spec claims that this should happen immediately, - // but all implementations are doing this asynchronously. - assert_equals(cues.length, 4, "Number of cues immediately after 'src' mutation with the empty URL"); + assert_equals(cues.length, 0, "cues list is reset immediately after 'src' mutation with the new URL"); // This should raise onError event. If no, we'll know about this after some time. timer = t.step_timeout(t.unreached_func("'error' event is not fired when an empty URL is set"), 100); break; - case 4: - assert_equals(testTrack.readyState, HTMLTrackElement.LOADED, "readyState after loading of the second track"); - assert_equals(cues.length, 4, "Number of cues after loading of the second track"); - assert_equals(cues[cues.length-1].text, 'I said Bear is coming now!!!! Tab separators.', "Last cue content check"); - ++stage; - testTrack.removeAttribute('src'); - // This should raise onError event, so we'll wait for it for some time - timer = t.step_timeout(t.unreached_func("'error' event is not fired when an empty URL is set"), 100); - break; default: assert_unreached("unexpected stage number = " + stage); break; @@ -55,7 +44,6 @@ switch (stage) { case 0: case 2: - case 4: assert_unreached("'error' event fired, stage = " + stage); break; case 1: @@ -72,8 +60,14 @@ assert_equals(cues.length, 0, "Number of cues with an empty URL set"); ++stage; testTrack.src = "resources/settings.vtt"; + // error should happen when we remove `src` during loading, so we have to wait a task because loading starts asynchronously. + t.step_timeout(() => { + testTrack.removeAttribute('src'); + // This should raise onError event, so we'll wait for it for some time + timer = t.step_timeout(t.unreached_func("'error' event is not fired when an empty URL is set"), 100); + }, 0); break; - case 5: + case 4: clearTimeout(timer); assert_equals(testTrack.readyState, HTMLTrackElement.ERROR, "readyState after removing 'src' attr"); assert_equals(cues.length, 0, "Number of cues after removing 'src' attr"); @@ -89,4 +83,4 @@ testTrack.onerror = t.step_func(step_onError); }); </script> -</video>
\ No newline at end of file +</video> diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change.html index 34a53d15319..f3c78668b4a 100644 --- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change.html +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change.html @@ -18,9 +18,7 @@ assert_equals(cues[cues.length-1].text, 'I said Bear is coming now!!!! Tab separators.', "Last cue content check"); ++stage; testTrack.src = "resources/entities.vtt"; - // CuesList will be cleared in a microtask. Spec claims that this should happen immediately, - // but all known implementations are doing this asynchronously. - assert_equals(cues.length, 4, "Number of cues immediately after 'src' mutation with the new URL"); + assert_equals(cues.length, 0, "cues list is reset immediately after 'src' mutation with the new URL"); break; case 1: assert_equals(testTrack.readyState, HTMLTrackElement.LOADED), "readyState after loading of the second track"; @@ -54,4 +52,4 @@ testTrack.onerror = t.unreached_func("'error' event should not fire"); }); </script> -</video>
\ No newline at end of file +</video> diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode-not-changed-by-new-track.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode-not-changed-by-new-track.html index 2902ba90bc9..3ec47a39e2f 100644 --- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode-not-changed-by-new-track.html +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode-not-changed-by-new-track.html @@ -33,11 +33,12 @@ async_test(function(t) { assert_equals(track1.track.cues.length, 12); assert_equals(track1.track.cues[11].startTime, 22); - // Add a caption track, configured to load automatically. + // Add a caption track, and explicitly enable it. track2 = document.createElement('track'); track2.setAttribute('kind', 'captions'); track2.setAttribute('default', 'default'); track2.setAttribute('src', 'resources/webvtt-file.vtt'); + track2.track.mode = 'showing'; track2.onload = t.step_func(captionsTrackLoaded); video.appendChild(track2); } @@ -56,7 +57,7 @@ async_test(function(t) { track3.mode = 'showing'; } - function trackAdded() { + function trackAdded(event) { // Check that metadata track state has not changed. assert_equals(track1.readyState, HTMLTrackElement.LOADED); assert_equals(track1.track.mode, 'hidden'); diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html new file mode 100644 index 00000000000..522d067adfc --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<title>HTMLTrackElement Text Track Selection Task Order</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +/** + * This test is used to ensure that we queue 'honor user preferences for automatic + * text track selection' as a macro task, not a micro task. In this test, we + * trigger a media event before queuing a text track selection task, and check + * the text track's mode to know whether the text track selection runs after the + * task for media event. + */ +async_test(function(t) { + let video = document.createElement("video"); + video.play(); + video.onplay = t.step_func(startedPlay); + + // When we create a text track element, it queue a task to run automatic + // text track selection later. + let track = document.createElement("track"); + track.default = true; + video.appendChild(track); + assert_equals(track.track.mode, "disabled", "Text track's mode is disabled by default."); + + function startedPlay() { + assert_equals(track.track.mode, "disabled", "Text track selection hasn't started yet."); + track.onerror = t.step_func_done(trackError); + } + + function trackError() { + assert_equals(track.track.mode, "showing", "Text track selection modified track's mode."); + t.done(); + } +}); + +</script> diff --git a/tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener.html b/tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener.html index 97320090cf0..73eebaff70f 100644 --- a/tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener.html +++ b/tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener.html @@ -17,21 +17,12 @@ <a href="support/target_blank_implicit_noopener.html?a7" id="a7" rel="opener noreferrer" target="_blank">Click me</a> <a href="support/target_blank_implicit_noopener.html?a8" id="a8" rel="noopener opener noreferrer" target="_blank">Click me</a> - <img src="/images/threecolors.png" /> - <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area1" id="area1" rel="noopener" target="_blank" /> - </img> - <img src="/images/threecolors.png" /> - <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area2" id="area2" rel="opener" target="_blank" /> - </img> - <img src="/images/threecolors.png" /> - <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area3" id="area3" target="_blank" /> - </img> - <img src="/images/threecolors.png" /> - <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area4" id="area4" rel="opener noopener" target="_blank" /> - </img> - <img src="/images/threecolors.png" /> - <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area5" id="area5" rel="noopener opener" target="_blank" /> - </img> + <!-- Although this is not valid, per the processing model of area it ought to work --> + <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area1" id="area1" rel="noopener" target="_blank"> + <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area2" id="area2" rel="opener" target="_blank"> + <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area3" id="area3" target="_blank"> + <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area4" id="area4" rel="opener noopener" target="_blank"> + <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area5" id="area5" rel="noopener opener" target="_blank"> <script> diff --git a/tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener_base.html b/tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener_base.html index 8d1b54baccd..3da6a49ef86 100644 --- a/tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener_base.html +++ b/tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener_base.html @@ -18,21 +18,12 @@ <a href="support/target_blank_implicit_noopener.html?a7" id="a7" rel="opener noreferrer">Click me</a> <a href="support/target_blank_implicit_noopener.html?a8" id="a8" rel="noopener opener noreferrer">Click me</a> - <img src="/images/threecolors.png" /> - <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area1" id="area1" rel="noopener"> - </img> - <img src="/images/threecolors.png" /> - <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area2" id="area2" rel="opener"> - </img> - <img src="/images/threecolors.png" /> - <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area3" id="area3"> - </img> - <img src="/images/threecolors.png" /> - <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area4" id="area4" rel="opener noopener"> - </img> - <img src="/images/threecolors.png" /> - <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area5" id="area5" rel="noopener opener"> - </img> + <!-- Although this is not valid, per the processing model of area it ought to work --> + <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area1" id="area1" rel="noopener"> + <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area2" id="area2" rel="opener"> + <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area3" id="area3"> + <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area4" id="area4" rel="opener noopener"> + <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area5" id="area5" rel="noopener opener"> <script> diff --git a/tests/wpt/web-platform-tests/interfaces/mediacapture-streams.idl b/tests/wpt/web-platform-tests/interfaces/mediacapture-streams.idl index 427aa92dd1f..c07b7e33012 100644 --- a/tests/wpt/web-platform-tests/interfaces/mediacapture-streams.idl +++ b/tests/wpt/web-platform-tests/interfaces/mediacapture-streams.idl @@ -52,7 +52,6 @@ dictionary MediaTrackSupportedConstraints { boolean frameRate = true; boolean facingMode = true; boolean resizeMode = true; - boolean volume = true; boolean sampleRate = true; boolean sampleSize = true; boolean echoCancellation = true; @@ -71,7 +70,6 @@ dictionary MediaTrackCapabilities { DoubleRange frameRate; sequence<DOMString> facingMode; sequence<DOMString> resizeMode; - DoubleRange volume; ULongRange sampleRate; ULongRange sampleSize; sequence<boolean> echoCancellation; @@ -94,7 +92,6 @@ dictionary MediaTrackConstraintSet { ConstrainDouble frameRate; ConstrainDOMString facingMode; ConstrainDOMString resizeMode; - ConstrainDouble volume; ConstrainULong sampleRate; ConstrainULong sampleSize; ConstrainBoolean echoCancellation; @@ -113,7 +110,6 @@ dictionary MediaTrackSettings { double frameRate; DOMString facingMode; DOMString resizeMode; - double volume; long sampleRate; long sampleSize; boolean echoCancellation; diff --git a/tests/wpt/web-platform-tests/interfaces/wake-lock.idl b/tests/wpt/web-platform-tests/interfaces/wake-lock.idl index 863cef13f3c..21a3406f589 100644 --- a/tests/wpt/web-platform-tests/interfaces/wake-lock.idl +++ b/tests/wpt/web-platform-tests/interfaces/wake-lock.idl @@ -16,5 +16,5 @@ interface WakeLock { }; dictionary WakeLockRequestOptions { - AbortSignal? signal = null; + AbortSignal signal; }; diff --git a/tests/wpt/web-platform-tests/interfaces/webaudio.idl b/tests/wpt/web-platform-tests/interfaces/webaudio.idl index 4679558023a..aa137c12f01 100644 --- a/tests/wpt/web-platform-tests/interfaces/webaudio.idl +++ b/tests/wpt/web-platform-tests/interfaces/webaudio.idl @@ -568,7 +568,8 @@ interface AudioParamMap { [Exposed=Window, SecureContext, - Constructor (BaseAudioContext context, DOMString name, optional AudioWorkletNodeOptions options)] + Constructor (BaseAudioContext context, DOMString name, + optional AudioWorkletNodeOptions options)] interface AudioWorkletNode : AudioNode { readonly attribute AudioParamMap parameters; readonly attribute MessagePort port; diff --git a/tests/wpt/web-platform-tests/interfaces/webrtc.idl b/tests/wpt/web-platform-tests/interfaces/webrtc.idl index 6ae34167ded..4b5d1c1c581 100644 --- a/tests/wpt/web-platform-tests/interfaces/webrtc.idl +++ b/tests/wpt/web-platform-tests/interfaces/webrtc.idl @@ -382,7 +382,7 @@ dictionary RTCRtpContributingSource { required DOMHighResTimeStamp timestamp; required unsigned long source; double audioLevel; - unsigned long rtpTimestamp; + required unsigned long rtpTimestamp; }; dictionary RTCRtpSynchronizationSource : RTCRtpContributingSource { diff --git a/tests/wpt/web-platform-tests/portals/portal-non-http-navigation.html b/tests/wpt/web-platform-tests/portals/portal-non-http-navigation.html new file mode 100644 index 00000000000..3b79df3c230 --- /dev/null +++ b/tests/wpt/web-platform-tests/portals/portal-non-http-navigation.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<title>Tests that portal don't navigate to non-http schemes.</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<body> +<script> +async_test(t => { + var portal = document.createElement("portal"); + portal.src = "data:text/html,empty portal"; + portal.onload = t.unreached_func("Portal loaded data URL."); + document.body.appendChild(portal); + t.step_timeout(() => { portal.remove(); t.done(); }, 3000); +}, "Tests that a portal can't navigate to a data URL."); + +async_test(t => { + var portal = document.createElement("portal"); + portal.src = "about:blank"; + portal.onload = t.unreached_func("Portal loaded about:blank."); + document.body.appendChild(portal); + t.step_timeout(() => { portal.remove(); t.done(); }, 3000); +}, "Tests that a portal can't navigate to about:blank."); + +async_test(t => { + var portal = document.createElement("portal"); + portal.src = "resources/simple-portal.html"; + portal.onload = t.step_func(() => { + portal.onmessage = t.unreached_func("Portal execute javascript."); + portal.src = "javascript:window.portalHost.postMessage('executed', '*')"; + t.step_timeout(() => { portal.remove(); t.done(); }, 3000); + }); + document.body.appendChild(portal); +}, "Tests that a portal can't navigate to javascript URLs."); +</script> +</body> diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py index 454b08612aa..3b6949a42f5 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py @@ -161,6 +161,7 @@ def run_info_extras(**kwargs): "wasm": kwargs.get("wasm", True), "verify": kwargs["verify"], "headless": "MOZ_HEADLESS" in os.environ, + "fission": get_bool_pref("fission.autostart"), "sw-e10s": get_bool_pref("dom.serviceWorkers.parent_intercept")} rv.update(run_info_browser_version(kwargs["binary"])) return rv diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-screen-type-on-worker.https.worker.js b/tests/wpt/web-platform-tests/wake-lock/wakelock-screen-type-on-worker.https.worker.js new file mode 100644 index 00000000000..28e3394279c --- /dev/null +++ b/tests/wpt/web-platform-tests/wake-lock/wakelock-screen-type-on-worker.https.worker.js @@ -0,0 +1,8 @@ +//META: title=Screen wake lock should not be allowed in dedicated worker +importScripts("/resources/testharness.js"); + +promise_test(t => { + return promise_rejects(t, "NotAllowedError", WakeLock.request('screen')); +}, "Screen wake lock should not be allowed in dedicated worker"); + +done(); diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-type.https.any.js b/tests/wpt/web-platform-tests/wake-lock/wakelock-type.https.any.js index 26ebcbef557..e11fccc1ddf 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-type.https.any.js +++ b/tests/wpt/web-platform-tests/wake-lock/wakelock-type.https.any.js @@ -1,4 +1,4 @@ -//META: title=WakeLock.request() with invaild type +//META: title=WakeLock.request() with invalid type promise_test(async t => { await promise_rejects(t, new TypeError(), WakeLock.request()); diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate.html index c51c11fccbf..ed52ace59e6 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate.html @@ -269,6 +269,17 @@ a=rtcp-rsize t.add_cleanup(() => pc.close()); return pc.setRemoteDescription(sessionDesc) + .then(() => pc.addIceCandidate(new RTCIceCandidate({ + candidate: candidateStr1, + sdpMid: sdpMid1 }))); + }, 'Add candidate with only valid sdpMid and RTCIceCandidate should succeed'); + + promise_test(t => { + const pc = new RTCPeerConnection(); + + t.add_cleanup(() => pc.close()); + + return pc.setRemoteDescription(sessionDesc) .then(() => pc.addIceCandidate({ candidate: candidateStr1, sdpMLineIndex: sdpMLineIndex1 })); diff --git a/tests/wpt/web-platform-tests/xhr/responsexml-document-properties.htm b/tests/wpt/web-platform-tests/xhr/responsexml-document-properties.htm index b008348e58f..9071fab121f 100644 --- a/tests/wpt/web-platform-tests/xhr/responsexml-document-properties.htm +++ b/tests/wpt/web-platform-tests/xhr/responsexml-document-properties.htm @@ -12,9 +12,11 @@ var client = new XMLHttpRequest() client.open("GET", "resources/well-formed.xml", false) client.send(null) - var responseURL = new URL('resources/well-formed.xml', location.href).href + var responseURLObject = new URL('resources/well-formed.xml', location.href); + var responseURL = responseURLObject.href + var responseDomain = responseURLObject.hostname var expected = { - domain:undefined, + domain:responseDomain, URL:responseURL, documentURI:responseURL, baseURI:responseURL, |