From 0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 03:47:29 +0200 Subject: Adding upstream version 115.8.0esr. Signed-off-by: Daniel Baumann --- .../tests/html/semantics/scripting-1/META.yml | 2 + .../the-noscript-element/non-html-noscript.html | 16 ++ .../scripting-1/the-script-element/async_001.htm | 18 ++ .../scripting-1/the-script-element/async_002.htm | 31 +++ .../scripting-1/the-script-element/async_003.htm | 40 ++++ .../scripting-1/the-script-element/async_004.htm | 38 ++++ .../scripting-1/the-script-element/async_005.htm | 43 +++++ .../scripting-1/the-script-element/async_006.htm | 46 +++++ .../scripting-1/the-script-element/async_007.htm | 49 +++++ .../scripting-1/the-script-element/async_008.htm | 47 +++++ .../scripting-1/the-script-element/async_009.htm | 25 +++ .../scripting-1/the-script-element/async_010.htm | 55 ++++++ .../scripting-1/the-script-element/async_011.htm | 19 ++ .../the-script-element/cacheable-script-throw.py | 4 + .../the-script-element/css-module/charset-2.html | 19 ++ .../the-script-element/css-module/charset-bom.html | 20 ++ .../the-script-element/css-module/charset.html | 37 ++++ .../css-module/content-type-checking.html | 39 ++++ .../css-module/cors-crossorigin-requests.html | 33 ++++ .../css-module/credentials.sub.html | 55 ++++++ .../css-module/css-module-worker-test.html | 54 ++++++ .../css-module/import-css-module-basic.html | 83 ++++++++ .../css-module/import-css-module-dynamic.html | 23 +++ .../the-script-element/css-module/integrity.html | 28 +++ .../css-module/load-error-events.html | 67 +++++++ .../css-module/referrer-policies.sub.html | 84 ++++++++ .../css-module/relative-urls.html | 18 ++ .../css-module/resources/atImported.css | 3 + .../css-module/resources/bad-import.css | 4 + .../css-module/resources/basic-large.css | 7 + .../css-module/resources/basic.css | 3 + .../css-module/resources/bom-utf-16be.css | Bin 0 -> 64 bytes .../css-module/resources/bom-utf-16le.css | Bin 0 -> 64 bytes .../css-module/resources/bom-utf-8.css | 1 + .../resources/credentials-iframe.sub.html | 33 ++++ .../css-module/resources/cross-origin.py | 17 ++ ...ossorigin-import-parse-error-with-cors.sub.html | 15 ++ .../crossorigin-import-with-cors.sub.html | 15 ++ .../crossorigin-import-without-cors.sub.html | 15 ++ .../css-module-without-assertion-iframe.html | 22 +++ .../css-module/resources/integrity-matches.js | 2 + .../css-module/resources/integrity-mismatches.js | 2 + .../css-module/resources/load-error-events.py | 14 ++ .../css-module/resources/load-relative-url.css | 5 + .../css-module/resources/malformed.css | 7 + .../css-module/resources/parse-error.css | 2 + .../css-module/resources/record-fetch.py | 20 ++ .../css-module/resources/referrer-checker.py | 7 + .../css-module/resources/utf-8.css | 3 + .../css-module/resources/windows-1250.css | 3 + .../resources/worker-dynamic-import.sub.js | 3 + .../css-module/resources/worker.sub.js | 2 + .../css-module/script-element-css-src.html | 14 ++ .../scripting-1/the-script-element/data-url.html | 32 +++ .../the-script-element/defer-script/README.md | 7 + .../defer-script/async-script-2.html | 40 ++++ .../defer-script/async-script.html | 22 +++ .../defer-script/defer-script-xml.xhtml | 40 ++++ .../defer-script/defer-script.html | 37 ++++ .../defer-script/document-write.html | 67 +++++++ .../defer-script/resources/async-script-1.js | 1 + .../defer-script/resources/defer-script-1.js | 1 + .../defer-script/resources/defer-script-2.js | 1 + .../resources/document-open-write-close.js | 3 + .../defer-script/resources/document-open-write.js | 2 + .../defer-script/resources/document-write-close.js | 2 + .../resources/document-write-iframe.sub.html | 14 ++ .../defer-script/resources/document-write.js | 1 + .../defer-script/resources/helper.js | 17 ++ .../defer-script/resources/sync-script-1.js | 1 + .../defer-script/resources/sync-script-2.js | 1 + .../defer-script/support/async-script.html | 44 +++++ .../scripting-1/the-script-element/defer.js | 4 + .../emptyish-script-elements.html | 75 ++++++++ .../the-script-element/execution-timing/001.html | 27 +++ .../the-script-element/execution-timing/002.html | 27 +++ .../the-script-element/execution-timing/003.html | 27 +++ .../the-script-element/execution-timing/004.html | 25 +++ .../the-script-element/execution-timing/005.html | 27 +++ .../the-script-element/execution-timing/006.html | 30 +++ .../the-script-element/execution-timing/007.html | 27 +++ .../the-script-element/execution-timing/008.html | 28 +++ .../the-script-element/execution-timing/009.html | 29 +++ .../the-script-element/execution-timing/010.html | 29 +++ .../the-script-element/execution-timing/011.html | 30 +++ .../the-script-element/execution-timing/012.html | 30 +++ .../the-script-element/execution-timing/013.html | 28 +++ .../the-script-element/execution-timing/014.html | 28 +++ .../the-script-element/execution-timing/015.html | 34 ++++ .../the-script-element/execution-timing/015a.html | 31 +++ .../the-script-element/execution-timing/016.html | 28 +++ .../the-script-element/execution-timing/017.html | 33 ++++ .../the-script-element/execution-timing/018.html | 35 ++++ .../the-script-element/execution-timing/019.html | 31 +++ .../the-script-element/execution-timing/020.html | 28 +++ .../the-script-element/execution-timing/021.html | 28 +++ .../the-script-element/execution-timing/022.html | 30 +++ .../the-script-element/execution-timing/023.html | 30 +++ .../the-script-element/execution-timing/024.html | 32 +++ .../the-script-element/execution-timing/025.html | 30 +++ .../the-script-element/execution-timing/026.html | 33 ++++ .../the-script-element/execution-timing/027.html | 30 +++ .../the-script-element/execution-timing/028.html | 29 +++ .../the-script-element/execution-timing/030.html | 39 ++++ .../the-script-element/execution-timing/031.html | 30 +++ .../the-script-element/execution-timing/032.html | 29 +++ .../the-script-element/execution-timing/033.html | 35 ++++ .../the-script-element/execution-timing/034.html | 28 +++ .../the-script-element/execution-timing/035.html | 34 ++++ .../the-script-element/execution-timing/036.html | 34 ++++ .../the-script-element/execution-timing/037.html | 33 ++++ .../the-script-element/execution-timing/038.html | 34 ++++ .../the-script-element/execution-timing/039.html | 39 ++++ .../the-script-element/execution-timing/040.html | 34 ++++ .../the-script-element/execution-timing/041.html | 29 +++ .../the-script-element/execution-timing/042.html | 29 +++ .../the-script-element/execution-timing/043.html | 31 +++ .../the-script-element/execution-timing/044.html | 28 +++ .../the-script-element/execution-timing/045.html | 28 +++ .../the-script-element/execution-timing/046.html | 27 +++ .../the-script-element/execution-timing/047.html | 28 +++ .../the-script-element/execution-timing/048.html | 28 +++ .../the-script-element/execution-timing/049.html | 28 +++ .../the-script-element/execution-timing/050.html | 50 +++++ .../the-script-element/execution-timing/051.html | 29 +++ .../the-script-element/execution-timing/052.html | 26 +++ .../the-script-element/execution-timing/053.html | 31 +++ .../the-script-element/execution-timing/054.html | 33 ++++ .../the-script-element/execution-timing/055.html | 32 +++ .../the-script-element/execution-timing/056.html | 30 +++ .../the-script-element/execution-timing/057.html | 31 +++ .../the-script-element/execution-timing/058.html | 29 +++ .../the-script-element/execution-timing/059.html | 30 +++ .../the-script-element/execution-timing/060.html | 32 +++ .../the-script-element/execution-timing/061.html | 29 +++ .../the-script-element/execution-timing/062.html | 29 +++ .../the-script-element/execution-timing/063.html | 30 +++ .../the-script-element/execution-timing/064.html | 29 +++ .../the-script-element/execution-timing/065.html | 30 +++ .../the-script-element/execution-timing/066.html | 31 +++ .../the-script-element/execution-timing/067.html | 38 ++++ .../the-script-element/execution-timing/068.html | 31 +++ .../the-script-element/execution-timing/069.html | 33 ++++ .../the-script-element/execution-timing/070.html | 48 +++++ .../the-script-element/execution-timing/071.html | 55 ++++++ .../the-script-element/execution-timing/072.html | 50 +++++ .../the-script-element/execution-timing/073.html | 52 +++++ .../the-script-element/execution-timing/074.html | 49 +++++ .../the-script-element/execution-timing/075.html | 42 ++++ .../the-script-element/execution-timing/076.html | 32 +++ .../the-script-element/execution-timing/077.html | 41 ++++ .../the-script-element/execution-timing/078.html | 44 +++++ .../the-script-element/execution-timing/079.html | 28 +++ .../the-script-element/execution-timing/081.html | 31 +++ .../the-script-element/execution-timing/082.html | 35 ++++ .../the-script-element/execution-timing/083.html | 48 +++++ .../the-script-element/execution-timing/084.html | 47 +++++ .../the-script-element/execution-timing/085.html | 24 +++ .../the-script-element/execution-timing/086.html | 24 +++ .../the-script-element/execution-timing/087.html | 24 +++ .../the-script-element/execution-timing/088.html | 24 +++ .../the-script-element/execution-timing/089.html | 34 ++++ .../the-script-element/execution-timing/090.html | 34 ++++ .../the-script-element/execution-timing/091.html | 31 +++ .../the-script-element/execution-timing/092.html | 26 +++ .../the-script-element/execution-timing/094.html | 23 +++ .../the-script-element/execution-timing/095.html | 24 +++ .../the-script-element/execution-timing/096.html | 30 +++ .../the-script-element/execution-timing/097.html | 29 +++ .../the-script-element/execution-timing/099.html | 19 ++ .../the-script-element/execution-timing/101.html | 35 ++++ .../the-script-element/execution-timing/102.html | 24 +++ .../the-script-element/execution-timing/103.html | 39 ++++ .../the-script-element/execution-timing/104.html | 39 ++++ .../the-script-element/execution-timing/105.html | 31 +++ .../execution-timing/106-defer-import.html | 14 ++ .../execution-timing/106-defer-noimport.html | 14 ++ .../execution-timing/106-external-import.html | 14 ++ .../106-external-module-import.html | 14 ++ .../106-external-module-noimport.html | 14 ++ .../execution-timing/106-external-noimport.html | 14 ++ .../execution-timing/106-import-xhtml.xhtml | 20 ++ .../execution-timing/106-import.html | 19 ++ .../execution-timing/106-module-import.html | 19 ++ .../execution-timing/106-module-noimport.html | 19 ++ .../execution-timing/106-noimport-xhtml.xhtml | 20 ++ .../execution-timing/106-noimport.html | 19 ++ .../execution-timing/107-import.html | 21 ++ .../execution-timing/107-noimport.html | 21 ++ .../the-script-element/execution-timing/108.html | 25 +++ .../the-script-element/execution-timing/109.html | 29 +++ .../the-script-element/execution-timing/110.html | 30 +++ .../the-script-element/execution-timing/111.html | 33 ++++ .../the-script-element/execution-timing/112.html | 30 +++ .../the-script-element/execution-timing/113.html | 31 +++ .../the-script-element/execution-timing/114.html | 26 +++ .../the-script-element/execution-timing/115.html | 26 +++ .../the-script-element/execution-timing/116.html | 24 +++ .../the-script-element/execution-timing/117.html | 25 +++ .../the-script-element/execution-timing/118.html | 25 +++ .../the-script-element/execution-timing/119.html | 31 +++ .../the-script-element/execution-timing/120.html | 17 ++ .../the-script-element/execution-timing/121.html | 17 ++ .../the-script-element/execution-timing/122.html | 28 +++ .../the-script-element/execution-timing/123.html | 28 +++ .../the-script-element/execution-timing/124.html | 25 +++ .../the-script-element/execution-timing/125.html | 28 +++ .../the-script-element/execution-timing/126.html | 29 +++ .../the-script-element/execution-timing/127.html | 34 ++++ .../the-script-element/execution-timing/128.html | 34 ++++ .../the-script-element/execution-timing/129.html | 40 ++++ .../the-script-element/execution-timing/130.html | 34 ++++ .../the-script-element/execution-timing/131.html | 22 +++ .../the-script-element/execution-timing/132.html | 22 +++ .../the-script-element/execution-timing/133.html | 29 +++ .../the-script-element/execution-timing/134.html | 28 +++ .../the-script-element/execution-timing/135.html | 28 +++ .../the-script-element/execution-timing/136.html | 33 ++++ .../the-script-element/execution-timing/137.html | 21 ++ .../the-script-element/execution-timing/138.html | 30 +++ .../the-script-element/execution-timing/139.html | 30 +++ .../the-script-element/execution-timing/140.html | 24 +++ .../the-script-element/execution-timing/141.html | 26 +++ .../the-script-element/execution-timing/142.html | 27 +++ .../the-script-element/execution-timing/143.html | 31 +++ .../the-script-element/execution-timing/144.html | 28 +++ .../the-script-element/execution-timing/145.html | 24 +++ .../execution-timing/146-href.html | 22 +++ .../the-script-element/execution-timing/146.html | 23 +++ .../the-script-element/execution-timing/147.html | 40 ++++ .../the-script-element/execution-timing/148.html | 40 ++++ .../the-script-element/execution-timing/149.html | 59 ++++++ .../execution-timing/150-import-xhtml.xhtml | 21 ++ .../execution-timing/150-import.html | 20 ++ .../execution-timing/150-noimport-xhtml.xhtml | 20 ++ .../execution-timing/150-noimport.html | 20 ++ .../execution-timing/css/background.css | 1 + .../execution-timing/css/import.css | 1 + .../non-external-no-import.tentative.html | 27 +++ .../pages/helloworld-postMessage.html | 19 ++ .../execution-timing/pages/helloworld.html | 15 ++ .../execution-timing/scripts/check-style-sheet.js | 4 + .../execution-timing/scripts/count-script-tags.js | 1 + .../execution-timing/scripts/find-body.js | 4 + .../execution-timing/scripts/find-foo.js | 2 + .../execution-timing/scripts/include-1.js | 1 + .../execution-timing/scripts/include-10.js | 1 + .../execution-timing/scripts/include-11.js | 4 + .../execution-timing/scripts/include-2.js | 1 + .../execution-timing/scripts/include-3.js | 3 + .../execution-timing/scripts/include-4.js | 3 + .../execution-timing/scripts/include-5.js | 7 + .../execution-timing/scripts/include-6.js | 6 + .../execution-timing/scripts/include-7.js | 1 + .../execution-timing/scripts/include-8.js | 4 + .../execution-timing/scripts/include-9.js | 2 + .../execution-timing/testlib/testlib.js | 43 +++++ .../the-script-element/external-script-utf8.js | 5 + .../external-script-windows1250.js | 5 + .../the-script-element/fetch-src/alpha/base.html | 15 ++ .../the-script-element/fetch-src/alpha/test.js | 1 + .../the-script-element/fetch-src/beta/test.js | 1 + .../fetch-src/empty-with-base.html | 27 +++ .../the-script-element/fetch-src/empty.html | 32 +++ .../the-script-element/fetch-src/failure.html | 25 +++ .../the-script-element/fetch-src/unreachable.js | 1 + .../scripting-1/the-script-element/historical.html | 53 +++++ .../dynamic-import-with-assertion-argument.any.js | 17 ++ .../import-assertions/empty-assertion-clause.html | 19 ++ .../import-assertions/empty-assertion-clause.js | 2 + .../import-assertions/empty-type-assertion.js | 2 + .../import-assertions/export-hello.js | 1 + .../the-script-element/import-assertions/hello.js | 1 + .../invalid-type-assertion-error.html | 28 +++ .../import-assertions/invalid-type-assertion.js | 2 + .../import-assertions/javascript-type-assertion.js | 2 + .../import-assertions/js-type-assertion.js | 2 + .../import-assertions/unsupported-assertion.html | 19 ++ .../import-assertions/unsupported-assertion.js | 2 + .../the-script-element/is-module-goal.mjs | 1 + .../the-script-element/is-script-goal.js | 3 + .../the-script-element/json-module/array.json | 1 + .../json-module/bom-utf-16be.json | Bin 0 -> 40 bytes .../json-module/bom-utf-16le.json | Bin 0 -> 40 bytes .../the-script-element/json-module/bom-utf-8.json | 1 + .../the-script-element/json-module/charset-2.html | 19 ++ .../json-module/charset-bom.any.js | 17 ++ .../the-script-element/json-module/charset.html | 37 ++++ .../json-module/cors-crossorigin-requests.html | 33 ++++ .../json-module/credentials-iframe.sub.html | 33 ++++ .../json-module/credentials.sub.html | 55 ++++++ .../the-script-element/json-module/cross-origin.py | 16 ++ ...ossorigin-import-parse-error-with-cors.sub.html | 15 ++ .../crossorigin-import-with-cors.sub.html | 15 ++ .../crossorigin-import-without-cors.sub.html | 15 ++ .../the-script-element/json-module/data.json | 3 + .../the-script-element/json-module/false.json | 1 + .../json-module/integrity-matches.js | 2 + .../json-module/integrity-mismatches.js | 2 + .../the-script-element/json-module/integrity.html | 28 +++ .../json-module/invalid-content-type.any.js | 17 ++ .../json-module-service-worker-test.https.html | 29 +++ .../json-module/load-error-events.html | 67 +++++++ .../json-module/load-error-events.py | 14 ++ .../the-script-element/json-module/module.html | 18 ++ .../the-script-element/json-module/module.json | 3 + .../json-module/non-object.any.js | 14 ++ .../the-script-element/json-module/null.json | 1 + .../json-module/parse-error.html | 21 ++ .../json-module/parse-error.json | 1 + .../json-module/referrer-checker.py | 6 + .../json-module/referrer-policies.sub.html | 84 ++++++++ .../json-module/repeated-imports.any.js | 65 +++++++ .../json-module/script-element-json-src.html | 14 ++ .../json-module/serviceworker-dynamic-import.js | 5 + .../json-module/serviceworker.js | 1 + .../the-script-element/json-module/string.json | 1 + .../the-script-element/json-module/true.json | 1 + .../the-script-element/json-module/utf-8.json | 4 + .../json-module/valid-content-type.html | 46 +++++ .../json-module/windows-1250.json | 4 + .../the-script-element/load-error-events-1.html | 68 +++++++ .../the-script-element/load-error-events-2.html | 22 +++ .../the-script-element/load-error-events-3.html | 22 +++ .../scripting-1/the-script-element/log.py | 13 ++ .../checkpoint-after-window-onerror-module.html | 9 + .../checkpoint-after-window-onerror.html | 9 + ...int-after-workerglobalscope-onerror-module.html | 14 ++ ...checkpoint-after-workerglobalscope-onerror.html | 13 ++ .../microtasks/checkpoint-importScripts.any.js | 40 ++++ ...evaluation-order-1-nothrow-importScripts.any.js | 11 ++ ...evaluation-order-1-nothrow-static-import.any.js | 5 + .../evaluation-order-1-throw-importScripts.any.js | 22 +++ .../evaluation-order-1-throw-static-import.any.js | 5 + .../microtasks/evaluation-order-1.html | 34 ++++ .../microtasks/evaluation-order-2.any.js | 5 + .../microtasks/evaluation-order-2.html | 8 + .../microtasks/evaluation-order-3.any.js | 5 + .../microtasks/evaluation-order-3.html | 8 + .../microtasks/evaluation-order-4.html | 18 ++ .../checkpoint-after-error-event-worker-module.js | 2 + .../checkpoint-after-error-event-worker.js | 2 + .../resources/checkpoint-after-error-event.js | 89 +++++++++ .../resources/evaluation-order-1-nothrow-setup.js | 5 + .../resources/evaluation-order-1-nothrow.js | 2 + .../resources/evaluation-order-1-throw-setup.js | 10 + .../resources/evaluation-order-1-throw.js | 4 + .../resources/evaluation-order-2-setup.js | 10 + .../microtasks/resources/evaluation-order-2.1.mjs | 8 + .../microtasks/resources/evaluation-order-2.2.mjs | 7 + .../resources/evaluation-order-3-setup.js | 7 + .../microtasks/resources/evaluation-order-3.1.mjs | 11 ++ .../microtasks/resources/evaluation-order-3.2.mjs | 5 + .../microtasks/resources/evaluation-order-4.1.mjs | 8 + .../microtasks/resources/evaluation-order-4.2.mjs | 5 + .../microtasks/resources/evaluation-order-setup.js | 30 +++ .../microtasks/resources/resolve-then-throw.js | 3 + .../module/bad-module-specifier.js | 3 + .../the-script-element/module/charset-01.html | 52 +++++ .../the-script-element/module/charset-02.html | 26 +++ .../the-script-element/module/charset-03.html | 37 ++++ .../module/choice-of-error-1.html | 37 ++++ .../module/choice-of-error-1a.js | 2 + .../module/choice-of-error-1b.js | 2 + .../module/choice-of-error-2.html | 37 ++++ .../module/choice-of-error-2a.js | 2 + .../module/choice-of-error-2b.js | 2 + .../module/choice-of-error-3.html | 38 ++++ .../module/choice-of-error-3a.js | 2 + .../module/choice-of-error-3b.js | 2 + .../module/compilation-error-1.html | 28 +++ .../module/compilation-error-2.html | 28 +++ .../the-script-element/module/credentials.sub.html | 68 +++++++ .../module/crossorigin-common.js | 8 + .../module/crossorigin-import-different.sub.html | 15 ++ .../crossorigin-import-missingheader.sub.html | 15 ++ .../module/crossorigin-import-same.sub.html | 15 ++ .../module/crossorigin-import-wrongheader.sub.html | 15 ++ .../module/crossorigin-root-different.sub.html | 11 ++ .../module/crossorigin-root-missingheader.sub.html | 11 ++ .../module/crossorigin-root-same.sub.html | 11 ++ .../module/crossorigin-root-wrongheader.sub.html | 11 ++ .../module/crossorigin-scripterror.js | 8 + .../the-script-element/module/crossorigin.html | 43 +++++ .../module/currentScript-null.html | 13 ++ .../the-script-element/module/currentscript.js | 1 + .../module/custom-element-exception.html | 31 +++ .../module/cycle-tdz-access-a.js | 3 + .../the-script-element/module/cycle-tdz-access.js | 3 + .../module/cycle-unresolvable-a.js | 2 + .../module/cycle-unresolvable.js | 2 + .../module/duplicated-imports-1.html | 23 +++ .../module/duplicated-imports-2.html | 23 +++ .../alpha/base-url-worker-importScripts.html | 7 + .../dynamic-import/alpha/base-url-worker.sub.html | 8 + .../module/dynamic-import/alpha/base-url.sub.html | 28 +++ .../module/dynamic-import/alpha/code-cache.js | 9 + .../module/dynamic-import/alpha/import.js | 1 + .../alpha/worker-importScripts.sub.js | 15 ++ .../module/dynamic-import/beta/code-cache.js | 9 + .../module/dynamic-import/beta/import.js | 1 + .../module/dynamic-import/beta/redirect.py | 19 ++ .../dynamic-import/blob-url-workers.window.js | 60 ++++++ .../module/dynamic-import/blob-url.any.js | 66 +++++++ .../module/dynamic-import/code-cache-base-url.html | 19 ++ .../module/dynamic-import/code-cache-nonce.html | 43 +++++ .../module/dynamic-import/delay-load-event.html | 25 +++ ...dynamic-imports-credentials-setTimeout.sub.html | 11 ++ .../dynamic-imports-credentials.sub.html | 11 ++ .../dynamic-imports-fetch-error.sub.html | 61 ++++++ .../dynamic-imports-script-error.html | 53 +++++ .../module/dynamic-import/dynamic-imports.html | 12 ++ .../module/dynamic-import/gamma/base-url.sub.js | 58 ++++++ .../module/dynamic-import/gamma/code-cache.js | 9 + .../module/dynamic-import/gamma/import.js | 1 + .../dynamic-import/inline-event-handler.html | 19 ++ .../module/dynamic-import/microtasks/basic.any.js | 32 +++ .../microtasks/css-import-in-worker.any.js | 14 ++ .../dynamic-import/microtasks/empty-module.css | 4 + .../dynamic-import/microtasks/empty-module.js | 4 + .../dynamic-import/microtasks/serviceworker.any.js | 14 ++ .../module/dynamic-import/microtasks/ticker.js | 13 ++ .../microtasks/with-import-assertions.any.js | 15 ++ .../microtasks/worklet-ref.https.html | 10 + .../dynamic-import/microtasks/worklet.https.html | 43 +++++ .../no-active-script-classic-manual.html | 55 ++++++ .../no-active-script-module-manual.html | 55 ++++++ .../propagate-nonce-external-classic.html | 5 + .../propagate-nonce-external-module.html | 5 + .../dynamic-import/propagate-nonce-external.js | 7 + .../propagate-nonce-inline-classic.html | 12 ++ .../propagate-nonce-inline-module.html | 12 ++ .../dynamic-import/resources/blob-url-worker.js | 11 ++ .../resources/code-cache-nonce-iframe.sub.html | 4 + .../dynamic-import/resources/code-cache-nonce.js | 4 + .../dynamic-import/resources/empty-iframe.html | 9 + .../resources/status-changing-script.py | 18 ++ .../resources/v8-code-cache-iframe.sub.html | 9 + .../dynamic-import/resources/v8-code-cache.js | 74 +++++++ .../module/dynamic-import/scripts/Function.js | 2 + .../module/dynamic-import/scripts/eval.js | 2 + .../scripts/inline-event-handlers-UA-code.js | 3 + .../dynamic-import/scripts/no-active-script.js | 5 + .../scripts/reflected-inline-event-handlers.js | 3 + .../module/dynamic-import/scripts/setTimeout.js | 2 + ...ring-compilation-base-url-external-classic.html | 63 ++++++ ...tring-compilation-base-url-external-module.html | 64 ++++++ ...string-compilation-base-url-inline-classic.html | 73 +++++++ .../string-compilation-base-url-inline-module.html | 73 +++++++ .../dynamic-import/string-compilation-classic.html | 54 ++++++ .../dynamic-import/string-compilation-module.html | 54 ++++++ .../string-compilation-nonce-classic.html | 104 ++++++++++ .../string-compilation-nonce-module.html | 103 ++++++++++ .../string-compilation-of-promise-result.html | 83 ++++++++ .../string-compilation-other-document.html | 79 ++++++++ .../module/dynamic-import/v8-code-cache.html | 42 ++++ .../module/error-and-slow-dependency.html | 20 ++ .../the-script-element/module/error-type-1.html | 34 ++++ .../the-script-element/module/error-type-1.js | 2 + .../the-script-element/module/error-type-2.html | 35 ++++ .../the-script-element/module/error-type-2.js | 2 + .../the-script-element/module/error-type-3.html | 35 ++++ .../the-script-element/module/error-type-3.js | 2 + .../module/errorhandling-parseerror-common.js | 10 + .../module/errorhandling-parseerror-dependent.html | 16 ++ .../module/errorhandling-parseerror-dependent.js | 2 + ...errorhandling-parseerror-dependentmultiple.html | 24 +++ .../errorhandling-parseerror-dependentmultiple.js | 2 + .../module/errorhandling-parseerror-root.html | 15 ++ .../module/errorhandling-wrongMimetype-import.js | 8 + .../module/errorhandling-wrongMimetype.js | 7 + .../the-script-element/module/errorhandling.html | 60 ++++++ .../module/evaluation-error-1.html | 35 ++++ .../module/evaluation-error-2.html | 34 ++++ .../module/evaluation-error-3.html | 37 ++++ .../module/evaluation-error-4.html | 37 ++++ .../module/execorder-dynamicordered2.js | 3 + .../module/execorder-dynamicordered3.js | 3 + .../module/execorder-dynamicordered4.js | 3 + .../module/execorder-dynamicunordered1.js | 3 + .../module/execorder-dynamicunordered2.js | 3 + .../module/execorder-parsedordered2.js | 3 + .../module/execorder-parsedordered4.js | 3 + .../module/execorder-parsedunordered1.js | 3 + .../module/execorder-parsedunordered2.js | 3 + .../the-script-element/module/execorder.html | 106 ++++++++++ .../the-script-element/module/export-default.js | 2 + .../module/export-something-nested.js | 2 + .../the-script-element/module/export-something.js | 3 + .../the-script-element/module/fetch-error-1.html | 15 ++ .../the-script-element/module/fetch-error-2.html | 15 ++ .../the-script-element/module/fetch-error-2.js | 2 + .../module/import-meta/import-meta-dependent.js | 1 + .../module/import-meta/import-meta-object.any.js | 20 ++ .../import-meta/import-meta-resolve-importmap.html | 57 ++++++ .../import-meta-resolve-multiple-scripts.html | 39 ++++ .../module/import-meta/import-meta-resolve.any.js | 77 ++++++++ .../module/import-meta/import-meta-root.js | 2 + .../module/import-meta/import-meta-url.any.js | 38 ++++ .../module/import-meta/import-meta-url.html | 34 ++++ .../module/import-meta/postmessage-worker.js | 12 ++ .../module/import-meta/resources/export-1.mjs | 1 + .../module/import-meta/resources/export-2.mjs | 1 + .../import-meta/resources/export-import-meta.mjs | 2 + .../import-meta/resources/store-import-meta.html | 5 + .../module/import-something-namespace.js | 5 + .../module/import-subgraph-404.html | 14 ++ .../the-script-element/module/imports-a.js | 3 + .../the-script-element/module/imports-b.js | 1 + .../the-script-element/module/imports-cycle-a.js | 2 + .../the-script-element/module/imports-cycle-b.js | 2 + .../the-script-element/module/imports-cycle.js | 6 + .../the-script-element/module/imports-inc-a.js | 2 + .../the-script-element/module/imports-inc-ab.js | 5 + .../the-script-element/module/imports-inc-b.js | 2 + .../module/imports-self-inner.js | 2 + .../the-script-element/module/imports-self.js | 6 + .../the-script-element/module/imports.html | 64 ++++++ .../module/inactive-context-import.html | 20 ++ .../module/inline-async-execorder.html | 29 +++ .../module/instantiation-error-1.html | 35 ++++ .../module/instantiation-error-1.js | 1 + .../module/instantiation-error-2.html | 35 ++++ .../module/instantiation-error-3.html | 37 ++++ .../module/instantiation-error-4.html | 32 +++ .../module/instantiation-error-4a.js | 2 + .../module/instantiation-error-4b.js | 3 + .../module/instantiation-error-4c.js | 2 + .../module/instantiation-error-4d.js | 2 + .../module/instantiation-error-5.html | 32 +++ .../module/instantiation-error-5a.js | 2 + .../module/instantiation-error-5b.js | 3 + .../module/instantiation-error-5c.js | 2 + .../module/instantiation-error-5d.js | 3 + .../module/instantiation-error-5e.js | 2 + .../module/instantiation-error-6.html | 36 ++++ .../module/instantiation-error-6a.js | 2 + .../module/instantiation-error-6b.js | 3 + .../module/instantiation-error-6c.js | 2 + .../module/instantiation-error-6d.js | 2 + .../module/instantiation-error-7.html | 37 ++++ .../module/instantiation-error-7a.js | 2 + .../module/instantiation-error-7b.js | 3 + .../module/instantiation-error-7c.js | 3 + .../module/instantiation-error-7d.js | 2 + .../module/instantiation-error-7e.js | 2 + .../module/instantiation-error-7f.js | 2 + .../module/instantiation-error-8.html | 27 +++ .../module/integrity-matches-inner.js | 1 + .../the-script-element/module/integrity-matches.js | 2 + .../module/integrity-mismatches-inner.js | 1 + .../module/integrity-mismatches.js | 2 + .../the-script-element/module/integrity.html | 40 ++++ .../module/late-namespace-request.html | 20 ++ .../module/late-star-export-request.html | 25 +++ .../module/load-error-events-inline.html | 61 ++++++ .../module/load-error-events.html | 61 ++++++ .../module/missing-export-nested.js | 2 + .../the-script-element/module/missing-export.js | 2 + .../module/module-in-xhtml.xhtml | 20 ++ .../module/module-vs-script-1.html | 17 ++ .../module/module-vs-script-2.html | 17 ++ .../the-script-element/module/nested-imports-a.js | 1 + .../the-script-element/module/nested-imports-b.js | 2 + .../the-script-element/module/nested-imports-c.js | 2 + .../the-script-element/module/nested-imports-d.js | 3 + .../the-script-element/module/nested-imports-e.js | 2 + .../the-script-element/module/nested-imports-f.js | 2 + .../the-script-element/module/nested-imports-g.js | 2 + .../the-script-element/module/nested-imports-h.js | 2 + .../the-script-element/module/nested-imports.html | 29 +++ .../module/nested-missing-export.js | 2 + .../module/nomodule-attribute.html | 18 ++ .../module/referrer-no-referrer.sub.html | 68 +++++++ .../referrer-origin-when-cross-origin.sub.html | 82 ++++++++ .../module/referrer-origin.sub.html | 71 +++++++ .../module/referrer-same-origin.sub.html | 77 ++++++++ .../module/referrer-strict-policies.sub.html | 38 ++++ .../module/referrer-unsafe-url.sub.html | 81 ++++++++ .../module/resources/404-but-js.asis | 4 + .../module/resources/500-but-js.asis | 4 + .../module/resources/check-cookie.py | 20 ++ .../module/resources/credentials-iframe.sub.html | 50 +++++ .../module/resources/delayed-modulescript.py | 7 + .../dynamic-import-credentials-helper.sub.js | 67 +++++++ .../dynamic-import-credentials-iframe.sub.html | 51 +++++ ...c-import-credentials-setTimeout-iframe.sub.html | 56 ++++++ .../module/resources/fast-module.js | 1 + .../import-non-utf8-with-charset-header.js | 1 + .../module/resources/import-non-utf8.js | 1 + .../import-referrer-checker-insecure.sub.js | 1 + ...import-referrer-checker-insecure.sub.js.headers | 1 + .../resources/import-referrer-checker.sub.js | 2 + .../import-referrer-checker.sub.js.headers | 1 + .../import-remote-origin-referrer-checker.sub.js | 2 + ...igin-referrer-checker-from-remote-origin.sub.js | 2 + ...errer-checker-from-remote-origin.sub.js.headers | 1 + .../resources/import-utf8-with-charset-header.js | 1 + .../module/resources/import-utf8.js | 1 + .../module/resources/imports-404-but-js.js | 1 + .../module/resources/imports-500-but-js.js | 1 + .../module/resources/imports-b-cross-origin.sub.js | 1 + .../module/resources/referrer-checker.py | 6 + .../module/resources/slow-module.js | 3 + .../module/script-for-event.html | 93 +++++++++ .../module/set-currentScript-on-window.js | 1 + .../module/single-evaluation-1.html | 20 ++ .../module/single-evaluation-2.html | 20 ++ .../the-script-element/module/slow-cycle.html | 11 ++ .../module/slow-module-graph-a.js | 3 + .../module/slow-module-graph-b.js | 1 + .../the-script-element/module/specifier-error.html | 22 +++ .../module/syntaxerror-nested.js | 2 + .../the-script-element/module/syntaxerror.js | 2 + .../the-script-element/module/this-nested.js | 2 + .../scripting-1/the-script-element/module/this.js | 1 + .../the-script-element/module/throw-error.js | 3 + .../the-script-element/module/throw-nested.js | 2 + .../scripting-1/the-script-element/module/throw.js | 2 + .../the-script-element/module/throw2.js | 2 + .../the-script-element/module/type.html | 24 +++ ...moving-between-documents-during-evaluation.html | 59 ++++++ .../moving-between-documents/README.md | 16 ++ ...eHTMLDocument-fetch-error-external-classic.html | 14 ++ ...teHTMLDocument-fetch-error-external-module.html | 14 ++ ...eHTMLDocument-parse-error-external-classic.html | 14 ++ ...teHTMLDocument-parse-error-external-module.html | 14 ++ ...reateHTMLDocument-success-external-classic.html | 14 ++ ...createHTMLDocument-success-external-module.html | 14 ++ ...repare-iframe-fetch-error-external-classic.html | 14 ++ ...prepare-iframe-fetch-error-external-module.html | 14 ++ ...repare-iframe-parse-error-external-classic.html | 14 ++ ...prepare-iframe-parse-error-external-module.html | 14 ++ ...-prepare-iframe-parse-error-inline-classic.html | 14 ++ ...er-prepare-iframe-success-external-classic.html | 14 ++ ...ter-prepare-iframe-success-external-module.html | 14 ++ ...fter-prepare-iframe-success-inline-classic.html | 14 ++ ...eHTMLDocument-fetch-error-external-classic.html | 14 ++ ...teHTMLDocument-fetch-error-external-module.html | 14 ++ ...eHTMLDocument-parse-error-external-classic.html | 14 ++ ...teHTMLDocument-parse-error-external-module.html | 14 ++ ...ateHTMLDocument-parse-error-inline-classic.html | 14 ++ ...eateHTMLDocument-parse-error-inline-module.html | 14 ++ ...eateHTMLDocument-success-empty-src-classic.html | 14 ++ ...reateHTMLDocument-success-empty-src-module.html | 14 ++ ...reateHTMLDocument-success-external-classic.html | 14 ++ ...createHTMLDocument-success-external-module.html | 14 ++ ...-createHTMLDocument-success-inline-classic.html | 14 ++ ...e-createHTMLDocument-success-inline-module.html | 14 ++ ...repare-iframe-fetch-error-external-classic.html | 14 ++ ...prepare-iframe-fetch-error-external-module.html | 14 ++ ...repare-iframe-parse-error-external-classic.html | 14 ++ ...prepare-iframe-parse-error-external-module.html | 14 ++ ...-prepare-iframe-parse-error-inline-classic.html | 14 ++ ...e-prepare-iframe-parse-error-inline-module.html | 14 ++ ...e-prepare-iframe-success-empty-src-classic.html | 14 ++ ...re-prepare-iframe-success-empty-src-module.html | 14 ++ ...re-prepare-iframe-success-external-classic.html | 14 ++ ...ore-prepare-iframe-success-external-module.html | 14 ++ ...fore-prepare-iframe-success-inline-classic.html | 14 ++ ...efore-prepare-iframe-success-inline-module.html | 14 ++ ...eHTMLDocument-fetch-error-external-classic.html | 14 ++ ...teHTMLDocument-fetch-error-external-module.html | 14 ++ ...eHTMLDocument-parse-error-external-classic.html | 14 ++ ...teHTMLDocument-parse-error-external-module.html | 14 ++ ...reateHTMLDocument-success-external-classic.html | 14 ++ ...createHTMLDocument-success-external-module.html | 14 ++ ...e-back-iframe-fetch-error-external-classic.html | 14 ++ ...ve-back-iframe-fetch-error-external-module.html | 14 ++ ...e-back-iframe-parse-error-external-classic.html | 14 ++ ...ve-back-iframe-parse-error-external-module.html | 14 ++ ...ove-back-iframe-parse-error-inline-classic.html | 14 ++ .../move-back-iframe-success-external-classic.html | 14 ++ .../move-back-iframe-success-external-module.html | 14 ++ .../move-back-iframe-success-inline-classic.html | 14 ++ .../moving-between-documents/ordering/README.md | 6 + .../ordering/delay-load-event-1.html | 10 + .../ordering/delay-load-event-2.html | 14 ++ .../ordering/delay-load-event-iframe.html | 5 + .../moving-between-documents/ordering/helper.js | 31 +++ .../ordering/in-order.html | 35 ++++ .../ordering/parser-blocking.html | 41 ++++ .../resources/moving-between-documents-helper.js | 214 +++++++++++++++++++++ .../resources/moving-between-documents-iframe.py | 102 ++++++++++ .../resources/slow-flag-setter.py | 29 +++ .../moving-between-documents/tools/generate.py | 61 ++++++ .../the-script-element/muted-errors-iframe.html | 2 + .../the-script-element/muted-errors.sub.html | 85 ++++++++ .../the-script-element/nomodule-reflect.html | 75 ++++++++ .../nomodule-set-on-async-classic-script.html | 63 ++++++ .../nomodule-set-on-external-module-script.html | 28 +++ .../nomodule-set-on-inline-classic-scripts.html | 56 ++++++ .../nomodule-set-on-inline-module-script.html | 32 +++ ...et-on-synchronously-loaded-classic-scripts.html | 41 ++++ .../promise-reject-and-remove.html | 10 + .../the-script-element/resources/bom-utf-16be.js | Bin 0 -> 156 bytes .../the-script-element/resources/bom-utf-16le.js | Bin 0 -> 156 bytes .../the-script-element/resources/bom-utf-8.js | 2 + .../the-script-element/resources/cocoa-module.js | 5 + .../the-script-element/resources/cross-origin.py | 20 ++ .../the-script-element/resources/exports-cocoa.js | 3 + .../the-script-element/resources/flag-setter.js | 3 + .../resources/load-error-events-helpers.js | 47 +++++ .../resources/load-error-events.py | 15 ++ .../promise-reject-and-remove-iframe.html | 12 ++ .../resources/script-type-and-language-js.js | 141 ++++++++++++++ .../resources/set-script-executed.js | 1 + .../the-script-element/resources/syntax-error.js | 1 + .../the-script-element/resources/throw.js | 1 + .../the-script-element/script-charset-01.html | 89 +++++++++ .../the-script-element/script-charset-02.html | 41 ++++ .../the-script-element/script-charset-03.html | 20 ++ .../script-crossorigin-network.sub.html | 120 ++++++++++++ .../the-script-element/script-crossorigin.html | 39 ++++ .../the-script-element/script-defer-xhtml.xhtml | 31 +++ .../the-script-element/script-defer.html | 26 +++ .../script-for-event-xhtml.xhtml | 22 +++ .../the-script-element/script-for-event.html | 93 +++++++++ .../script-noembed-noframes-iframe.xhtml | 36 ++++ .../script-not-executed-after-shutdown-child.html | 12 ++ .../script-not-executed-after-shutdown.html | 19 ++ .../script-not-executed-after-shutdown.js | 1 + .../script-not-found-not-executed-2.py | 4 + .../script-not-found-not-executed.html | 19 ++ .../script-not-found-not-executed.py | 4 + .../script-onerror-insertion-point-1.html | 12 ++ .../script-onerror-insertion-point-2.html | 13 ++ .../script-onload-insertion-point.html | 12 ++ .../the-script-element/script-onload-string.html | 17 ++ .../script-referrerpolicy-idl.html | 26 +++ .../the-script-element/script-supports.html | 52 +++++ .../script-text-modifications-csp.html | 52 +++++ .../script-text-modifications.html | 40 ++++ .../the-script-element/script-text-xhtml.xhtml | 28 +++ .../the-script-element/script-text.html | 72 +++++++ .../script-type-and-language-empty.html | 48 +++++ .../script-type-and-language-js-svg.svg | 37 ++++ .../script-type-and-language-js-xhtml.xhtml | 42 ++++ .../script-type-and-language-js.html | 35 ++++ .../script-type-and-language-with-params.html | 41 ++++ .../the-script-element/scripting-enabled.html | 16 ++ .../the-script-element/serve-json-then-js.py | 21 ++ .../the-script-element/serve-with-content-type.py | 17 ++ .../script-onerror-insertion-point-1-helper.html | 2 + .../script-onerror-insertion-point-2-helper.html | 2 + .../script-onload-insertion-point-helper.html | 2 + .../script-onload-insertion-point-helper.js | 1 + .../node-document.html | 150 +++++++++++++++ .../tag-name.xhtml | 16 ++ .../template-child-nodes.html | 102 ++++++++++ .../outerhtml.html | 71 +++++++ .../css-user-agent-style-sheet-test-001-ref.html | 6 + .../css-user-agent-style-sheet-test-001.html | 12 ++ .../css-user-agent-style-sheet-test-002.html | 12 ++ .../css-user-agent-style-sheet-test-003.html | 19 ++ .../template-clone-children.html | 82 ++++++++ .../templates-copy-document-owner.html | 126 ++++++++++++ .../template-contents-owner-document-type.html | 83 ++++++++ .../template-contents-owner-test-001.html | 44 +++++ .../template-contents-owner-test-002.html | 67 +++++++ .../definitions/template-contents.html | 172 +++++++++++++++++ .../innerhtml-on-templates/innerhtml.html | 105 ++++++++++ .../resources/end-template-tag-in-body.html | 12 ++ .../resources/end-template-tag-in-head.html | 12 ++ .../resources/frameset-end-tag.html | 10 + .../head-template-contents-div-no-end-tag.html | 12 ++ .../head-template-contents-table-no-end-tag.html | 14 ++ .../resources/html-start-tag.html | 10 + .../resources/template-child-nodes-div.xhtml | 14 ++ .../resources/template-child-nodes-nested.xhtml | 16 ++ .../resources/template-contents-attribute.html | 10 + .../resources/template-contents-body.html | 10 + .../template-contents-div-no-end-tag.html | 12 ++ .../resources/template-contents-empty.html | 11 ++ .../resources/template-contents-frameset.html | 10 + .../resources/template-contents-head.html | 10 + .../resources/template-contents-html.html | 10 + .../resources/template-contents-nested.html | 10 + .../template-contents-table-no-end-tag.html | 14 ++ .../resources/template-contents-text.html | 10 + .../resources/template-contents.html | 12 ++ .../resources/template-descendant-body.html | 12 ++ .../resources/template-descendant-frameset.html | 12 ++ .../resources/template-descendant-head.html | 13 ++ .../resources/two-templates.html | 17 ++ .../serializing-html-templates/outerhtml.html | 70 +++++++ .../template-element/content-attribute.html | 114 +++++++++++ .../template-element/node-document-changes.html | 192 ++++++++++++++++++ .../template-element/template-as-a-descendant.html | 135 +++++++++++++ ...te-construction-in-inactive-document-crash.html | 5 + .../template-content-hierarcy.html | 81 ++++++++ ...emplate-content-in-inactive-document-crash.html | 7 + ...te-content-move-to-inactive-document-crash.html | 7 + .../template-content-node-document.html | 59 ++++++ .../template-element/template-content.html | 63 ++++++ .../template-element/template-descendant-body.html | 26 +++ .../template-descendant-frameset.html | 62 ++++++ .../template-element/template-descendant-head.html | 26 +++ ...element-clone-into-inactive-document-crash.html | 7 + ...-set-inner-html-in-inactive-document-crash.html | 6 + .../the-template-element/template-table-crash.html | 13 ++ 801 files changed, 18466 insertions(+) create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/META.yml create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-noscript-element/non-html-noscript.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_001.htm create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_002.htm create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_003.htm create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_004.htm create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_005.htm create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_006.htm create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_007.htm create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_008.htm create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_009.htm create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_010.htm create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_011.htm create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/cacheable-script-throw.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/charset-2.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/charset-bom.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/charset.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/content-type-checking.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/cors-crossorigin-requests.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/credentials.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/css-module-worker-test.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-dynamic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/integrity.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/load-error-events.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/referrer-policies.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/relative-urls.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/atImported.css create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/bad-import.css create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/basic-large.css create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/basic.css create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/bom-utf-16be.css create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/bom-utf-16le.css create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/bom-utf-8.css create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/credentials-iframe.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/cross-origin.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/crossorigin-import-parse-error-with-cors.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/crossorigin-import-with-cors.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/crossorigin-import-without-cors.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/css-module-without-assertion-iframe.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/integrity-matches.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/integrity-mismatches.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/load-error-events.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/load-relative-url.css create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/malformed.css create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/parse-error.css create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/record-fetch.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/referrer-checker.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/utf-8.css create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/windows-1250.css create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/worker-dynamic-import.sub.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/worker.sub.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/script-element-css-src.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/data-url.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/README.md create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/async-script-2.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/async-script.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/defer-script-xml.xhtml create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/defer-script.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/document-write.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/async-script-1.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/defer-script-1.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/defer-script-2.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-open-write-close.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-open-write.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-write-close.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-write-iframe.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-write.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/helper.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/sync-script-1.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/sync-script-2.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/support/async-script.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/emptyish-script-elements.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/001.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/002.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/003.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/004.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/005.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/006.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/007.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/008.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/009.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/010.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/011.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/012.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/013.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/014.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/015.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/015a.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/016.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/017.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/018.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/019.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/020.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/021.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/022.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/023.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/024.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/025.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/026.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/027.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/028.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/030.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/031.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/032.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/033.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/034.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/035.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/036.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/037.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/038.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/039.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/040.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/041.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/042.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/043.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/044.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/045.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/046.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/047.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/048.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/049.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/050.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/051.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/052.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/053.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/054.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/055.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/056.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/057.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/058.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/059.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/060.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/061.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/062.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/063.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/064.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/065.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/066.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/067.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/068.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/069.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/070.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/071.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/072.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/073.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/074.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/075.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/076.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/077.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/078.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/079.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/081.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/082.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/083.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/084.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/085.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/086.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/087.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/088.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/089.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/090.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/091.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/092.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/094.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/095.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/096.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/097.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/099.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/101.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/102.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/103.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/104.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/105.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-defer-import.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-defer-noimport.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-external-import.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-external-module-import.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-external-module-noimport.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-external-noimport.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-import-xhtml.xhtml create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-import.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-module-import.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-module-noimport.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-noimport-xhtml.xhtml create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-noimport.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/107-import.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/107-noimport.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/108.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/109.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/110.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/111.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/112.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/113.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/114.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/115.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/116.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/117.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/118.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/119.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/120.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/121.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/122.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/123.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/124.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/125.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/126.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/127.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/128.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/129.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/130.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/131.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/132.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/133.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/134.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/135.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/136.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/137.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/138.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/139.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/140.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/141.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/142.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/143.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/144.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/145.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/146-href.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/146.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/147.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/148.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/149.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/150-import-xhtml.xhtml create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/150-import.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/150-noimport-xhtml.xhtml create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/150-noimport.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/css/background.css create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/css/import.css create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/non-external-no-import.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/pages/helloworld-postMessage.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/pages/helloworld.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/check-style-sheet.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/count-script-tags.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/find-body.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/find-foo.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-1.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-10.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-11.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-2.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-3.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-4.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-5.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-6.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-7.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-8.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-9.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/testlib/testlib.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/external-script-utf8.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/external-script-windows1250.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/alpha/base.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/alpha/test.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/beta/test.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/empty-with-base.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/empty.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/failure.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/unreachable.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/historical.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/dynamic-import-with-assertion-argument.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-type-assertion.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/export-hello.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/hello.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion-error.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/javascript-type-assertion.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/js-type-assertion.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/is-module-goal.mjs create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/is-script-goal.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/array.json create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/bom-utf-16be.json create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/bom-utf-16le.json create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/bom-utf-8.json create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/charset-2.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/charset-bom.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/charset.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/cors-crossorigin-requests.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/credentials-iframe.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/credentials.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/cross-origin.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/crossorigin-import-parse-error-with-cors.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/crossorigin-import-with-cors.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/crossorigin-import-without-cors.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/data.json create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/false.json create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/integrity-matches.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/integrity-mismatches.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/integrity.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/invalid-content-type.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/json-module-service-worker-test.https.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/load-error-events.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/load-error-events.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/module.json create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/non-object.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/null.json create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/parse-error.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/parse-error.json create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/referrer-checker.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/referrer-policies.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/repeated-imports.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/script-element-json-src.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/serviceworker-dynamic-import.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/serviceworker.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/string.json create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/true.json create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/utf-8.json create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/valid-content-type.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/windows-1250.json create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/load-error-events-1.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/load-error-events-2.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/load-error-events-3.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/log.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-after-window-onerror-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-after-window-onerror.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-after-workerglobalscope-onerror-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-after-workerglobalscope-onerror.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-importScripts.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1-nothrow-importScripts.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1-nothrow-static-import.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1-throw-importScripts.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1-throw-static-import.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-2.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-2.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-3.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-3.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-4.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/checkpoint-after-error-event-worker-module.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/checkpoint-after-error-event-worker.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/checkpoint-after-error-event.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-1-nothrow-setup.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-1-nothrow.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-1-throw-setup.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-1-throw.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-2-setup.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-2.1.mjs create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-2.2.mjs create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-3-setup.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-3.1.mjs create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-3.2.mjs create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-4.1.mjs create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-4.2.mjs create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-setup.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/resolve-then-throw.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/bad-module-specifier.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/charset-01.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/charset-02.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/charset-03.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-1.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-1a.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-1b.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-2.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-2a.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-2b.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-3.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-3a.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-3b.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/compilation-error-1.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/compilation-error-2.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/credentials.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-common.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-different.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-missingheader.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-same.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-wrongheader.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-different.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-missingheader.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-same.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-wrongheader.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/currentScript-null.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/currentscript.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/custom-element-exception.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/cycle-tdz-access-a.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/cycle-tdz-access.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/cycle-unresolvable-a.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/cycle-unresolvable.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/duplicated-imports-1.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/duplicated-imports-2.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/base-url-worker-importScripts.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/base-url-worker.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/base-url.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/code-cache.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/import.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/worker-importScripts.sub.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/beta/code-cache.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/beta/import.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/beta/redirect.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/blob-url-workers.window.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/blob-url.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/code-cache-base-url.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/code-cache-nonce.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/delay-load-event.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-credentials-setTimeout.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-credentials.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-fetch-error.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-script-error.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/gamma/base-url.sub.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/gamma/code-cache.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/gamma/import.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/inline-event-handler.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/basic.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/css-import-in-worker.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/empty-module.css create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/empty-module.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/serviceworker.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/ticker.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/with-import-assertions.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/worklet-ref.https.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/worklet.https.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/no-active-script-classic-manual.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/no-active-script-module-manual.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/blob-url-worker.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/code-cache-nonce-iframe.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/code-cache-nonce.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/empty-iframe.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/status-changing-script.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/v8-code-cache-iframe.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/v8-code-cache.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/Function.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/eval.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/inline-event-handlers-UA-code.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/no-active-script.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/reflected-inline-event-handlers.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/setTimeout.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-inline-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-inline-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-of-promise-result.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/v8-code-cache.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-and-slow-dependency.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-1.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-1.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-2.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-2.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-3.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-3.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-common.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-root.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype-import.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-1.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-2.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-3.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-4.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered2.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered3.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered4.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered1.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered2.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered2.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered4.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered1.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered2.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/export-default.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/export-something-nested.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/export-something.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/fetch-error-1.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/fetch-error-2.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/fetch-error-2.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-dependent.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-object.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-resolve-importmap.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-resolve-multiple-scripts.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-resolve.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-root.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-url.any.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-url.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/postmessage-worker.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/resources/export-1.mjs create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/resources/export-2.mjs create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/resources/export-import-meta.mjs create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/resources/store-import-meta.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-something-namespace.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-subgraph-404.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-a.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-b.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-cycle-a.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-cycle-b.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-cycle.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-inc-a.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-inc-ab.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-inc-b.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-self-inner.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-self.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/inactive-context-import.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/inline-async-execorder.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-2.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-3.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4a.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4b.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4c.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4d.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5a.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5b.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5c.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5d.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5e.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6a.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6b.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6c.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6d.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7a.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7b.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7c.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7d.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7e.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7f.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-8.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity-matches-inner.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity-matches.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity-mismatches-inner.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity-mismatches.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/late-namespace-request.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/late-star-export-request.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/load-error-events-inline.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/load-error-events.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/missing-export-nested.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/missing-export.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/module-in-xhtml.xhtml create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-1.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-2.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-a.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-b.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-c.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-d.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-e.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-f.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-g.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-h.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-missing-export.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nomodule-attribute.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-no-referrer.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-origin-when-cross-origin.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-origin.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-same-origin.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-strict-policies.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-unsafe-url.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/404-but-js.asis create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/500-but-js.asis create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/check-cookie.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/credentials-iframe.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/delayed-modulescript.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/dynamic-import-credentials-helper.sub.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/dynamic-import-credentials-iframe.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/dynamic-import-credentials-setTimeout-iframe.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/fast-module.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-non-utf8-with-charset-header.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-non-utf8.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-referrer-checker-insecure.sub.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-referrer-checker-insecure.sub.js.headers create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-referrer-checker.sub.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-referrer-checker.sub.js.headers create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-remote-origin-referrer-checker.sub.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-same-origin-referrer-checker-from-remote-origin.sub.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-same-origin-referrer-checker-from-remote-origin.sub.js.headers create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-utf8-with-charset-header.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-utf8.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/imports-404-but-js.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/imports-500-but-js.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/imports-b-cross-origin.sub.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/referrer-checker.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/slow-module.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/script-for-event.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/set-currentScript-on-window.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-1.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-2.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/slow-cycle.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/slow-module-graph-a.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/slow-module-graph-b.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/specifier-error.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/syntaxerror-nested.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/syntaxerror.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/this-nested.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/this.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/throw-error.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/throw-nested.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/throw.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/throw2.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/type.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents-during-evaluation.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/README.md create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-fetch-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-fetch-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-parse-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-parse-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-success-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-success-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-fetch-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-fetch-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-inline-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-inline-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-fetch-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-fetch-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-inline-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-inline-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-empty-src-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-empty-src-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-inline-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-inline-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-fetch-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-fetch-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-inline-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-inline-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-empty-src-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-empty-src-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-inline-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-inline-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-fetch-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-fetch-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-parse-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-parse-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-success-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-success-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-fetch-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-fetch-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-inline-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-inline-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/README.md create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-1.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-2.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-iframe.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/helper.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/in-order.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/parser-blocking.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/resources/moving-between-documents-helper.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/resources/moving-between-documents-iframe.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/resources/slow-flag-setter.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/tools/generate.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/muted-errors-iframe.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/muted-errors.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-reflect.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-async-classic-script.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-external-module-script.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-inline-classic-scripts.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-inline-module-script.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-synchronously-loaded-classic-scripts.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/promise-reject-and-remove.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/bom-utf-16be.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/bom-utf-16le.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/bom-utf-8.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/cocoa-module.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/cross-origin.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/exports-cocoa.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/flag-setter.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/load-error-events-helpers.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/load-error-events.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/promise-reject-and-remove-iframe.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/script-type-and-language-js.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/set-script-executed.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/syntax-error.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/throw.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-charset-01.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-charset-02.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-charset-03.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-crossorigin-network.sub.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-crossorigin.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-defer-xhtml.xhtml create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-defer.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-for-event-xhtml.xhtml create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-for-event.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-noembed-noframes-iframe.xhtml create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-executed-after-shutdown-child.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-executed-after-shutdown.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-executed-after-shutdown.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-found-not-executed-2.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-found-not-executed.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-found-not-executed.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-1.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-onload-insertion-point.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-onload-string.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-referrerpolicy-idl.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-supports.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text-modifications-csp.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text-modifications.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text-xhtml.xhtml create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-empty.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-js-svg.svg create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-js-xhtml.xhtml create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-js.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-with-params.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/scripting-enabled.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/serve-json-then-js.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/serve-with-content-type.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/support/script-onerror-insertion-point-1-helper.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/support/script-onerror-insertion-point-2-helper.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/support/script-onload-insertion-point-helper.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/support/script-onload-insertion-point-helper.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/node-document.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/tag-name.xhtml create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/template-child-nodes.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-serializing-xhtml-documents/outerhtml.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001-ref.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-002.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-003.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-steps-to-clone-a-node/template-clone-children.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-steps-to-clone-a-node/templates-copy-document-owner.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-document-type.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-001.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-002.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/innerhtml-on-templates/innerhtml.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/end-template-tag-in-body.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/end-template-tag-in-head.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/frameset-end-tag.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/head-template-contents-div-no-end-tag.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/head-template-contents-table-no-end-tag.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/html-start-tag.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-child-nodes-div.xhtml create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-child-nodes-nested.xhtml create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-attribute.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-body.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-div-no-end-tag.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-empty.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-frameset.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-head.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-html.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-nested.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-table-no-end-tag.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-text.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-body.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-frameset.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-head.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/two-templates.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/serializing-html-templates/outerhtml.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/content-attribute.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/node-document-changes.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-as-a-descendant.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-construction-in-inactive-document-crash.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content-hierarcy.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content-in-inactive-document-crash.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content-move-to-inactive-document-crash.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content-node-document.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-body.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-frameset.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-head.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-element-clone-into-inactive-document-crash.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-set-inner-html-in-inactive-document-crash.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-table-crash.html (limited to 'testing/web-platform/tests/html/semantics/scripting-1') diff --git a/testing/web-platform/tests/html/semantics/scripting-1/META.yml b/testing/web-platform/tests/html/semantics/scripting-1/META.yml new file mode 100644 index 0000000000..0f3cf59653 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/META.yml @@ -0,0 +1,2 @@ +suggested_reviewers: + - domenic diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-noscript-element/non-html-noscript.html b/testing/web-platform/tests/html/semantics/scripting-1/the-noscript-element/non-html-noscript.html new file mode 100644 index 0000000000..2f85d1d47d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-noscript-element/non-html-noscript.html @@ -0,0 +1,16 @@ + +noscript rules don't apply to non-html elements + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_001.htm b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_001.htm new file mode 100644 index 0000000000..370152683b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_001.htm @@ -0,0 +1,18 @@ + + + + Async property on a dynamically-created script is true by default + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_002.htm b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_002.htm new file mode 100644 index 0000000000..e1850ff6e1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_002.htm @@ -0,0 +1,31 @@ + + + + Changes to the 'async' attribute are reflected in the async property + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_003.htm b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_003.htm new file mode 100644 index 0000000000..c6d84f9a87 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_003.htm @@ -0,0 +1,40 @@ + + + + An async script does not block the parser while downloading + + + + + + + + + +
+ + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_004.htm b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_004.htm new file mode 100644 index 0000000000..5d9df099b7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_004.htm @@ -0,0 +1,38 @@ + + + + An async script executes as soon as possible after a download is complete + + + + + + + + + +
+ + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_005.htm b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_005.htm new file mode 100644 index 0000000000..03f9adeb67 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_005.htm @@ -0,0 +1,43 @@ + + + + A script element with both async and defer set should execute asynchronously + + + + + + + + + +
+ + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_006.htm b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_006.htm new file mode 100644 index 0000000000..ed3d8b22c6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_006.htm @@ -0,0 +1,46 @@ + + + + A dynamically created external script executes asynchronously + + + + + + + + + +
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_007.htm b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_007.htm new file mode 100644 index 0000000000..6c4ae29e06 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_007.htm @@ -0,0 +1,49 @@ + + + + Ordered async script execution when script.async == false + + + + + + + + + +
+ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_008.htm b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_008.htm new file mode 100644 index 0000000000..73529cc318 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_008.htm @@ -0,0 +1,47 @@ + + + + Async script element execution delays the window's load event + + + + + + + + +
+ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_009.htm b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_009.htm new file mode 100644 index 0000000000..501edda065 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_009.htm @@ -0,0 +1,25 @@ + + + + Document.write() silently fails from an Async script + + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_010.htm b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_010.htm new file mode 100644 index 0000000000..c54defc00d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_010.htm @@ -0,0 +1,55 @@ + + + + Removing an async script before execution + + + + + + + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_011.htm b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_011.htm new file mode 100644 index 0000000000..d80e463cee --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/async_011.htm @@ -0,0 +1,19 @@ + + + + An empty parser-inserted script element should return async=true + + + + + + + + +
+ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/cacheable-script-throw.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/cacheable-script-throw.py new file mode 100644 index 0000000000..b315afed56 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/cacheable-script-throw.py @@ -0,0 +1,4 @@ +def main(request, response): + headers = [(b"Content-Type", b"text/javascript"), (b"Cache-control", b"public, max-age=100")] + body = u"throw('fox');" + return 200, headers, body diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/charset-2.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/charset-2.html new file mode 100644 index 0000000000..535099b24a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/charset-2.html @@ -0,0 +1,19 @@ + + +CSS modules: UTF-8 decoding + + +
+ + \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/charset-bom.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/charset-bom.html new file mode 100644 index 0000000000..e26ee08d31 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/charset-bom.html @@ -0,0 +1,20 @@ + +CSS Module scripts should ignore BOMs and always use UTF-8 + + + \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/charset.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/charset.html new file mode 100644 index 0000000000..8b72481814 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/charset.html @@ -0,0 +1,37 @@ + + +CSS modules: UTF-8 decoding + + +
+ + + + + \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/content-type-checking.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/content-type-checking.html new file mode 100644 index 0000000000..105c53c40d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/content-type-checking.html @@ -0,0 +1,39 @@ + + +CSS modules: Content-Type + + +
+ + + + + + \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/cors-crossorigin-requests.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/cors-crossorigin-requests.html new file mode 100644 index 0000000000..e699ef927e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/cors-crossorigin-requests.html @@ -0,0 +1,33 @@ + + + + css-module-crossorigin + + + + +

css-module-crossorigin

+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/credentials.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/credentials.sub.html new file mode 100644 index 0000000000..0da573dad2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/credentials.sub.html @@ -0,0 +1,55 @@ + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/css-module-worker-test.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/css-module-worker-test.html new file mode 100644 index 0000000000..7ff672da6a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/css-module-worker-test.html @@ -0,0 +1,54 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html new file mode 100644 index 0000000000..4ea1790aab --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html @@ -0,0 +1,83 @@ + + + + + + +
I am a test div.
+
I am a test div.
+
I am a test div.
+
I am a test div.
+
I am a test div.
+
I am a test div.
+ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-dynamic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-dynamic.html new file mode 100644 index 0000000000..13967858cb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-dynamic.html @@ -0,0 +1,23 @@ + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/integrity.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/integrity.html new file mode 100644 index 0000000000..1dd0dad470 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/integrity.html @@ -0,0 +1,28 @@ + + +<script> integrity="" with CSS modules + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/load-error-events.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/load-error-events.html new file mode 100644 index 0000000000..3457452c93 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/load-error-events.html @@ -0,0 +1,67 @@ + + + +load/error events for CSS modules + + + + + + + + + + \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/referrer-policies.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/referrer-policies.sub.html new file mode 100644 index 0000000000..efa5340715 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/referrer-policies.sub.html @@ -0,0 +1,84 @@ + + + +Referrers with CSS module requests + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/relative-urls.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/relative-urls.html new file mode 100644 index 0000000000..e847671696 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/relative-urls.html @@ -0,0 +1,18 @@ + + + Test resolution of relative URL in CSS module + + + + +
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/atImported.css b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/atImported.css new file mode 100644 index 0000000000..8629a846d1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/atImported.css @@ -0,0 +1,3 @@ +#test3b { + background-color: #FF0000; +} \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/bad-import.css b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/bad-import.css new file mode 100644 index 0000000000..a6e1a0f395 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/bad-import.css @@ -0,0 +1,4 @@ +@import "atImported.css"; +#test3 { + background-color:#00FF00; +} \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/basic-large.css b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/basic-large.css new file mode 100644 index 0000000000..555ab70d2e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/basic-large.css @@ -0,0 +1,7 @@ +#test2 { + background-color:red; +} + +#test:before { + content: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; +} diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/basic.css b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/basic.css new file mode 100644 index 0000000000..e034ed9ac7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/basic.css @@ -0,0 +1,3 @@ +#test { + background-color: #FF0000; +} \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/bom-utf-16be.css b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/bom-utf-16be.css new file mode 100644 index 0000000000..9e17902a1d Binary files /dev/null and b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/bom-utf-16be.css differ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/bom-utf-16le.css b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/bom-utf-16le.css new file mode 100644 index 0000000000..ef90843d8e Binary files /dev/null and b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/bom-utf-16le.css differ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/bom-utf-8.css b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/bom-utf-8.css new file mode 100644 index 0000000000..5cf81232b7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/bom-utf-8.css @@ -0,0 +1 @@ +div { background-color: blue; } \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/credentials-iframe.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/credentials-iframe.sub.html new file mode 100644 index 0000000000..38868dc95d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/credentials-iframe.sub.html @@ -0,0 +1,33 @@ + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/cross-origin.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/cross-origin.py new file mode 100644 index 0000000000..d744fc9514 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/cross-origin.py @@ -0,0 +1,17 @@ +def main(request, response): + + headers = [ + (b"Content-Type", b"text/css"), + (b"Access-Control-Allow-Origin", request.GET.first(b"origin")), + (b"Access-Control-Allow-Credentials", b"true") + ] + + milk = request.cookies.first(b"milk", None) + + # Send back + if milk is None: + return headers, u'.requestDidNotHaveCookies { }' + elif milk.value == b"1": + return headers, u'.requestHadCookies { }' + + return headers, u'.requestDidNotHaveCookies { }' diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/crossorigin-import-parse-error-with-cors.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/crossorigin-import-parse-error-with-cors.sub.html new file mode 100644 index 0000000000..1774ef3675 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/crossorigin-import-parse-error-with-cors.sub.html @@ -0,0 +1,15 @@ + + + + css-module-import-cross-domain-parse-error-WithCORS + + + +

css-module-import-cross-domain-parse-error-WithCORS

+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/crossorigin-import-with-cors.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/crossorigin-import-with-cors.sub.html new file mode 100644 index 0000000000..f02a51d556 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/crossorigin-import-with-cors.sub.html @@ -0,0 +1,15 @@ + + + + css-module-import-cross-domain-WithCORS + + + +

css-module-import-cross-domain-WithCORS

+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/crossorigin-import-without-cors.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/crossorigin-import-without-cors.sub.html new file mode 100644 index 0000000000..6236f79bc8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/crossorigin-import-without-cors.sub.html @@ -0,0 +1,15 @@ + + + + css-module-import-cross-domain-NoCORS + + + +

css-module-import-cross-domain-NoCORS

+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/css-module-without-assertion-iframe.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/css-module-without-assertion-iframe.html new file mode 100644 index 0000000000..3d1be841ce --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/css-module-without-assertion-iframe.html @@ -0,0 +1,22 @@ + + + + + +
+ I am a test div. +
+ \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/integrity-matches.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/integrity-matches.js new file mode 100644 index 0000000000..95be445311 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/integrity-matches.js @@ -0,0 +1,2 @@ +import styleSheet from "./basic.css" assert { type: "css" }; +window.matchesLog.push(`integrity-matches,css:${styleSheet.cssRules[0].cssText}`); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/integrity-mismatches.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/integrity-mismatches.js new file mode 100644 index 0000000000..af6fc24de4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/integrity-mismatches.js @@ -0,0 +1,2 @@ +import styleSheet from "./basic.css" assert { type: "css" }; +window.matchesLog.push(`integrity-mismatches,css:${styleSheet.cssRules[0].cssText}`); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/load-error-events.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/load-error-events.py new file mode 100644 index 0000000000..b61b1ca834 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/load-error-events.py @@ -0,0 +1,14 @@ +import re + +def main(request, response): + headers = [(b"Content-Type", b"text/javascript")] + test = request.GET.first(b'test') + assert(re.match(b'^[a-zA-Z0-9_]+$', test)) + + status = 200 + if test.find(b'_load') >= 0: + content = b'import "./basic.css" assert { type: "css"}; %s.executed = true;' % test + else: + content = b'import "./not_found.css" assert { type: "css"}; %s.test.step(function() { assert_unreached("404 script should not be executed"); });' % test + + return status, headers, content diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/load-relative-url.css b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/load-relative-url.css new file mode 100644 index 0000000000..27f2987610 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/load-relative-url.css @@ -0,0 +1,5 @@ + +#target { + /* image.png doesn't exist, but that's irrelevant to the test. */ + background: url('./image.png'); +} diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/malformed.css b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/malformed.css new file mode 100644 index 0000000000..28819bfdf5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/malformed.css @@ -0,0 +1,7 @@ +#test4 } { + background-color: #FF0000; +} + +#test4b { + background-color: #00FF00; +} diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/parse-error.css b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/parse-error.css new file mode 100644 index 0000000000..2bee3ff996 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/parse-error.css @@ -0,0 +1,2 @@ +div /* Opening bracket skipped intentionally. */ } + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/record-fetch.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/record-fetch.py new file mode 100644 index 0000000000..4928cb4acb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/record-fetch.py @@ -0,0 +1,20 @@ +def main(request, response): + try: + stash_key = request.GET.first(b"key") + action = request.GET.first(b"action") + + run_count = request.server.stash.take(stash_key) + if not run_count: + run_count = 0 + + if action == b"incCount": + request.server.stash.put(stash_key, run_count + 1) + response.headers.set(b"Content-Type", b"text/css") + response.content = b'#test { background-color: #FF0000; }' + elif action == b"getCount": + response.headers.set(b"Content-Type", b"text/json") + response.content = b'{"count": %d }' % run_count + else: + response.set_error(400, u"Invalid action") + except: + response.set_error(400, u"Not enough parameters") diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/referrer-checker.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/referrer-checker.py new file mode 100644 index 0000000000..c1eaed8e46 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/referrer-checker.py @@ -0,0 +1,7 @@ +def main(request, response): + referrer = request.headers.get(b"referer", b"") + response_headers = [(b"Content-Type", b"text/css"), + (b"Access-Control-Allow-Origin", b"*")] + # Put the referrer in a CSS rule that can be read by the importer through CSSOM + return (200, response_headers, + b'.referrer { content: "' + referrer + b'" }') diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/utf-8.css b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/utf-8.css new file mode 100644 index 0000000000..0a8b46656f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/utf-8.css @@ -0,0 +1,3 @@ +#test { + content: "śćążź"; +} \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/windows-1250.css b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/windows-1250.css new file mode 100644 index 0000000000..9beac4d618 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/windows-1250.css @@ -0,0 +1,3 @@ +#test { + content: "�湿�"; +} diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/worker-dynamic-import.sub.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/worker-dynamic-import.sub.js new file mode 100644 index 0000000000..791bd7d3f9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/worker-dynamic-import.sub.js @@ -0,0 +1,3 @@ +import("./record-fetch.py?key={{GET[key]}}&action=incCount", { assert: { type: "css" } }) + .then(() => postMessage("LOADED")) + .catch(e => postMessage("NOT LOADED")); \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/worker.sub.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/worker.sub.js new file mode 100644 index 0000000000..ffee312d21 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/resources/worker.sub.js @@ -0,0 +1,2 @@ +import "./record-fetch.py?key={{GET[key]}}&action=incCount" assert { type: "css" }; +postMessage("Unexpectedly loaded"); \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/script-element-css-src.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/script-element-css-src.html new file mode 100644 index 0000000000..231d02db47 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/script-element-css-src.html @@ -0,0 +1,14 @@ + +<script> with CSS src + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/data-url.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/data-url.html new file mode 100644 index 0000000000..6fad505271 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/data-url.html @@ -0,0 +1,32 @@ + + +Test data URL and scripts errors + + +
+ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/README.md b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/README.md new file mode 100644 index 0000000000..ac5c91c9a2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/README.md @@ -0,0 +1,7 @@ +The tests in this directory is intended for Chromium's DeferAllScript +experiment https://crbug.com/1339112, containing scenarios that would be +affected by DeferAllScript, to monitor the behavior on Chromium and other +browsers. + +The same set of expectations (when async/defer scripts are evaluated) should +already be covered somewhere in WPT. diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/async-script-2.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/async-script-2.html new file mode 100644 index 0000000000..f7377d847a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/async-script-2.html @@ -0,0 +1,40 @@ + +Async Script Execution Order + + + + + + + + + + + + + +
End
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/async-script.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/async-script.html new file mode 100644 index 0000000000..dea7f987bf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/async-script.html @@ -0,0 +1,22 @@ + +Async Script Execution Order + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/defer-script-xml.xhtml b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/defer-script-xml.xhtml new file mode 100644 index 0000000000..9d02ff39f5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/defer-script-xml.xhtml @@ -0,0 +1,40 @@ + + + + Defer Script Execution Order + + + + + +
+ + + + + + + + +
End
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/defer-script.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/defer-script.html new file mode 100644 index 0000000000..62c3a74014 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/defer-script.html @@ -0,0 +1,37 @@ + +Defer Script Execution Order + + + + + + + + + + + + + + + +
End
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/document-write.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/document-write.html new file mode 100644 index 0000000000..63e251bae5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/document-write.html @@ -0,0 +1,67 @@ + +DeferAllScript: document.write() + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/async-script-1.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/async-script-1.js new file mode 100644 index 0000000000..267f324aa6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/async-script-1.js @@ -0,0 +1 @@ +logScript("Async1"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/defer-script-1.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/defer-script-1.js new file mode 100644 index 0000000000..1a0524f4fb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/defer-script-1.js @@ -0,0 +1 @@ +logScript("Defer1"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/defer-script-2.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/defer-script-2.js new file mode 100644 index 0000000000..d644e37f18 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/defer-script-2.js @@ -0,0 +1 @@ +logScript("Defer2"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-open-write-close.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-open-write-close.js new file mode 100644 index 0000000000..80703d5c0e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-open-write-close.js @@ -0,0 +1,3 @@ +document.open(); +document.write(``); +document.close(); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-open-write.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-open-write.js new file mode 100644 index 0000000000..178c374df6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-open-write.js @@ -0,0 +1,2 @@ +document.open(); +document.write(``); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-write-close.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-write-close.js new file mode 100644 index 0000000000..7cdde0d78f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-write-close.js @@ -0,0 +1,2 @@ +document.write(``); +document.close(); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-write-iframe.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-write-iframe.sub.html new file mode 100644 index 0000000000..e3022e3bf1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-write-iframe.sub.html @@ -0,0 +1,14 @@ + + + + + + + + +
End
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-write.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-write.js new file mode 100644 index 0000000000..413a9bc621 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/document-write.js @@ -0,0 +1 @@ +document.write(``); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/helper.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/helper.js new file mode 100644 index 0000000000..89c6d1e828 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/helper.js @@ -0,0 +1,17 @@ +window.result = []; +function log(msg) { + window.result.push(msg); +} +function checkIfReachedBodyEnd() { + const endelement = document.getElementById("bodyend"); + // `
End
` is needed at the end of HTML. + if (endelement && endelement.textContent === "End") { + log("EndOfBody"); + endelement.textContent = "Detected"; + } +} +function logScript(msg) { + checkIfReachedBodyEnd(); + log(msg); +} +document.addEventListener("DOMContentLoaded", function() { logScript("DOMContentLoaded"); }); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/sync-script-1.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/sync-script-1.js new file mode 100644 index 0000000000..726b56346e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/sync-script-1.js @@ -0,0 +1 @@ +logScript("Sync1"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/sync-script-2.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/sync-script-2.js new file mode 100644 index 0000000000..ba2edfbf27 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/resources/sync-script-2.js @@ -0,0 +1 @@ +logScript("Sync2"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/support/async-script.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/support/async-script.html new file mode 100644 index 0000000000..d513bafe4f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/support/async-script.html @@ -0,0 +1,44 @@ + +Child Async Script Execution Order + + + + + + + + + + + + + +
End
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer.js new file mode 100644 index 0000000000..c4449ca7c8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer.js @@ -0,0 +1,4 @@ +t.step(() => { + assert_equals(script_run_status, "deferred", "the script run status"); +}); +t.done(); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/emptyish-script-elements.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/emptyish-script-elements.html new file mode 100644 index 0000000000..37f4a87c95 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/emptyish-script-elements.html @@ -0,0 +1,75 @@ + + +Treatment of various empty-ish script elements + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/001.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/001.html new file mode 100644 index 0000000000..3f54f764f9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/001.html @@ -0,0 +1,27 @@ + + + scheduler: inline in markup + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/002.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/002.html new file mode 100644 index 0000000000..df7ca95799 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/002.html @@ -0,0 +1,27 @@ + + + scheduler: external in markup + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/003.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/003.html new file mode 100644 index 0000000000..9c23b7e715 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/003.html @@ -0,0 +1,27 @@ + + + scheduler: inline+external in markup + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/004.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/004.html new file mode 100644 index 0000000000..a21dd388eb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/004.html @@ -0,0 +1,25 @@ + + + scheduler: external+inline in markup + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/005.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/005.html new file mode 100644 index 0000000000..ff4a66d25e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/005.html @@ -0,0 +1,27 @@ + + + scheduler: document.write inline in markup + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/006.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/006.html new file mode 100644 index 0000000000..b8785a60c6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/006.html @@ -0,0 +1,30 @@ + + + scheduler: document.write inline - multiple + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/007.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/007.html new file mode 100644 index 0000000000..edd9920757 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/007.html @@ -0,0 +1,27 @@ + + + scheduler: document.write external + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/008.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/008.html new file mode 100644 index 0000000000..dce763987f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/008.html @@ -0,0 +1,28 @@ + + + scheduler: document.write external - multiple + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/009.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/009.html new file mode 100644 index 0000000000..9d5b2de081 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/009.html @@ -0,0 +1,29 @@ + + + scheduler: document.write external - multiple with doc.write + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/010.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/010.html new file mode 100644 index 0000000000..69a462c301 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/010.html @@ -0,0 +1,29 @@ + + + scheduler: document.write external + inline - multiple with doc.write + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/011.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/011.html new file mode 100644 index 0000000000..33024ba59e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/011.html @@ -0,0 +1,30 @@ + + + scheduler: document.write external + inline - multiple with doc.write + subsequent markup + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/012.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/012.html new file mode 100644 index 0000000000..01c9293b20 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/012.html @@ -0,0 +1,30 @@ + + + scheduler: document.write external and onload events + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/013.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/013.html new file mode 100644 index 0000000000..09616a67d4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/013.html @@ -0,0 +1,28 @@ + + + scheduler: DOM added inline script earlier in document + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/014.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/014.html new file mode 100644 index 0000000000..41c90a3421 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/014.html @@ -0,0 +1,28 @@ + + + scheduler: SCRIPT elements that move themselves in DOM + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/015.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/015.html new file mode 100644 index 0000000000..1fa67e22ed --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/015.html @@ -0,0 +1,34 @@ + + + scheduler: DOM added inline+external+inline script earlier in document + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/015a.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/015a.html new file mode 100644 index 0000000000..94763c3542 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/015a.html @@ -0,0 +1,31 @@ + + + scheduler: DOM added inline+external+inline script earlier in document + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/016.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/016.html new file mode 100644 index 0000000000..1149dcc752 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/016.html @@ -0,0 +1,28 @@ + + + scheduler: DOM added inline script later in document + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/017.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/017.html new file mode 100644 index 0000000000..66675bcf11 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/017.html @@ -0,0 +1,33 @@ + + + scheduler: multiple DOM added scripts later in document + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/018.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/018.html new file mode 100644 index 0000000000..5a349bf556 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/018.html @@ -0,0 +1,35 @@ + + + scheduler: DOM added scripts and doc.write + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/019.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/019.html new file mode 100644 index 0000000000..64ee4f1c52 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/019.html @@ -0,0 +1,31 @@ + + + scheduler: DOM added scripts and event handling + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/020.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/020.html new file mode 100644 index 0000000000..7d8f953e40 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/020.html @@ -0,0 +1,28 @@ + + + scheduler: DOM added script with data: URL + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/021.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/021.html new file mode 100644 index 0000000000..34fdc95cb1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/021.html @@ -0,0 +1,28 @@ + + + scheduler: DOM added script with javascript: URL + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/022.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/022.html new file mode 100644 index 0000000000..ccbcb347dc --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/022.html @@ -0,0 +1,30 @@ + + + scheduler: DOM added script, late .src + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/023.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/023.html new file mode 100644 index 0000000000..dc687ffe4d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/023.html @@ -0,0 +1,30 @@ + + + scheduler: DOM added script, even later .src + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/024.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/024.html new file mode 100644 index 0000000000..ee807b56f9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/024.html @@ -0,0 +1,32 @@ + + + scheduler: DOM added script, .src set twice + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/025.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/025.html new file mode 100644 index 0000000000..05c6a97284 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/025.html @@ -0,0 +1,30 @@ + + + scheduler: DOM added script, .src set on script with content + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/026.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/026.html new file mode 100644 index 0000000000..34110ff5ba --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/026.html @@ -0,0 +1,33 @@ + + + scheduler: doc write added script, .src set later + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/027.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/027.html new file mode 100644 index 0000000000..e9fbe7f15c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/027.html @@ -0,0 +1,30 @@ + + + scheduler: doc write added script with content, .src set later + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/028.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/028.html new file mode 100644 index 0000000000..e383d4f1a6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/028.html @@ -0,0 +1,29 @@ + + + scheduler: javascript: URL + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/030.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/030.html new file mode 100644 index 0000000000..f01c257e0d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/030.html @@ -0,0 +1,39 @@ + + + scheduler: javascript: URL in HREF, onclick handler + + + + + + +
FAILED (This TC requires JavaScript enabled)
+

+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/031.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/031.html new file mode 100644 index 0000000000..3ddb36ab8d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/031.html @@ -0,0 +1,30 @@ + + + scheduler: focus and blur events + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/032.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/032.html new file mode 100644 index 0000000000..da3969740c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/032.html @@ -0,0 +1,29 @@ + + + scheduler: innerHTML and scripts + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/033.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/033.html new file mode 100644 index 0000000000..5c41effcde --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/033.html @@ -0,0 +1,35 @@ + + + scheduler: innerHTML and scripts moved in DOM + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/034.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/034.html new file mode 100644 index 0000000000..13664253a2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/034.html @@ -0,0 +1,28 @@ + + + scheduler: innerHTML adding frames with JS in + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/035.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/035.html new file mode 100644 index 0000000000..406c3c548f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/035.html @@ -0,0 +1,34 @@ + + + scheduler: innerHTML adding frames with JS in and moving scripts + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/036.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/036.html new file mode 100644 index 0000000000..113541dab9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/036.html @@ -0,0 +1,34 @@ + + + scheduler: DOM cloning + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/037.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/037.html new file mode 100644 index 0000000000..15bd8a96e0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/037.html @@ -0,0 +1,33 @@ + + + scheduler: DOM movement with appendChild, inline + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/038.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/038.html new file mode 100644 index 0000000000..db6cec3520 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/038.html @@ -0,0 +1,34 @@ + + + scheduler: DOM movement with appendChild, external + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/039.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/039.html new file mode 100644 index 0000000000..3720e24866 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/039.html @@ -0,0 +1,39 @@ + + + scheduler: IFRAMEs added with DOM + + + + + +
FAILED (This TC requires JavaScript enabled)
+
+ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/040.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/040.html new file mode 100644 index 0000000000..3cdf87f07b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/040.html @@ -0,0 +1,34 @@ + + + scheduler: IFRAMEs added with DOM (innerHTML), javascript: URL + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/041.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/041.html new file mode 100644 index 0000000000..bce7041185 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/041.html @@ -0,0 +1,29 @@ + + + scheduler: document.write scripts that write scripts + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/042.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/042.html new file mode 100644 index 0000000000..df3a2f88f2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/042.html @@ -0,0 +1,29 @@ + + + scheduler: DOM mutation events when adding scripts: DOMNodeInserted + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/043.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/043.html new file mode 100644 index 0000000000..bcfd90cba4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/043.html @@ -0,0 +1,31 @@ + + + scheduler: DOM mutation events when adding external scripts: DOMNodeInserted + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/044.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/044.html new file mode 100644 index 0000000000..8d412079e4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/044.html @@ -0,0 +1,28 @@ + + + scheduler: DOM mutation events when adding scripts: DOMNodeInsertedIntoDocument + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/045.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/045.html new file mode 100644 index 0000000000..254e0d1366 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/045.html @@ -0,0 +1,28 @@ + + + scheduler: DOM mutation events when adding external scripts: DOMNodeInsertedIntoDocument + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/046.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/046.html new file mode 100644 index 0000000000..4f145d63e1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/046.html @@ -0,0 +1,27 @@ + + + scheduler: no readystatechange events when adding external scripts + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/047.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/047.html new file mode 100644 index 0000000000..88509e9d43 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/047.html @@ -0,0 +1,28 @@ + + + scheduler: adding and removing external script + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/048.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/048.html new file mode 100644 index 0000000000..8879f035d3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/048.html @@ -0,0 +1,28 @@ + + + scheduler: adding inline script which sets its own .src + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/049.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/049.html new file mode 100644 index 0000000000..455a20c549 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/049.html @@ -0,0 +1,28 @@ + + + scheduler: adding external script but removeAttribute( src ) before it runs + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/050.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/050.html new file mode 100644 index 0000000000..a400749f18 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/050.html @@ -0,0 +1,50 @@ + + + scheduler: adding external script that removes all scripts from document + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/051.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/051.html new file mode 100644 index 0000000000..a0b674304f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/051.html @@ -0,0 +1,29 @@ + + + scheduler: interaction of parsing and script execution - script added through DOM + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/052.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/052.html new file mode 100644 index 0000000000..21a151cb79 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/052.html @@ -0,0 +1,26 @@ + + + scheduler: interaction of parsing and script execution - external script + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/053.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/053.html new file mode 100644 index 0000000000..810197437d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/053.html @@ -0,0 +1,31 @@ + + + scheduler: adding external script that removes itself from document when loading + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/054.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/054.html new file mode 100644 index 0000000000..29ede23414 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/054.html @@ -0,0 +1,33 @@ + + + scheduler: removing newly inserted script from DOMNodeInserted handler - external script + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/055.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/055.html new file mode 100644 index 0000000000..c837d78174 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/055.html @@ -0,0 +1,32 @@ + + + scheduler: removing newly inserted script from DOMNodeInserted handler - inline script + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/056.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/056.html new file mode 100644 index 0000000000..e2d0868034 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/056.html @@ -0,0 +1,30 @@ + + + scheduler: appending code to initially empty SCRIPT tag in DOM + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/057.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/057.html new file mode 100644 index 0000000000..4dc8e1384e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/057.html @@ -0,0 +1,31 @@ + + + scheduler: appending code to initially non-empty SCRIPT tag in DOM (whitespace only) + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/058.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/058.html new file mode 100644 index 0000000000..15deb785c2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/058.html @@ -0,0 +1,29 @@ + + + scheduler: appending code to initially non-empty SCRIPT tag in DOM (comment only) + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/059.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/059.html new file mode 100644 index 0000000000..b3a34367b2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/059.html @@ -0,0 +1,30 @@ + + + scheduler: appending code to initially non-empty SCRIPT tag in DOM after removing its initial child + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/060.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/060.html new file mode 100644 index 0000000000..905dfe233f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/060.html @@ -0,0 +1,32 @@ + + + scheduler: appending code to initially non-empty SCRIPT tag in DOM after setting textContent/innerHTML + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/061.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/061.html new file mode 100644 index 0000000000..9950b1c7ac --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/061.html @@ -0,0 +1,29 @@ + + + scheduler: cloneNode and script execution + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/062.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/062.html new file mode 100644 index 0000000000..c5e0ee2d46 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/062.html @@ -0,0 +1,29 @@ + + + scheduler: cloneNode (shallow) and script execution + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/063.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/063.html new file mode 100644 index 0000000000..6824074a8c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/063.html @@ -0,0 +1,30 @@ + + + scheduler: cloneNode (deep) of the currently executing script + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/064.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/064.html new file mode 100644 index 0000000000..ceedc3da2d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/064.html @@ -0,0 +1,29 @@ + + + scheduler: cloneNode with external script + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/065.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/065.html new file mode 100644 index 0000000000..5859dc9e0b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/065.html @@ -0,0 +1,30 @@ + + + scheduler: cloneNode with external script, changed .src + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/066.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/066.html new file mode 100644 index 0000000000..a8e346dfd8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/066.html @@ -0,0 +1,31 @@ + + + scheduler: cloneNode with external script, removing .src and adding content + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/067.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/067.html new file mode 100644 index 0000000000..7be0fd0ab0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/067.html @@ -0,0 +1,38 @@ + + + scheduler: is a script with syntax error marked as "has run"? + + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/068.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/068.html new file mode 100644 index 0000000000..a58158b6c0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/068.html @@ -0,0 +1,31 @@ + + + scheduler: external script and parsing of markup added with document.write + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/069.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/069.html new file mode 100644 index 0000000000..4d4aed2658 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/069.html @@ -0,0 +1,33 @@ + + + scheduler: external files added through DOM should not block further parsing while loading + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+

+ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/070.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/070.html new file mode 100644 index 0000000000..4b82a9e83f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/070.html @@ -0,0 +1,48 @@ + + + scheduler: document.write into IFRAME a script that adds a SCRIPT through DOM + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/071.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/071.html new file mode 100644 index 0000000000..802c4a8ce3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/071.html @@ -0,0 +1,55 @@ + + + scheduler: document.write several scripts into IFRAME + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/072.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/072.html new file mode 100644 index 0000000000..e502a35736 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/072.html @@ -0,0 +1,50 @@ + + + scheduler: document.write into IFRAME a script that creates new inline script in parent + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/073.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/073.html new file mode 100644 index 0000000000..6f65c4ae19 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/073.html @@ -0,0 +1,52 @@ + + + scheduler: document.write into IFRAME a script that creates new external script in parent + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/074.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/074.html new file mode 100644 index 0000000000..70d7b88b74 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/074.html @@ -0,0 +1,49 @@ + + + scheduler: document.write into IFRAME a script that creates new inline script in parent that again adds script to IFRAME + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/075.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/075.html new file mode 100644 index 0000000000..40ec9bbb6a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/075.html @@ -0,0 +1,42 @@ + + + + dispatchEvent from child frame during document.write :-o + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/076.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/076.html new file mode 100644 index 0000000000..2b8b692d92 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/076.html @@ -0,0 +1,32 @@ + + + scheduler: adding and removing external and inline scripts + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/077.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/077.html new file mode 100644 index 0000000000..dbcd16bea5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/077.html @@ -0,0 +1,41 @@ + + + + adding several types of scripts through the DOM and removing some of them confuses scheduler + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/078.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/078.html new file mode 100644 index 0000000000..da4db4a2e6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/078.html @@ -0,0 +1,44 @@ + + + + adding several types of scripts through the DOM and removing some of them confuses scheduler (slow-loading scripts) + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/079.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/079.html new file mode 100644 index 0000000000..8d684cebf2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/079.html @@ -0,0 +1,28 @@ + + + + setting location to javascript URL from event handler + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/081.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/081.html new file mode 100644 index 0000000000..1b9bc991c6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/081.html @@ -0,0 +1,31 @@ + + + scheduler: slow loading external script added with DOM (appendChild) + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/082.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/082.html new file mode 100644 index 0000000000..3e88fc73d4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/082.html @@ -0,0 +1,35 @@ + + + scheduler: multiple slow loading external scripts added with DOM (appendChild) + + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
+ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/083.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/083.html new file mode 100644 index 0000000000..2ac0015c8b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/083.html @@ -0,0 +1,48 @@ + + + scheduler: event listener defined by script in a document in history + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/084.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/084.html new file mode 100644 index 0000000000..3027fa1994 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/084.html @@ -0,0 +1,47 @@ + + + scheduler: event listener defined by script in a removed IFRAME + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/085.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/085.html new file mode 100644 index 0000000000..6577527a8e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/085.html @@ -0,0 +1,24 @@ + + + scheduler: async script and slow-loading defer script + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/086.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/086.html new file mode 100644 index 0000000000..4ccd16de89 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/086.html @@ -0,0 +1,24 @@ + + + scheduler: async script and slow-loading async script + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/087.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/087.html new file mode 100644 index 0000000000..8e225f48ae --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/087.html @@ -0,0 +1,24 @@ + + + scheduler: multiple defer scripts, one slow loading + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/088.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/088.html new file mode 100644 index 0000000000..f41f3d5be2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/088.html @@ -0,0 +1,24 @@ + + + scheduler: multiple scripts with defer and async attributes + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/089.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/089.html new file mode 100644 index 0000000000..9ed5e0e1da --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/089.html @@ -0,0 +1,34 @@ + + + scheduler: async attribute on inline script + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/090.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/090.html new file mode 100644 index 0000000000..17d1d1effe --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/090.html @@ -0,0 +1,34 @@ + + + scheduler: defer attribute on inline script + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/091.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/091.html new file mode 100644 index 0000000000..f706cd31f5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/091.html @@ -0,0 +1,31 @@ + + + scheduler: force-async off on non-parser-inserted script + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/092.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/092.html new file mode 100644 index 0000000000..40fda5a0c0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/092.html @@ -0,0 +1,26 @@ + + + scheduler: defer script and slow-loading non-async external script + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/094.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/094.html new file mode 100644 index 0000000000..cc9d1bf0fb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/094.html @@ -0,0 +1,23 @@ + + + scheduler: parser-created defer script after document load + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/095.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/095.html new file mode 100644 index 0000000000..5e3b388cf1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/095.html @@ -0,0 +1,24 @@ + + + scheduler: slow-loading script added from defer blocking load event + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/096.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/096.html new file mode 100644 index 0000000000..a2e15b782a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/096.html @@ -0,0 +1,30 @@ + + + scheduler: defer script added from document.write relative to DOMContentLoaded + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/097.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/097.html new file mode 100644 index 0000000000..a31d49e5b0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/097.html @@ -0,0 +1,29 @@ + + + scheduler: slow-loading async script added from document.write + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/099.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/099.html new file mode 100644 index 0000000000..987fcc7c71 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/099.html @@ -0,0 +1,19 @@ + + + scheduler: defer adding iframe containing script + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/101.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/101.html new file mode 100644 index 0000000000..b868f9a447 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/101.html @@ -0,0 +1,35 @@ + + + scheduler: defer script after initial onload event + + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/102.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/102.html new file mode 100644 index 0000000000..439023833f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/102.html @@ -0,0 +1,24 @@ + + + scheduler: defer script after initial onload event + + +
FAILED (This TC requires JavaScript enabled)
+ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/103.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/103.html new file mode 100644 index 0000000000..f619472a4f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/103.html @@ -0,0 +1,39 @@ + + + scheduler: removing defer attribute at runtime + + + + + + +
+
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/104.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/104.html new file mode 100644 index 0000000000..95a5a22237 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/104.html @@ -0,0 +1,39 @@ + + + scheduler: adding defer attribute at runtime + + + + + + +
+
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/105.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/105.html new file mode 100644 index 0000000000..19be9e1d03 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/105.html @@ -0,0 +1,31 @@ + + + scheduler: adding async attribute at runtime + + + + + +
FAILED (This TC requires JavaScript enabled)
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-defer-import.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-defer-import.html new file mode 100644 index 0000000000..451e218ef7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-defer-import.html @@ -0,0 +1,14 @@ + + + scheduler: stylesheets blocking defer scripts + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
Test
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-defer-noimport.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-defer-noimport.html new file mode 100644 index 0000000000..704b880bcf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-defer-noimport.html @@ -0,0 +1,14 @@ + + + scheduler: stylesheets blocking defer scripts + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
Test
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-external-import.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-external-import.html new file mode 100644 index 0000000000..4fe526a274 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-external-import.html @@ -0,0 +1,14 @@ + + + scheduler: stylesheets blocking external parser-blocking scripts + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
Test
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-external-module-import.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-external-module-import.html new file mode 100644 index 0000000000..ea873746e0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-external-module-import.html @@ -0,0 +1,14 @@ + + + scheduler: stylesheets blocking external module scripts + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
Test
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-external-module-noimport.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-external-module-noimport.html new file mode 100644 index 0000000000..71c59fb4d6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-external-module-noimport.html @@ -0,0 +1,14 @@ + + + scheduler: stylesheets blocking external module scripts + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
Test
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-external-noimport.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-external-noimport.html new file mode 100644 index 0000000000..3694481b86 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-external-noimport.html @@ -0,0 +1,14 @@ + + + scheduler: stylesheets blocking external parser-blocking scripts + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
Test
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-import-xhtml.xhtml b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-import-xhtml.xhtml new file mode 100644 index 0000000000..3b2e8b5296 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-import-xhtml.xhtml @@ -0,0 +1,20 @@ + + + + Stylesheet in XHTML HEAD with @import blocking scripts + + + + + + + +
Test
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-import.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-import.html new file mode 100644 index 0000000000..b8afeda135 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-import.html @@ -0,0 +1,19 @@ + + + scheduler: stylesheets blocking scripts + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
Test
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-module-import.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-module-import.html new file mode 100644 index 0000000000..d3f02ffd19 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-module-import.html @@ -0,0 +1,19 @@ + + + scheduler: stylesheets blocking module scripts + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
Test
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-module-noimport.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-module-noimport.html new file mode 100644 index 0000000000..83cd29f267 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-module-noimport.html @@ -0,0 +1,19 @@ + + + scheduler: stylesheets blocking module scripts + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
Test
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-noimport-xhtml.xhtml b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-noimport-xhtml.xhtml new file mode 100644 index 0000000000..1cae3c9965 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-noimport-xhtml.xhtml @@ -0,0 +1,20 @@ + + + + Stylesheet in XHTML HEAD blocking scripts + + + + + + + +
Test
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-noimport.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-noimport.html new file mode 100644 index 0000000000..bd8ec8633e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/106-noimport.html @@ -0,0 +1,19 @@ + + + scheduler: stylesheets blocking scripts + + + + + + +
FAILED (This TC requires JavaScript enabled)
+
Test
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/107-import.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/107-import.html new file mode 100644 index 0000000000..0b572b0724 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/107-import.html @@ -0,0 +1,21 @@ + + + scheduler: stylesheets blocking scripts document.write + + + + + +
FAILED (This TC requires JavaScript enabled)
+
Test
+ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/107-noimport.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/107-noimport.html new file mode 100644 index 0000000000..ce57d1f1c5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/107-noimport.html @@ -0,0 +1,21 @@ + + + scheduler: stylesheets blocking scripts document.write + + + + + +
FAILED (This TC requires JavaScript enabled)
+
Test
+ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/108.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/108.html new file mode 100644 index 0000000000..79be9721d2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/108.html @@ -0,0 +1,25 @@ + + + scheduler: javascript URL in iframe + + + + + +
Not tested
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/109.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/109.html new file mode 100644 index 0000000000..d103ffcbd7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/109.html @@ -0,0 +1,29 @@ + + + scheduler: javascript URL in iframe, src set via DOM + + + + + +
Not tested
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/110.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/110.html new file mode 100644 index 0000000000..5affb9ed23 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/110.html @@ -0,0 +1,30 @@ + + + scheduler: removing defer script at runtime + + + + + + +
+
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/111.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/111.html new file mode 100644 index 0000000000..c932a7b95c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/111.html @@ -0,0 +1,33 @@ + + + scheduler: removing async attribute at runtime + + + + + + + +
+
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/112.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/112.html new file mode 100644 index 0000000000..a0cc647e0d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/112.html @@ -0,0 +1,30 @@ + + + scheduler: removing async attribute at runtime, script also has defer attribute + + + + + + + +
+
FAILED (This TC requires JavaScript enabled)
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/113.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/113.html new file mode 100644 index 0000000000..32740be37e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/113.html @@ -0,0 +1,31 @@ + + + scheduler: Altering DOM using innerHTML during parse + + + + + + +
+
FAILED (This TC requires JavaScript enabled)
+ + +
+ + +
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/114.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/114.html new file mode 100644 index 0000000000..ce3733208b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/114.html @@ -0,0 +1,26 @@ + + + scheduler: Changing src of defer script before it runs + + + + + + +
+
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/115.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/115.html new file mode 100644 index 0000000000..6234e02020 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/115.html @@ -0,0 +1,26 @@ + + + scheduler: Removing src of defer script before it runs + + + + + + +
+
FAILED (This TC requires JavaScript enabled)
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/116.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/116.html new file mode 100644 index 0000000000..62da398868 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/116.html @@ -0,0 +1,24 @@ + + + scheduler: adding script to head of frameset document + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/117.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/117.html new file mode 100644 index 0000000000..46a9900c94 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/117.html @@ -0,0 +1,25 @@ + + + scheduler: inline script created with createContextualFragment + + + + +
+ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/118.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/118.html new file mode 100644 index 0000000000..e002ea9601 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/118.html @@ -0,0 +1,25 @@ + + + scheduler: external script created with createContextualFragment + + + + +
+ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/119.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/119.html new file mode 100644 index 0000000000..d1ed823093 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/119.html @@ -0,0 +1,31 @@ + + + scheduler: external defer script created with createContextualFragment + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/120.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/120.html new file mode 100644 index 0000000000..2cfe5221dd --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/120.html @@ -0,0 +1,17 @@ + + + scheduler: script created without a window + + + +
+ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/121.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/121.html new file mode 100644 index 0000000000..d6de27025f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/121.html @@ -0,0 +1,17 @@ + + + scheduler: altering the type attribute + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/122.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/122.html new file mode 100644 index 0000000000..a8994c6aeb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/122.html @@ -0,0 +1,28 @@ + + + scheduler: altering the type attribute and adding/removing external script + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/123.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/123.html new file mode 100644 index 0000000000..dc145eb550 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/123.html @@ -0,0 +1,28 @@ + + + scheduler: altering the type attribute and adding/removing external script with async=false + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/124.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/124.html new file mode 100644 index 0000000000..5c7208dfde --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/124.html @@ -0,0 +1,25 @@ + + + scheduler: altering the type attribute and changing script data inline script + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/125.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/125.html new file mode 100644 index 0000000000..5074f2a107 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/125.html @@ -0,0 +1,28 @@ + + + scheduler: altering the type attribute and changing script data external script + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/126.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/126.html new file mode 100644 index 0000000000..1b2bb17634 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/126.html @@ -0,0 +1,29 @@ + + + scheduler: altering the type attribute and changing script data external script async=false + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/127.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/127.html new file mode 100644 index 0000000000..149078a327 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/127.html @@ -0,0 +1,34 @@ + + + scheduler: appending non-text children to script + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/128.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/128.html new file mode 100644 index 0000000000..39ec24f681 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/128.html @@ -0,0 +1,34 @@ + + + scheduler: appending script element to script + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/129.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/129.html new file mode 100644 index 0000000000..8c12735677 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/129.html @@ -0,0 +1,40 @@ + + + scheduler: appending multiple script elements + + + + +
+ +
+ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/130.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/130.html new file mode 100644 index 0000000000..c6643d9fdf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/130.html @@ -0,0 +1,34 @@ + + + scheduler: appending external script element to script + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/131.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/131.html new file mode 100644 index 0000000000..541483ed6b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/131.html @@ -0,0 +1,22 @@ + + + scheduler: inline svg script + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/132.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/132.html new file mode 100644 index 0000000000..3edb959594 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/132.html @@ -0,0 +1,22 @@ + + + scheduler: external svg script + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/133.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/133.html new file mode 100644 index 0000000000..e6b327f709 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/133.html @@ -0,0 +1,29 @@ + + + scheduler: inline HTML script added by SVG script + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/134.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/134.html new file mode 100644 index 0000000000..bb2ad4f66b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/134.html @@ -0,0 +1,28 @@ + + + scheduler: external HTML script added by SVG script + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/135.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/135.html new file mode 100644 index 0000000000..dd8b895218 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/135.html @@ -0,0 +1,28 @@ + + + scheduler: external SVG script added by SVG script + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/136.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/136.html new file mode 100644 index 0000000000..b08a8b9798 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/136.html @@ -0,0 +1,33 @@ + + + scheduler: DOM added external SVG script, force-async? + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/137.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/137.html new file mode 100644 index 0000000000..35a49b806d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/137.html @@ -0,0 +1,21 @@ + + + scheduler: SVG script empty xlink:href + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/138.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/138.html new file mode 100644 index 0000000000..0ff25471e0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/138.html @@ -0,0 +1,30 @@ + + + scheduler: SVG script nested inlines + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/139.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/139.html new file mode 100644 index 0000000000..7bb703d8a2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/139.html @@ -0,0 +1,30 @@ + + + scheduler: SVG script nested external in inline + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/140.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/140.html new file mode 100644 index 0000000000..9b54d09d58 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/140.html @@ -0,0 +1,24 @@ + + + scheduler: SVG script nested inline in external + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/141.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/141.html new file mode 100644 index 0000000000..54aa3f3686 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/141.html @@ -0,0 +1,26 @@ + + + scheduler: SVG inline script that document.writes inline script + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/142.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/142.html new file mode 100644 index 0000000000..d314eddb90 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/142.html @@ -0,0 +1,27 @@ + + + scheduler: SVG inline script that document.writes external script + + + + +
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/143.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/143.html new file mode 100644 index 0000000000..a0d9012f68 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/143.html @@ -0,0 +1,31 @@ + + + scheduler: SVG nested inline script that document.writes inline script + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/144.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/144.html new file mode 100644 index 0000000000..3962c4d692 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/144.html @@ -0,0 +1,28 @@ + + + scheduler: SVG inline script changing the type attribute + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/145.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/145.html new file mode 100644 index 0000000000..9e2d73bafc --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/145.html @@ -0,0 +1,24 @@ + + + scheduler: SVG inline script adding text to empty script + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/146-href.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/146-href.html new file mode 100644 index 0000000000..6c0869db54 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/146-href.html @@ -0,0 +1,22 @@ + + + scheduler: SVG script adding src attribute + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/146.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/146.html new file mode 100644 index 0000000000..333ac3fa0f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/146.html @@ -0,0 +1,23 @@ + + + scheduler: SVG script adding src attribute + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/147.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/147.html new file mode 100644 index 0000000000..07dc4d97c9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/147.html @@ -0,0 +1,40 @@ + + + scheduler: insert multiple inline scripts; first script moves subsequent scripts + + + + + +
+ +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/148.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/148.html new file mode 100644 index 0000000000..e2da8e8f0b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/148.html @@ -0,0 +1,40 @@ + + + scheduler: insert multiple inline scripts; first script deletes subsequent script + + + + + +
+ +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/149.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/149.html new file mode 100644 index 0000000000..40594d8048 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/149.html @@ -0,0 +1,59 @@ + + + scheduler: event/for attribute on script + + + + + +
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/150-import-xhtml.xhtml b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/150-import-xhtml.xhtml new file mode 100644 index 0000000000..d6144795db --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/150-import-xhtml.xhtml @@ -0,0 +1,21 @@ + + + + Stylesheet in XHTML BODY with @import blocking scripts + + + + + +
FAILED (This TC requires JavaScript enabled)
+
Test
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/150-import.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/150-import.html new file mode 100644 index 0000000000..40223ed104 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/150-import.html @@ -0,0 +1,20 @@ + + + + Stylesheet in BODY with @import blocking scripts + + + + + +
Test
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/150-noimport-xhtml.xhtml b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/150-noimport-xhtml.xhtml new file mode 100644 index 0000000000..fa587a2ddb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/150-noimport-xhtml.xhtml @@ -0,0 +1,20 @@ + + + + Stylesheet in XHTML BODY blocking scripts + + + + + +
Test
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/150-noimport.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/150-noimport.html new file mode 100644 index 0000000000..b5829d4da5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/150-noimport.html @@ -0,0 +1,20 @@ + + + + Stylesheet in BODY blocking scripts + + + + + +
Test
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/css/background.css b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/css/background.css new file mode 100644 index 0000000000..86a155b811 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/css/background.css @@ -0,0 +1 @@ +#test {position:fixed} \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/css/import.css b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/css/import.css new file mode 100644 index 0000000000..d1664c29a1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/css/import.css @@ -0,0 +1 @@ +@import url("background.css") \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/non-external-no-import.tentative.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/non-external-no-import.tentative.html new file mode 100644 index 0000000000..50836e0d7b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/non-external-no-import.tentative.html @@ -0,0 +1,27 @@ + + + + Module scripts with no imports always execute asynchronously + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/pages/helloworld-postMessage.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/pages/helloworld-postMessage.html new file mode 100644 index 0000000000..2ed8731ceb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/pages/helloworld-postMessage.html @@ -0,0 +1,19 @@ + + + TC component + + + +

This page should appear in popup or frame

+ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/pages/helloworld.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/pages/helloworld.html new file mode 100644 index 0000000000..271bc8f569 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/pages/helloworld.html @@ -0,0 +1,15 @@ + + + TC component + + + +

This page should appear in popup or frame

+ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/check-style-sheet.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/check-style-sheet.js new file mode 100644 index 0000000000..cbab154f5a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/check-style-sheet.js @@ -0,0 +1,4 @@ +test(function() { + assert_equals(getComputedStyle(document.getElementById("test")).position, + "fixed"); +}); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/count-script-tags.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/count-script-tags.js new file mode 100644 index 0000000000..8fba4ecb3c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/count-script-tags.js @@ -0,0 +1 @@ +log('script tags in DOM: '+document.getElementsByTagName('script').length); \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/find-body.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/find-body.js new file mode 100644 index 0000000000..1ce198f13e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/find-body.js @@ -0,0 +1,4 @@ +log( + 'document.body: ' + + (document.body ? '<' + document.body.localName.toUpperCase() + '>' : null)); +var findBodyLoaded=true; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/find-foo.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/find-foo.js new file mode 100644 index 0000000000..52d0ec91cb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/find-foo.js @@ -0,0 +1,2 @@ +log('found #foo element: ' + ( document.getElementById('foo') ? 'YES' : 'NO' )); +var findFooLoaded=true; \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-1.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-1.js new file mode 100644 index 0000000000..8ff291ad57 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-1.js @@ -0,0 +1 @@ +log('external script #1'); \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-10.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-10.js new file mode 100644 index 0000000000..8dc770ddc0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-10.js @@ -0,0 +1 @@ +document.write(""); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-11.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-11.js new file mode 100644 index 0000000000..016913c4b8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-11.js @@ -0,0 +1,4 @@ +log("external script before adding iframe"); +var iframe = document.createElement("iframe"); +iframe.srcdoc = "" +document.body.appendChild(iframe); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-2.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-2.js new file mode 100644 index 0000000000..31319423af --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-2.js @@ -0,0 +1 @@ +log('external script #2'); \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-3.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-3.js new file mode 100644 index 0000000000..53352e0f83 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-3.js @@ -0,0 +1,3 @@ +log('external script before doc write'); +document.write( ''); +log('external script after doc write'); \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-4.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-4.js new file mode 100644 index 0000000000..0597a22624 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-4.js @@ -0,0 +1,3 @@ +log('include-4 before doc write'); +document.write( ''); +log('include-4 after doc write'); \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-5.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-5.js new file mode 100644 index 0000000000..52952d7379 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-5.js @@ -0,0 +1,7 @@ +log('include-5 before removing scripts'); +var scripts=[].slice.call(document.getElementsByTagName('script'), 3); +for(var i = 0; i < scripts.length; i++) { + var s = scripts[i]; + s.parentNode.removeChild(s); +} +log('include-5 after removing scripts'); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-6.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-6.js new file mode 100644 index 0000000000..77da2af232 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-6.js @@ -0,0 +1,6 @@ +top.log( + 'external script (#foo found? ' + + (document.getElementById('foo') ? 'YES' : 'NO' ) + + ')' +); +top.include6Loaded=true; \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-7.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-7.js new file mode 100644 index 0000000000..57c5508015 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-7.js @@ -0,0 +1 @@ +log('external script #7'); \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-8.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-8.js new file mode 100644 index 0000000000..960f2129fe --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-8.js @@ -0,0 +1,4 @@ +log("external script #8"); +var s = document.createElement("script") +s.src='scripts/include-9.js?pipe=trickle(d2)' +document.body.appendChild(s); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-9.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-9.js new file mode 100644 index 0000000000..9042882024 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/scripts/include-9.js @@ -0,0 +1,2 @@ +log("external script #9"); +test(); \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/testlib/testlib.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/testlib/testlib.js new file mode 100644 index 0000000000..a6fd39426b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/testlib/testlib.js @@ -0,0 +1,43 @@ +/* +* Utility functions for script scheduler test +*/ +(function(){ /* namespace hiding local variables like arOrderOfAllEvents from global scope */ + window.testlib = {}; + window.eventOrder = []; + var arNumberOfScriptsParsedPerEvent=[]; + window.log = function (str){ + eventOrder.push(str); + arNumberOfScriptsParsedPerEvent.push(document.getElementsByTagName('script').length); + } + + window.testlib.addScript = function(source, attributes, parent, firstInParent,funcPrepare) { + try{ + parent = parent||document.body; + var script = document.createElement('script'); + if(funcPrepare) { + funcPrepare(script); + } + if(source)script.appendChild( document.createTextNode(source) ); + for( var name in attributes){ + if(/^on/i.test(name)) { + script[name] = attributes[name]; + } else { + script.setAttribute(name, attributes[name]); + } + } + if (firstInParent && parent.firstChild) { + parent.insertBefore(script, parent.firstChild); + } else { + parent.appendChild(script); + } + } catch(e) { + log('ERROR when adding script to DOM!'); + alert(e); + } + return script; + } + + window.testlib.urlParam = function(relativeURL) { + return location.href.replace( /\d*\.html$/, relativeURL); + } +})(); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/external-script-utf8.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/external-script-utf8.js new file mode 100644 index 0000000000..eb442c97bc --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/external-script-utf8.js @@ -0,0 +1,5 @@ +(function() { + window.getSomeString = function() { + return "śćążź"; //<- these are five Polish letters, similar to scazz. It can be read correctly only with windows 1250 encoding. + }; +})(); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/external-script-windows1250.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/external-script-windows1250.js new file mode 100644 index 0000000000..50de6932ba --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/external-script-windows1250.js @@ -0,0 +1,5 @@ +(function() { + window.getSomeString = function() { + return "œæ¹¿Ÿ"; //<- these are five Polish letters, similar to scazz. It can be read correctly only with windows 1250 encoding. + }; +})(); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/alpha/base.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/alpha/base.html new file mode 100644 index 0000000000..dc0fa9dabb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/alpha/base.html @@ -0,0 +1,15 @@ + + +Script src with a base URL + + + +
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/alpha/test.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/alpha/test.js new file mode 100644 index 0000000000..3cbbb12e2e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/alpha/test.js @@ -0,0 +1 @@ +do_test("alpha"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/beta/test.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/beta/test.js new file mode 100644 index 0000000000..4ce0f5338d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/beta/test.js @@ -0,0 +1 @@ +do_test("beta"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/empty-with-base.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/empty-with-base.html new file mode 100644 index 0000000000..edc2c3d6f8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/empty-with-base.html @@ -0,0 +1,27 @@ + + +Script src with an empty URL + + + +
+ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/empty.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/empty.html new file mode 100644 index 0000000000..d127f1eb3b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/empty.html @@ -0,0 +1,32 @@ + + +Script src with an empty URL + + +
+ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/failure.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/failure.html new file mode 100644 index 0000000000..b49e51740f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/failure.html @@ -0,0 +1,25 @@ + + +Script src with an invalid URL + + +
+ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/unreachable.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/unreachable.js new file mode 100644 index 0000000000..ca7fdba71f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/fetch-src/unreachable.js @@ -0,0 +1 @@ +unreachable(); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/historical.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/historical.html new file mode 100644 index 0000000000..1f1a91228c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/historical.html @@ -0,0 +1,53 @@ + +Historical script element features should not be supported + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/dynamic-import-with-assertion-argument.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/dynamic-import-with-assertion-argument.any.js new file mode 100644 index 0000000000..ef032d27c5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/dynamic-import-with-assertion-argument.any.js @@ -0,0 +1,17 @@ +// META: global=window,dedicatedworker,sharedworker + +promise_test(async test => { + const result = await import("./export-hello.js", { assert: { } }); + assert_equals(result.default, "hello"); +}, "Dynamic import with an empty assert clause should succeed"); + +promise_test(async test => { + const result = await import("./export-hello.js", { assert: { unsupportedAssertionKey: "unsupportedAssertionValue"} }); + assert_equals(result.default, "hello"); +}, "Dynamic import with an unsupported import assertion should succeed"); + +promise_test(test => { + return promise_rejects_js(test, TypeError, + import("./export-hello.js", { assert: { type: "notARealType"} } ), + "Dynamic import with an unsupported type assertion should fail"); +}, "Dynamic import with an unsupported type assertion should fail"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause.html new file mode 100644 index 0000000000..3a7c371189 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause.html @@ -0,0 +1,19 @@ + +Handling of empty import assertion clause + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause.js new file mode 100644 index 0000000000..6913dd61df --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause.js @@ -0,0 +1,2 @@ +import "./hello.js" assert { }; +log.push("empty-assertion-clause"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-type-assertion.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-type-assertion.js new file mode 100644 index 0000000000..5bb9b1ddb8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-type-assertion.js @@ -0,0 +1,2 @@ +import "./hello.js#2" assert { type: "" }; +log.push("empty-type-assertion"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/export-hello.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/export-hello.js new file mode 100644 index 0000000000..34b58e6e12 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/export-hello.js @@ -0,0 +1 @@ +export default "hello"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/hello.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/hello.js new file mode 100644 index 0000000000..2f34844460 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/hello.js @@ -0,0 +1 @@ +log.push("hello"); \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion-error.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion-error.html new file mode 100644 index 0000000000..0adcc47569 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion-error.html @@ -0,0 +1,28 @@ + +Handling of invalid module type import assertions + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion.js new file mode 100644 index 0000000000..e28c0176d5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion.js @@ -0,0 +1,2 @@ +import "./hello.js#1" assert { type: "notARealType" }; +log.push("invalid-type-assertion"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/javascript-type-assertion.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/javascript-type-assertion.js new file mode 100644 index 0000000000..cc0f531026 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/javascript-type-assertion.js @@ -0,0 +1,2 @@ +import "./hello.js#4" assert { type: "javascript" }; +log.push("javascript-type-assertion"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/js-type-assertion.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/js-type-assertion.js new file mode 100644 index 0000000000..c649c95ffe --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/js-type-assertion.js @@ -0,0 +1,2 @@ +import "./hello.js#3" assert { type: "js" }; +log.push("js-type-assertion"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion.html new file mode 100644 index 0000000000..edda2d737a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion.html @@ -0,0 +1,19 @@ + +Handling of unsupported assertion + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion.js new file mode 100644 index 0000000000..45f6d60c9d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion.js @@ -0,0 +1,2 @@ +import "./hello.js" assert { unsupportedAssertionKey: "unsupportedAssertionValue" }; +log.push("unsupported-assertion"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/is-module-goal.mjs b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/is-module-goal.mjs new file mode 100644 index 0000000000..b533fc2e90 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/is-module-goal.mjs @@ -0,0 +1 @@ +import "./serve-with-content-type.py?fn=is-module-goal.mjs&ct=text%2Fjavascript%3Bgoal=module"; \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/is-script-goal.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/is-script-goal.js new file mode 100644 index 0000000000..069363dd40 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/is-script-goal.js @@ -0,0 +1,3 @@ +with ({}) { + ; +}; \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/array.json b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/array.json new file mode 100644 index 0000000000..e77e32d338 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/array.json @@ -0,0 +1 @@ +["en", "try"] diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/bom-utf-16be.json b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/bom-utf-16be.json new file mode 100644 index 0000000000..d22a45a591 Binary files /dev/null and b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/bom-utf-16be.json differ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/bom-utf-16le.json b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/bom-utf-16le.json new file mode 100644 index 0000000000..4d1aa264a6 Binary files /dev/null and b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/bom-utf-16le.json differ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/bom-utf-8.json b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/bom-utf-8.json new file mode 100644 index 0000000000..07ba933e86 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/bom-utf-8.json @@ -0,0 +1 @@ +{ "data": "hello" } \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/charset-2.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/charset-2.html new file mode 100644 index 0000000000..1bfd3fc00a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/charset-2.html @@ -0,0 +1,19 @@ + + +JSON modules: UTF-8 decoding + + +
+ + \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/charset-bom.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/charset-bom.any.js new file mode 100644 index 0000000000..d2dbe3e468 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/charset-bom.any.js @@ -0,0 +1,17 @@ +// META: global=window,dedicatedworker,sharedworker +// META: script=/common/utils.js + +promise_test(async () => { + const jsonModule = await import('./bom-utf-8.json', { assert: { type: 'json' } }); + assert_equals(jsonModule.default.data, 'hello'); +}, 'UTF-8 BOM should be stripped when decoding JSON module script'); + +promise_test(async test => { + await promise_rejects_js(test, SyntaxError, + import('./bom-utf-16be.json', { assert: { type: 'json' } }), 'Expected parse error from UTF-16BE BOM'); +}, 'UTF-16BE BOM should result in parse error in JSON module script'); + +promise_test(async test => { + await promise_rejects_js(test, SyntaxError, + import('./bom-utf-16le.json', { assert: { type: 'json' } }), 'Expected parse error from UTF-16LE BOM'); +}, 'UTF-16LE BOM should result in parse error in JSON module script'); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/charset.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/charset.html new file mode 100644 index 0000000000..de30de8c2e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/charset.html @@ -0,0 +1,37 @@ + + +JSON modules: UTF-8 decoding + + +
+ + + + + \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/cors-crossorigin-requests.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/cors-crossorigin-requests.html new file mode 100644 index 0000000000..99ff2f67e8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/cors-crossorigin-requests.html @@ -0,0 +1,33 @@ + + + + json-module-crossorigin + + + + +

json-module-crossorigin

+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/credentials-iframe.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/credentials-iframe.sub.html new file mode 100644 index 0000000000..dbb9fe6d1a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/credentials-iframe.sub.html @@ -0,0 +1,33 @@ + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/credentials.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/credentials.sub.html new file mode 100644 index 0000000000..a6df506e21 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/credentials.sub.html @@ -0,0 +1,55 @@ + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/cross-origin.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/cross-origin.py new file mode 100644 index 0000000000..cd56c3628a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/cross-origin.py @@ -0,0 +1,16 @@ +def main(request, response): + + headers = [ + (b"Content-Type", b"application/json"), + (b"Access-Control-Allow-Origin", request.GET.first(b"origin")), + (b"Access-Control-Allow-Credentials", b"true") + ] + + milk = request.cookies.first(b"milk", None) + + if milk is None: + return headers, u'{"requestHadCookies": false}' + elif milk.value == b"1": + return headers, u'{"requestHadCookies": true}' + + return headers, u'{"requestHadCookies": false}' diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/crossorigin-import-parse-error-with-cors.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/crossorigin-import-parse-error-with-cors.sub.html new file mode 100644 index 0000000000..12c6a60883 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/crossorigin-import-parse-error-with-cors.sub.html @@ -0,0 +1,15 @@ + + + + json-module-import-cross-domain-parse-error-WithCORS + + + +

json-module-import-cross-domain-parse-error-WithCORS

+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/crossorigin-import-with-cors.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/crossorigin-import-with-cors.sub.html new file mode 100644 index 0000000000..01663d2516 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/crossorigin-import-with-cors.sub.html @@ -0,0 +1,15 @@ + + + + json-module-import-cross-domain-WithCORS + + + +

json-module-import-cross-domain-WithCORS

+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/crossorigin-import-without-cors.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/crossorigin-import-without-cors.sub.html new file mode 100644 index 0000000000..7849c6aedd --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/crossorigin-import-without-cors.sub.html @@ -0,0 +1,15 @@ + + + + json-module-import-cross-domain-NoCORS + + + +

json-module-import-cross-domain-NoCORS

+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/data.json b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/data.json new file mode 100644 index 0000000000..14a0526ebb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/data.json @@ -0,0 +1,3 @@ +{ + "answer": 42 +} \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/false.json b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/false.json new file mode 100644 index 0000000000..c508d5366f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/false.json @@ -0,0 +1 @@ +false diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/integrity-matches.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/integrity-matches.js new file mode 100644 index 0000000000..969c90c290 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/integrity-matches.js @@ -0,0 +1,2 @@ +import json from "./data.json" assert { type: "json" }; +window.matchesLog.push(`integrity-matches,json:${json.answer}`); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/integrity-mismatches.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/integrity-mismatches.js new file mode 100644 index 0000000000..3c88a98dbc --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/integrity-mismatches.js @@ -0,0 +1,2 @@ +import json "./data.json" assert { type: "json" }; +window.mismatchesLog.push(`integrity-mismatches,json:${json.answer}`); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/integrity.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/integrity.html new file mode 100644 index 0000000000..68a794b973 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/integrity.html @@ -0,0 +1,28 @@ + + +<script> integrity="" + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/invalid-content-type.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/invalid-content-type.any.js new file mode 100644 index 0000000000..cbccbd4842 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/invalid-content-type.any.js @@ -0,0 +1,17 @@ +// META: global=window,dedicatedworker,sharedworker + +const content_types = [ + "application/json+protobuf", + "application/json+blah", + "text/x-json", + "text/json+blah", + "application/blahjson", + "image/json", +]; +for (const content_type of content_types) { + promise_test(async test => { + await promise_rejects_js(test, TypeError, + import(`./module.json?pipe=header(Content-Type,${content_type})`, { assert: { type: "json"} }), + `Import of a JSON module with MIME type ${content_type} should fail`); + }, `Try importing JSON module with MIME type ${content_type}`); +} diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/json-module-service-worker-test.https.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/json-module-service-worker-test.https.html new file mode 100644 index 0000000000..cc47da1499 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/json-module-service-worker-test.https.html @@ -0,0 +1,29 @@ + + + + + + \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/load-error-events.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/load-error-events.html new file mode 100644 index 0000000000..a9dfc1e691 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/load-error-events.html @@ -0,0 +1,67 @@ + + + +load/error events for JSON modules + + + + + + + + + + \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/load-error-events.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/load-error-events.py new file mode 100644 index 0000000000..4018adcdf7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/load-error-events.py @@ -0,0 +1,14 @@ +import re + +def main(request, response): + headers = [(b"Content-Type", b"text/javascript")] + test = request.GET.first(b'test') + assert(re.match(b'^[a-zA-Z0-9_]+$', test)) + + status = 200 + if test.find(b'_load') >= 0: + content = b'import "./module.json" assert { type: "json"}; %s.executed = true;' % test + else: + content = b'import "./not_found.json" assert { type: "json"}; %s.test.step(function() { assert_unreached("404 script should not be executed"); });' % test + + return status, headers, content diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/module.html new file mode 100644 index 0000000000..a495d4ac18 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/module.html @@ -0,0 +1,18 @@ + + +JSON modules + + +
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/module.json b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/module.json new file mode 100644 index 0000000000..f834b2a4e8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/module.json @@ -0,0 +1,3 @@ +{ + "test": true +} diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/non-object.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/non-object.any.js new file mode 100644 index 0000000000..37fbcae9fa --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/non-object.any.js @@ -0,0 +1,14 @@ +// META: global=window,dedicatedworker,sharedworker + +for (const value of [null, true, false, "string"]) { + promise_test(async t => { + const result = await import(`./${value}.json`, { assert: { type: "json" } }); + assert_equals(result.default, value); + }, `Non-object: ${value}`); +} + +promise_test(async t => { + const result = await import("./array.json", { assert: { type: "json" } }); + assert_array_equals(result.default, ["en", "try"]); +}, "Non-object: array"); + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/null.json b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/null.json new file mode 100644 index 0000000000..19765bd501 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/null.json @@ -0,0 +1 @@ +null diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/parse-error.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/parse-error.html new file mode 100644 index 0000000000..68d3ef0a9a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/parse-error.html @@ -0,0 +1,21 @@ + + +JSON modules: parse error + + +
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/parse-error.json b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/parse-error.json new file mode 100644 index 0000000000..98232c64fc --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/parse-error.json @@ -0,0 +1 @@ +{ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/referrer-checker.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/referrer-checker.py new file mode 100644 index 0000000000..e9f0f1789b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/referrer-checker.py @@ -0,0 +1,6 @@ +def main(request, response): + referrer = request.headers.get(b"referer", b"") + response_headers = [(b"Content-Type", b"application/json"), + (b"Access-Control-Allow-Origin", b"*")] + return (200, response_headers, + b'{"referrer": "' + referrer + b'"}') diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/referrer-policies.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/referrer-policies.sub.html new file mode 100644 index 0000000000..83e103529d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/referrer-policies.sub.html @@ -0,0 +1,84 @@ + + + +Referrers with JSON module requests + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/repeated-imports.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/repeated-imports.any.js new file mode 100644 index 0000000000..5cc3ee5b7c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/repeated-imports.any.js @@ -0,0 +1,65 @@ +// META: global=window,dedicatedworker,sharedworker +// META: script=/common/utils.js + +promise_test(async test => { + await promise_rejects_js(test, TypeError, + import("./module.json"), + "Dynamic import of a JSON module without a type assertion should fail"); + + // This time the import should succeed because we're using the correct + // import even though the previous attempt with the same specifier failed. + const result = await import("./module.json", { assert: { type: "json" } }); + assert_true(result.default.test); +}, "Importing a specifier that previously failed due to an incorrect type assertion can succeed if the correct assertion is later given"); + +promise_test(async test => { + // Append a URL fragment to the specifier so that this is independent + // from the previous test. + const result = await import("./module.json#2", { assert: { type: "json" } }); + assert_true(result.default.test); + + await promise_rejects_js(test, TypeError, + import("./module.json#2"), + "Dynamic import should fail with the type assertion missing even if the same specifier previously succeeded"); +}, "Importing a specifier that previously succeeded with the correct type assertion should fail if the incorrect assertion is later given"); + +promise_test(async test => { + const uuid_token = token(); + // serve-json-then-js.py gives us JSON the first time + const result_json = await import(`../serve-json-then-js.py?key=${uuid_token}`, { assert: { type: "json" } }); + assert_equals(result_json.default.hello, "world"); + + // Import using the same specifier again; this time we get JS, which + // should succeed since we're not asserting a non-JS type this time. + const result_js = await import(`../serve-json-then-js.py?key=${uuid_token}`); + assert_equals(result_js.default, "hello"); +}, "Two modules of different type with the same specifier can load if the server changes its responses"); + +promise_test(async test => { + const uuid_token = token(); + // serve-json-then-js.py gives us JSON the first time + await promise_rejects_js(test, TypeError, + import(`../serve-json-then-js.py?key=${uuid_token}`), + "Dynamic import of JS with a JSON type assertion should fail"); + + // Import using the same specifier/module type pair again; this time we get JS, + // but the import should still fail because the module map entry for this + // specifier/module type pair already contains a failure. + await promise_rejects_js(test, TypeError, + import(`../serve-json-then-js.py?key=${uuid_token}`), + "import should always fail if the same specifier/type assertion pair failed previously"); +}, "An import should always fail if the same specifier/type assertion pair failed previously"); + +promise_test(async test => { + const uuid_token = token(); + // serve-json-then-js.py gives us JSON the first time + const result_json = await import(`../serve-json-then-js.py?key=${uuid_token}`, { assert: { type: "json" } }); + assert_equals(result_json.default.hello, "world"); + + // If this were to do another fetch, the import would fail because + // serve-json-then-js.py would give us JS this time. But, the module map + // entry for this specifier/module type pair already exists, so we + // successfully reuse the entry instead of fetching again. + const result_json_2 = await import(`../serve-json-then-js.py?key=${uuid_token}`, { assert: { type: "json" } }); + assert_equals(result_json_2.default.hello, "world"); +}, "If an import previously succeeded for a given specifier/type assertion pair, future uses of that pair should yield the same result"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/script-element-json-src.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/script-element-json-src.html new file mode 100644 index 0000000000..c6d7c9a76e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/script-element-json-src.html @@ -0,0 +1,14 @@ + +<script> with JSON src + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/serviceworker-dynamic-import.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/serviceworker-dynamic-import.js new file mode 100644 index 0000000000..9466c6fbe4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/serviceworker-dynamic-import.js @@ -0,0 +1,5 @@ +onmessage = e => { + e.waitUntil(import("./module.json", { assert: { type: "json" } }) + .then(module => e.source.postMessage("LOADED")) + .catch(error => e.source.postMessage("FAILED"))); + }; \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/serviceworker.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/serviceworker.js new file mode 100644 index 0000000000..3f0a4d1664 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/serviceworker.js @@ -0,0 +1 @@ +import './module.json' assert { type: "json" }; \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/string.json b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/string.json new file mode 100644 index 0000000000..ace2d72d9d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/string.json @@ -0,0 +1 @@ +"string" diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/true.json b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/true.json new file mode 100644 index 0000000000..27ba77ddaf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/true.json @@ -0,0 +1 @@ +true diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/utf-8.json b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/utf-8.json new file mode 100644 index 0000000000..088d982358 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/utf-8.json @@ -0,0 +1,4 @@ +{ + "data": "śćążź", + "comment": "The data above are five Polish letters, similar to scazz. It can be read correctly only with utf-8 encoding." +} diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/valid-content-type.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/valid-content-type.html new file mode 100644 index 0000000000..89ccc59817 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/valid-content-type.html @@ -0,0 +1,46 @@ + + +JSON modules: Content-Type + + +
+ + + + + + + \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/windows-1250.json b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/windows-1250.json new file mode 100644 index 0000000000..490e752ce9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/json-module/windows-1250.json @@ -0,0 +1,4 @@ +{ + "data": "�湿�", + "comment": "The data above are five Polish letters, similar to scazz. It can be read correctly only with windows1250 encoding." +} diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/load-error-events-1.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/load-error-events-1.html new file mode 100644 index 0000000000..45571550e1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/load-error-events-1.html @@ -0,0 +1,68 @@ + + + +load/error events for classic scripts + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/load-error-events-2.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/load-error-events-2.html new file mode 100644 index 0000000000..0748b45909 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/load-error-events-2.html @@ -0,0 +1,22 @@ + + + +load/error events for classic scripts with a style sheet that is blocking scripts + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/load-error-events-3.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/load-error-events-3.html new file mode 100644 index 0000000000..83a752ce2c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/load-error-events-3.html @@ -0,0 +1,22 @@ + + + +load/error events for classic scripts with a style sheet that is blocking scripts and script nesting level > 1 + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/log.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/log.py new file mode 100644 index 0000000000..2a6cc33029 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/log.py @@ -0,0 +1,13 @@ +import time + +def main(request, response): + response.headers.append(b"Content-Type", b"text/javascript") + try: + script_id = int(request.GET.first(b"id")) + delay = int(request.GET.first(b"sec")) + except: + response.set_error(400, u"Invalid parameter") + + time.sleep(int(delay)) + + return u"log('%s')" % script_id diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-after-window-onerror-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-after-window-onerror-module.html new file mode 100644 index 0000000000..728ce32c38 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-after-window-onerror-module.html @@ -0,0 +1,9 @@ + + + + Microtask checkpoint after window.onerror events (module) + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-after-window-onerror.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-after-window-onerror.html new file mode 100644 index 0000000000..72a197ca6a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-after-window-onerror.html @@ -0,0 +1,9 @@ + + + + Microtask checkpoint after window.onerror events (classic) + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-after-workerglobalscope-onerror-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-after-workerglobalscope-onerror-module.html new file mode 100644 index 0000000000..ff2b5d4943 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-after-workerglobalscope-onerror-module.html @@ -0,0 +1,14 @@ + + + + Microtask checkpoint after window.onerror events (module) + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-after-workerglobalscope-onerror.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-after-workerglobalscope-onerror.html new file mode 100644 index 0000000000..1932c7183b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-after-workerglobalscope-onerror.html @@ -0,0 +1,13 @@ + + + + Microtask checkpoint after window.onerror events (module) + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-importScripts.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-importScripts.any.js new file mode 100644 index 0000000000..8791a099b6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-importScripts.any.js @@ -0,0 +1,40 @@ +// META: global=dedicatedworker,sharedworker + +// The `then` handlers for `Promise.resolve()` are evaluated in the first +// microtasks checkpoint after `Promise.resolve()`. + +// ---------------------------------------------------------------- +// Check when microtasks checkpoint is performed around importScripts(). + +// The expectation is: the `then` handlers are evaluated after the script +// calling importScripts() is finished, not immediately after importScripts(). +// Although #clean-up-after-running-script is executed as a part of +// #run-a-classic-script for importScripts()ed scripts, but at that time +// microtasks checkpoint is NOT performed because JavaScript execution context +// stack is not empty. + +self.log = []; + +// Microtasks should be executed before +// #run-a-classic-script/#run-a-module-script is completed, and thus before +// script evaluation scheduled by setTimeout(). +async_test(t => { + self.addEventListener('error', + t.unreached_func('error event should not be fired')); + + t.step_timeout(() => { + assert_array_equals(log, [ + 'importScripts()ed script', + 'catch', + 'promise' + ]); + t.done(); + }, + 0); +}, "Promise resolved during importScripts()"); + +try { + importScripts('resources/resolve-then-throw.js'); +} catch (e) { + self.log.push('catch'); +} diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1-nothrow-importScripts.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1-nothrow-importScripts.any.js new file mode 100644 index 0000000000..bacfc9fd04 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1-nothrow-importScripts.any.js @@ -0,0 +1,11 @@ +// META: global=dedicatedworker,sharedworker +// META: script=./resources/evaluation-order-setup.js + +// Spec: https://html.spec.whatwg.org/C/#run-a-classic-script +// called from https://html.spec.whatwg.org/C/#import-scripts-into-worker-global-scope +setupTest("importScripts() queueing a microtask then throwing an exception", [ + "body", + "microtask", +]); + +importScripts('./resources/evaluation-order-1-nothrow.js'); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1-nothrow-static-import.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1-nothrow-static-import.any.js new file mode 100644 index 0000000000..006eab7a7e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1-nothrow-static-import.any.js @@ -0,0 +1,5 @@ +// META: global=dedicatedworker-module,sharedworker-module +// META: script=./resources/evaluation-order-setup.js + +import './resources/evaluation-order-1-nothrow-setup.js'; +import './resources/evaluation-order-1-nothrow.js'; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1-throw-importScripts.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1-throw-importScripts.any.js new file mode 100644 index 0000000000..0b42ea1e50 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1-throw-importScripts.any.js @@ -0,0 +1,22 @@ +// META: global=dedicatedworker,sharedworker +// META: script=./resources/evaluation-order-setup.js + +// Spec: https://html.spec.whatwg.org/C/#run-a-classic-script +// called from https://html.spec.whatwg.org/C/#import-scripts-into-worker-global-scope +setupTest("importScripts() queueing a microtask then throwing an exception", [ + // Step 6 of #run-a-classic-script. + "body", + + // Step 7.1.1 ("Clean up after running script") is no-op because JavaScript + // execution context stack is still non-empty immediately after + // importScripts() as the outer script is still executing. + + // Step 7.1.2 (Rethrowing an exception) causes worker onerror. + "global-error", + + // Microtask checkpoint is performed later, perhaps + // "Clean up after running script" after the outer script is finished. + "microtask", +]); + +importScripts('./resources/evaluation-order-1-throw.js'); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1-throw-static-import.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1-throw-static-import.any.js new file mode 100644 index 0000000000..f6cc427c71 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1-throw-static-import.any.js @@ -0,0 +1,5 @@ +// META: global=dedicatedworker-module,sharedworker-module +// META: script=./resources/evaluation-order-setup.js + +import './resources/evaluation-order-1-throw-setup.js'; +import './resources/evaluation-order-1-throw.js'; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1.html new file mode 100644 index 0000000000..4800ef81bc --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-1.html @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-2.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-2.any.js new file mode 100644 index 0000000000..bbc6474823 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-2.any.js @@ -0,0 +1,5 @@ +// META: global=dedicatedworker-module,sharedworker-module +// META: script=./resources/evaluation-order-setup.js + +import './resources/evaluation-order-2-setup.js'; +import './resources/evaluation-order-2.1.mjs'; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-2.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-2.html new file mode 100644 index 0000000000..e55c2ecbed --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-2.html @@ -0,0 +1,8 @@ + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-3.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-3.any.js new file mode 100644 index 0000000000..19e94714e5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-3.any.js @@ -0,0 +1,5 @@ +// META: global=dedicatedworker-module,sharedworker-module +// META: script=./resources/evaluation-order-setup.js + +import './resources/evaluation-order-3-setup.js'; +import './resources/evaluation-order-3.1.mjs'; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-3.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-3.html new file mode 100644 index 0000000000..ef351acd28 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-3.html @@ -0,0 +1,8 @@ + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-4.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-4.html new file mode 100644 index 0000000000..f27678439d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/evaluation-order-4.html @@ -0,0 +1,18 @@ + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/checkpoint-after-error-event-worker-module.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/checkpoint-after-error-event-worker-module.js new file mode 100644 index 0000000000..b9ae7142d5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/checkpoint-after-error-event-worker-module.js @@ -0,0 +1,2 @@ +import "/resources/testharness.js"; +import "./checkpoint-after-error-event.js"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/checkpoint-after-error-event-worker.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/checkpoint-after-error-event-worker.js new file mode 100644 index 0000000000..4694db1e44 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/checkpoint-after-error-event-worker.js @@ -0,0 +1,2 @@ +importScripts("/resources/testharness.js"); +importScripts("checkpoint-after-error-event.js"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/checkpoint-after-error-event.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/checkpoint-after-error-event.js new file mode 100644 index 0000000000..1a2b9404a7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/checkpoint-after-error-event.js @@ -0,0 +1,89 @@ +// The `then` handlers for `Promise.resolve()` are evaluated in the first +// microtasks checkpoint after `Promise.resolve()`. + +self.setup({allow_uncaught_exception: true}); + +// ---------------------------------------------------------------- +// Check when microtasks checkpoint is performed +// - Around `self`'s error event fired via +// https://html.spec.whatwg.org/C/#report-the-error during +// - https://html.spec.whatwg.org/C/#run-a-classic-script or +// - https://html.spec.whatwg.org/C/#run-a-module-script. + +// The expectation is: the `then` handlers are evaluated after all error event +// handlers are evaluated, not after each error event handler. + +// Just after each event handler is invoked, +// https://webidl.spec.whatwg.org/#call-a-user-objects-operation +// calls #clean-up-after-running-script, but this doesn't execute new +// microtasks immediately, because: +// - Before https://github.com/whatwg/html/pull/4352: +// #report-the-error is called before #clean-up-after-running-script by +// #run-a-classic-script/#run-a-module-script, so microtask checkpoint +// is not performed because JavaScript execution context stack is not empty. +// - After https://github.com/whatwg/html/pull/4352: +// #report-the-error is called during #perform-a-microtask-checkpoint (because +// it is called on rejection of promises), so #perform-a-microtask-checkpoint +// is executed but early exited. +self.log = []; + +self.addEventListener('error', () => { + log.push('handler 1'); + Promise.resolve().then(() => log.push('handler 1 promise')); +}); +self.addEventListener('error', () => { + log.push('handler 2'); + Promise.resolve().then(() => log.push('handler 2 promise')); +}); + +// Microtasks should be executed before +// #run-a-classic-script/#run-a-module-script is completed, and thus before +// script evaluation scheduled by setTimeout(). +async_test(t => { + t.step_timeout(() => { + assert_array_equals(log, [ + 'handler 1', + 'handler 2', + 'handler 1 promise', + 'handler 2 promise' + ]); + t.done(); + }, + 0); +}, "Promise resolved during #report-the-error"); + +// ---------------------------------------------------------------- +// Check when microtasks checkpoint is performed +// around event events other than the `self` error event cases above. +// In this case, microtasks are executed just after each event handler is +// invoked via #clean-up-after-running-script called from +// https://webidl.spec.whatwg.org/#call-a-user-objects-operation, +// because the event handlers are executed outside the +// #prepare-to-run-script/#clean-up-after-running-script scopes in +// #run-a-classic-script/#run-a-module-script. +self.log2 = []; +self.t2 = async_test( + "Promise resolved during event handlers other than error"); + +self.addEventListener('message', () => { + log2.push('handler 1'); + Promise.resolve().then(() => log2.push('handler 1 promise')); +}); +self.addEventListener('message', () => { + log2.push('handler 2'); + Promise.resolve().then(t2.step_func_done(() => { + log2.push('handler 2 promise'); + assert_array_equals(log2, [ + 'handler 1', + 'handler 1 promise', + 'handler 2', + 'handler 2 promise' + ]); + })); +}); + +// ---------------------------------------------------------------- + +done(); + +throw new Error('script 1'); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-1-nothrow-setup.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-1-nothrow-setup.js new file mode 100644 index 0000000000..1b42e99593 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-1-nothrow-setup.js @@ -0,0 +1,5 @@ +// Spec: https://html.spec.whatwg.org/C/#run-a-module-script +setupTest("Module script queueing a microtask", [ + "body", // Step 6. + "microtask", // "Clean up after running script" at Step 8. +]); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-1-nothrow.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-1-nothrow.js new file mode 100644 index 0000000000..e19d9b1b13 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-1-nothrow.js @@ -0,0 +1,2 @@ +queueMicrotask(() => globalThis.log.push("microtask")); +globalThis.log.push("body"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-1-throw-setup.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-1-throw-setup.js new file mode 100644 index 0000000000..651a494e53 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-1-throw-setup.js @@ -0,0 +1,10 @@ +// Spec: https://html.spec.whatwg.org/C/#run-a-module-script +setupTest("Module script queueing a microtask then throwing an exception", [ + "body", // Step 6. + "microtask", // "Clean up after running script" at Step 8. + "global-error", // "Clean up after running script" at Step 8, because + // `evaluationPromise` is synchronously rejected and the rejection is + // processed in the microtask checkpoint here (See also Step 7). + // As `evaluationPromise` is rejected after the microtask queued during + // evaluation, "global-error" occurs after "microtask". +]); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-1-throw.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-1-throw.js new file mode 100644 index 0000000000..2451df1c15 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-1-throw.js @@ -0,0 +1,4 @@ +queueMicrotask(() => globalThis.log.push("microtask")); +globalThis.log.push("body"); + +throw new Error("error"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-2-setup.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-2-setup.js new file mode 100644 index 0000000000..46f7354538 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-2-setup.js @@ -0,0 +1,10 @@ +// Spec: https://html.spec.whatwg.org/C/#run-a-module-script +setupTest("Module script queueing a microtask then throwing an exception", [ + "step-2.2-1", "step-2.2-2", // Step 6. + "microtask-2.2", // "Clean up after running script" at Step 8. + "global-error", // "Clean up after running script" at Step 8, + // because `evaluationPromise` is synchronously rejected and the rejection + // is processed in the microtask checkpoint here (See also Step 7). + // As `evaluationPromise` is rejected after the microtask queued during + // evaluation, "global-error" occurs after "microtask". +]); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-2.1.mjs b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-2.1.mjs new file mode 100644 index 0000000000..d6c2afa2f7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-2.1.mjs @@ -0,0 +1,8 @@ +globalThis.log.push("step-2.1-1"); +queueMicrotask(() => globalThis.log.push("microtask-2.1")); +globalThis.log.push("step-2.1-2"); + +// import is evaluated first. +import "./evaluation-order-2.2.mjs"; + +globalThis.log.push("step-2.1-3"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-2.2.mjs b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-2.2.mjs new file mode 100644 index 0000000000..5c67c4f9a2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-2.2.mjs @@ -0,0 +1,7 @@ +globalThis.log.push("step-2.2-1"); +queueMicrotask(() => globalThis.log.push("microtask-2.2")); +globalThis.log.push("step-2.2-2"); + +globalThis.test_load.step_timeout(() => globalThis.testDone(), 0); + +throw new Error("error"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-3-setup.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-3-setup.js new file mode 100644 index 0000000000..edc046910e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-3-setup.js @@ -0,0 +1,7 @@ +setupTest("Module script queueing a microtask then throwing an exception", [ + "step-3.1-1", "step-3.1-2", "step-3.1-3", + "microtask-3.1", + "step-3.2-1", "step-3.2-2", + "microtask-3.2", + "import-catch", "error", +]); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-3.1.mjs b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-3.1.mjs new file mode 100644 index 0000000000..ef320632af --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-3.1.mjs @@ -0,0 +1,11 @@ +globalThis.log.push("step-3.1-1"); +queueMicrotask(() => globalThis.log.push("microtask-3.1")); +globalThis.log.push("step-3.1-2"); + +import("./evaluation-order-3.2.mjs").catch( + exception => { + globalThis.log.push("import-catch", exception.message); + globalThis.testDone(); + }); + +globalThis.log.push("step-3.1-3"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-3.2.mjs b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-3.2.mjs new file mode 100644 index 0000000000..8ccb581206 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-3.2.mjs @@ -0,0 +1,5 @@ +globalThis.log.push("step-3.2-1"); +queueMicrotask(() => globalThis.log.push("microtask-3.2")); +globalThis.log.push("step-3.2-2"); + +throw new Error("error"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-4.1.mjs b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-4.1.mjs new file mode 100644 index 0000000000..f3347c1d28 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-4.1.mjs @@ -0,0 +1,8 @@ +log.push("step-4.1-1"); +queueMicrotask(() => log.push("microtask-4.1")); +log.push("step-4.1-2"); + +await import("./evaluation-order-4.2.mjs"); + +// Not happening as we throw in the above module. +log.push("step-4.1-3"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-4.2.mjs b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-4.2.mjs new file mode 100644 index 0000000000..96a5cca3a6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-4.2.mjs @@ -0,0 +1,5 @@ +log.push("step-4.2-1"); +queueMicrotask(() => log.push("microtask-4.2")); +log.push("step-4.2-2"); + +throw new Error("error"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-setup.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-setup.js new file mode 100644 index 0000000000..d2e28935c4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/microtasks/resources/evaluation-order-setup.js @@ -0,0 +1,30 @@ +globalThis.setup({allow_uncaught_exception: true}); + +// Must be called after previous tests are completed. +globalThis.setupTest = (description, expectedLog) => { + globalThis.log = []; + globalThis.onerror = message => { + globalThis.log.push("global-error"); + return true; + }; + globalThis.onunhandledrejection = + () => globalThis.log.push('unhandled-promise-rejection'); + + globalThis.unreachable = () => globalThis.log.push("unreachable"); + + globalThis.test_load = async_test(description); + globalThis.testDone = globalThis.test_load.step_func_done(() => { + assert_array_equals(globalThis.log, expectedLog); + }); + + if (!('Window' in globalThis && globalThis instanceof Window)) { + // In workers, there are no + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/charset-02.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/charset-02.html new file mode 100644 index 0000000000..c7c4517ad3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/charset-02.html @@ -0,0 +1,26 @@ + +Module scripts should ignore BOMs and always use UTF-8 + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/charset-03.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/charset-03.html new file mode 100644 index 0000000000..666cb2e68b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/charset-03.html @@ -0,0 +1,37 @@ + + +Imported module scripts should always use UTF-8 + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-1.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-1.html new file mode 100644 index 0000000000..50933da2c1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-1.html @@ -0,0 +1,37 @@ + +Choice of parse errors + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-1a.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-1a.js new file mode 100644 index 0000000000..f479e5e1fa --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-1a.js @@ -0,0 +1,2 @@ +import './choice-of-error-1b.js'; +import './syntaxerror.js?1c'; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-1b.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-1b.js new file mode 100644 index 0000000000..257f4a4678 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-1b.js @@ -0,0 +1,2 @@ +import './choice-of-error-1a.js'; +import './syntaxerror.js?1d'; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-2.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-2.html new file mode 100644 index 0000000000..51adb09d11 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-2.html @@ -0,0 +1,37 @@ + +Choice of instantiation errors + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-2a.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-2a.js new file mode 100644 index 0000000000..2dc7aac11a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-2a.js @@ -0,0 +1,2 @@ +import './choice-of-error-2b.js'; +import './instantiation-error-1.js?2c'; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-2b.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-2b.js new file mode 100644 index 0000000000..2adb9eea59 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-2b.js @@ -0,0 +1,2 @@ +import './choice-of-error-2a.js'; +import './instantiation-error-1.js?2d'; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-3.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-3.html new file mode 100644 index 0000000000..bc52119bfe --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-3.html @@ -0,0 +1,38 @@ + +Choice of evaluation errors + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-3a.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-3a.js new file mode 100644 index 0000000000..71154674a3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-3a.js @@ -0,0 +1,2 @@ +import './choice-of-error-3b.js'; +import './throw.js?3c'; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-3b.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-3b.js new file mode 100644 index 0000000000..2131a35eff --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-3b.js @@ -0,0 +1,2 @@ +import './choice-of-error-3a.js'; +import './throw2.js?3d'; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/compilation-error-1.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/compilation-error-1.html new file mode 100644 index 0000000000..ff580d4899 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/compilation-error-1.html @@ -0,0 +1,28 @@ + +Handling of compilation errors, 1 + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/compilation-error-2.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/compilation-error-2.html new file mode 100644 index 0000000000..131a6e439f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/compilation-error-2.html @@ -0,0 +1,28 @@ + +Handling of compilation errors, 2 + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/credentials.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/credentials.sub.html new file mode 100644 index 0000000000..983961ae44 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/credentials.sub.html @@ -0,0 +1,68 @@ + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-common.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-common.js new file mode 100644 index 0000000000..59bf0fd42f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-common.js @@ -0,0 +1,8 @@ +document._log = []; +window.addEventListener("error", function (ev) { + var errorSerialized = ev.lineno + "-" + ev.colno; + document._log.push(errorSerialized); +}); +window.addEventListener("load", function () { + document._log = document._log.join(","); +}); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-different.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-different.sub.html new file mode 100644 index 0000000000..8eb3292e89 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-different.sub.html @@ -0,0 +1,15 @@ + + + + html-script-module-crossOrigin-import-NoCORS + + + +

html-script-module-crossOrigin-import-NoCORS

+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-missingheader.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-missingheader.sub.html new file mode 100644 index 0000000000..cccb30f718 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-missingheader.sub.html @@ -0,0 +1,15 @@ + + + + html-script-module-crossOrigin-root-BlockedMissingHeader + + + +

html-script-module-crossOrigin-root-BlockedMissingHeader

+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-same.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-same.sub.html new file mode 100644 index 0000000000..84f4de1d7e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-same.sub.html @@ -0,0 +1,15 @@ + + + + html-script-module-crossOrigin-root-WithCORS + + + +

html-script-module-crossOrigin-root-WithCORS

+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-wrongheader.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-wrongheader.sub.html new file mode 100644 index 0000000000..5743a9e304 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-wrongheader.sub.html @@ -0,0 +1,15 @@ + + + + html-script-module-crossOrigin-root-BlockedWrongHeader + + + +

html-script-module-crossOrigin-root-BlockedWrongHeader

+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-different.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-different.sub.html new file mode 100644 index 0000000000..54d4354c53 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-different.sub.html @@ -0,0 +1,11 @@ + + + + html-script-module-crossOrigin-root-NoCORS + + + +

html-script-module-crossOrigin-root-NoCORS

+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-missingheader.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-missingheader.sub.html new file mode 100644 index 0000000000..03943002ba --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-missingheader.sub.html @@ -0,0 +1,11 @@ + + + + html-script-module-crossOrigin-root-BlockedMissingHeader + + + +

html-script-module-crossOrigin-root-BlockedMissingHeader

+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-same.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-same.sub.html new file mode 100644 index 0000000000..3ec839e9a9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-same.sub.html @@ -0,0 +1,11 @@ + + + + html-script-module-crossOrigin-root-WithCORS + + + +

html-script-module-crossOrigin-root-WithCORS

+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-wrongheader.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-wrongheader.sub.html new file mode 100644 index 0000000000..c45736a896 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-wrongheader.sub.html @@ -0,0 +1,11 @@ + + + + html-script-module-crossOrigin-root-BlockedWrongHeader + + + +

html-script-module-crossOrigin-root-BlockedWrongHeader

+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js new file mode 100644 index 0000000000..29d04ec619 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js @@ -0,0 +1,8 @@ +export var foo = {}; + +// Push an event to the log indicating that the script was executed. +document._log.push("running"); + +// Deliberately trigger an error to test what details of the error +// the (possibly) cross-origin parent can listen to. +nonExistentMethod(); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin.html new file mode 100644 index 0000000000..5c8d6667b0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/crossorigin.html @@ -0,0 +1,43 @@ + + + + html-script-module-crossOrigin + + + + +

html-script-module-crossOrigin

+ + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/currentScript-null.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/currentScript-null.html new file mode 100644 index 0000000000..146a9db60d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/currentScript-null.html @@ -0,0 +1,13 @@ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/currentscript.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/currentscript.js new file mode 100644 index 0000000000..547359ff96 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/currentscript.js @@ -0,0 +1 @@ +export let currentScriptOnImportedModule = window.document.currentScript; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/custom-element-exception.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/custom-element-exception.html new file mode 100644 index 0000000000..bd77a8f1bb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/custom-element-exception.html @@ -0,0 +1,31 @@ + +Handling of exceptions in custom element constructors + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/cycle-tdz-access-a.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/cycle-tdz-access-a.js new file mode 100644 index 0000000000..1f91f93eb1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/cycle-tdz-access-a.js @@ -0,0 +1,3 @@ +log.push("cycle-tdz-access-a"); +import { Y } from "./cycle-tdz-access.js"; +export var X = Y; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/cycle-tdz-access.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/cycle-tdz-access.js new file mode 100644 index 0000000000..9df68b3b27 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/cycle-tdz-access.js @@ -0,0 +1,3 @@ +log.push("cycle-tdz-access"); +import { X } from "./cycle-tdz-access-a.js"; +export let Y = X; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/cycle-unresolvable-a.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/cycle-unresolvable-a.js new file mode 100644 index 0000000000..12994f23d0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/cycle-unresolvable-a.js @@ -0,0 +1,2 @@ +export {x} from "./cycle-unresolvable.js"; +log.push("cycle-unresolvable-a"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/cycle-unresolvable.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/cycle-unresolvable.js new file mode 100644 index 0000000000..61c6d8dcb0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/cycle-unresolvable.js @@ -0,0 +1,2 @@ +export {x} from "./cycle-unresolvable-a.js"; +log.push("cycle-unresolvable"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/duplicated-imports-1.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/duplicated-imports-1.html new file mode 100644 index 0000000000..57002a3e07 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/duplicated-imports-1.html @@ -0,0 +1,23 @@ + +Importing a module multiple times with the same specifier + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/duplicated-imports-2.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/duplicated-imports-2.html new file mode 100644 index 0000000000..6a01495c33 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/duplicated-imports-2.html @@ -0,0 +1,23 @@ + +Importing a module multiple times with the different specifier + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/base-url-worker-importScripts.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/base-url-worker-importScripts.html new file mode 100644 index 0000000000..817cf6d5dd --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/base-url-worker-importScripts.html @@ -0,0 +1,7 @@ + +Base URLs used in resolving specifiers in dynamic imports from importScripts() + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/base-url-worker.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/base-url-worker.sub.html new file mode 100644 index 0000000000..a12204281c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/base-url-worker.sub.html @@ -0,0 +1,8 @@ + +Base URLs used in resolving specifiers in dynamic imports from workers + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/base-url.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/base-url.sub.html new file mode 100644 index 0000000000..f7d4927a10 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/base-url.sub.html @@ -0,0 +1,28 @@ + +Base URLs used in resolving specifiers in dynamic imports + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/code-cache.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/code-cache.js new file mode 100644 index 0000000000..8a8530c9b6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/code-cache.js @@ -0,0 +1,9 @@ +promise_test(() => { + return (new Function('w', 'return import(w)'))("./import.js?Function") + .then(module => assert_equals(module.A.from, 'alpha/import.js')); +}, 'alpha - Function'); + +promise_test(() => { + return eval('import("./import.js?eval")') + .then(module => assert_equals(module.A.from, 'alpha/import.js')); +}, 'alpha - eval'); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/import.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/import.js new file mode 100644 index 0000000000..b2ac52df2a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/import.js @@ -0,0 +1 @@ +export const A = { "from": "alpha/import.js" }; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/worker-importScripts.sub.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/worker-importScripts.sub.js new file mode 100644 index 0000000000..904d32f9bf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/alpha/worker-importScripts.sub.js @@ -0,0 +1,15 @@ +"use strict"; + +importScripts("/resources/testharness.js"); + +// CORS-same-origin +self.testName = "same-origin importScripts()"; +self.baseUrlSanitized = false; +importScripts("../beta/redirect.py?location=http://{{host}}:{{ports[http][0]}}/html/semantics/scripting-1/the-script-element/module/dynamic-import/gamma/base-url.sub.js"); + +// CORS-cross-origin +self.testName = "cross-origin importScripts()"; +self.baseUrlSanitized = true; +importScripts("../beta/redirect.py?location=http://{{hosts[alt][]}}:{{ports[http][0]}}/html/semantics/scripting-1/the-script-element/module/dynamic-import/gamma/base-url.sub.js"); + +done(); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/beta/code-cache.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/beta/code-cache.js new file mode 100644 index 0000000000..1c2a2b636a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/beta/code-cache.js @@ -0,0 +1,9 @@ +promise_test(() => { + return (new Function('w', 'return import(w)'))("./import.js?Function") + .then(module => assert_equals(module.A.from, 'beta/import.js')); +}, 'beta - Function'); + +promise_test(() => { + return eval('import("./import.js?eval")') + .then(module => assert_equals(module.A.from, 'beta/import.js')); +}, 'beta - eval'); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/beta/import.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/beta/import.js new file mode 100644 index 0000000000..7de1c68182 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/beta/import.js @@ -0,0 +1 @@ +export const A = { "from": "beta/import.js" }; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/beta/redirect.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/beta/redirect.py new file mode 100644 index 0000000000..f2fd1ebd51 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/beta/redirect.py @@ -0,0 +1,19 @@ +def main(request, response): + """Simple handler that causes redirection. + + The request should typically have two query parameters: + status - The status to use for the redirection. Defaults to 302. + location - The resource to redirect to. + """ + status = 302 + if b"status" in request.GET: + try: + status = int(request.GET.first(b"status")) + except ValueError: + pass + + response.status = status + + location = request.GET.first(b"location") + + response.headers.set(b"Location", location) diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/blob-url-workers.window.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/blob-url-workers.window.js new file mode 100644 index 0000000000..70cb20fa57 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/blob-url-workers.window.js @@ -0,0 +1,60 @@ +function objectUrlFromModule(module) { + const blob = new Blob([module], { type: "text/javascript" }); + return URL.createObjectURL(blob); +} + +const moduleText = `export const foo = "bar";`; + +async_test((t) => { + const moduleBlobUrl = objectUrlFromModule(moduleText); + t.add_cleanup(() => URL.revokeObjectURL(moduleBlobUrl)); + + const worker = new Worker("./resources/blob-url-worker.js"); + worker.postMessage(moduleBlobUrl); + + worker.addEventListener( + "message", + t.step_func_done((evt) => { + assert_true(evt.data.importSucceeded); + assert_equals(evt.data.module.foo, "bar"); + }) + ); +}, "A blob URL created in a window agent can be imported from a worker"); + +async_test((t) => { + const moduleBlobUrl = objectUrlFromModule(moduleText); + URL.revokeObjectURL(moduleBlobUrl); + + const worker = new Worker("./resources/blob-url-worker.js"); + worker.postMessage(moduleBlobUrl); + + worker.addEventListener( + "message", + t.step_func_done((evt) => { + assert_false(evt.data.importSucceeded); + assert_equals(evt.data.errorName, "TypeError"); + }) + ); +}, "A blob URL revoked in a window agent will not resolve in a worker"); + +promise_test(async (t) => { + const moduleBlobUrl = objectUrlFromModule(moduleText); + + await import(moduleBlobUrl); + + URL.revokeObjectURL(moduleBlobUrl); + + const worker = new Worker("./resources/blob-url-worker.js"); + worker.postMessage(moduleBlobUrl); + + await new Promise((resolve) => { + worker.addEventListener( + "message", + t.step_func((evt) => { + assert_false(evt.data.importSucceeded); + assert_equals(evt.data.errorName, "TypeError"); + resolve(); + }) + ); + }); +}, "A revoked blob URL will not resolve in a worker even if it's in the window's module graph"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/blob-url.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/blob-url.any.js new file mode 100644 index 0000000000..0719a18bf1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/blob-url.any.js @@ -0,0 +1,66 @@ +// META: global=window,dedicatedworker,sharedworker,dedicatedworker-module,sharedworker-module + +function objectUrlFromModule(module) { + const blob = new Blob([module], { type: "text/javascript" }); + return URL.createObjectURL(blob); +} + +const moduleText = `export const foo = "bar";`; + +promise_test(async (t) => { + const moduleBlobUrl = objectUrlFromModule(moduleText); + t.add_cleanup(() => URL.revokeObjectURL(moduleBlobUrl)); + + const module = await import(moduleBlobUrl); + assert_equals(module.foo, "bar"); +}, "Blob URLs are supported in dynamic imports"); + +promise_test(async (t) => { + const moduleBlobUrl = objectUrlFromModule(moduleText); + t.add_cleanup(() => URL.revokeObjectURL(moduleBlobUrl)); + + const module1 = await import(moduleBlobUrl); + const module2 = await import(moduleBlobUrl); + assert_equals(module1, module2); +}, "Identical blob URLs resolve to the same module"); + +promise_test(async (t) => { + const moduleBlob = new Blob([moduleText], { type: "text/javascript" }); + const moduleBlobUrl1 = URL.createObjectURL(moduleBlob); + const moduleBlobUrl2 = URL.createObjectURL(moduleBlob); + t.add_cleanup(() => { + URL.revokeObjectURL(moduleBlobUrl1); + URL.revokeObjectURL(moduleBlobUrl2); + }); + + const module1 = await import(moduleBlobUrl1); + const module2 = await import(moduleBlobUrl2); + assert_not_equals(module1, module2); +}, "Different blob URLs pointing to the same blob resolve to different modules"); + +promise_test(async (t) => { + const moduleBlobUrl = objectUrlFromModule(moduleText); + URL.revokeObjectURL(moduleBlobUrl); + + await promise_rejects_js(t, TypeError, import(moduleBlobUrl)); +}, "A revoked blob URL will not resolve"); + +promise_test(async () => { + const moduleBlobUrl = objectUrlFromModule(moduleText); + const module1 = await import(moduleBlobUrl); + + URL.revokeObjectURL(moduleBlobUrl); + + const module2 = await import(moduleBlobUrl); + assert_equals(module1, module2); +}, "A revoked blob URL will resolve if it's already in the module graph"); + +promise_test(async () => { + const moduleBlobUrl = objectUrlFromModule(moduleText); + + const importPromise = import(moduleBlobUrl); + URL.revokeObjectURL(moduleBlobUrl); + + const module = await importPromise; + assert_equals(module.foo, "bar"); +}, "Revoking a blob URL immediately after calling import will not fail"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/code-cache-base-url.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/code-cache-base-url.html new file mode 100644 index 0000000000..688a6193a5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/code-cache-base-url.html @@ -0,0 +1,19 @@ + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/code-cache-nonce.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/code-cache-nonce.html new file mode 100644 index 0000000000..bd920f8107 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/code-cache-nonce.html @@ -0,0 +1,43 @@ + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/delay-load-event.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/delay-load-event.html new file mode 100644 index 0000000000..5ec6433e65 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/delay-load-event.html @@ -0,0 +1,25 @@ + +Dynamic imports don't delay the load event + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-credentials-setTimeout.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-credentials-setTimeout.sub.html new file mode 100644 index 0000000000..189aa819fa --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-credentials-setTimeout.sub.html @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-credentials.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-credentials.sub.html new file mode 100644 index 0000000000..910644531c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-credentials.sub.html @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-fetch-error.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-fetch-error.sub.html new file mode 100644 index 0000000000..12738c7b97 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-fetch-error.sub.html @@ -0,0 +1,61 @@ + +import(): error cases occuring during fetching + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-script-error.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-script-error.html new file mode 100644 index 0000000000..e9b10e3bab --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-script-error.html @@ -0,0 +1,53 @@ + +import(): error cases caused by the imported module script + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports.html new file mode 100644 index 0000000000..9807e21b0d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports.html @@ -0,0 +1,12 @@ + +Basic dynamic imports + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/gamma/base-url.sub.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/gamma/base-url.sub.js new file mode 100644 index 0000000000..ec7784983d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/gamma/base-url.sub.js @@ -0,0 +1,58 @@ +"use strict"; + +// This script triggers import(), and thus the base URL of this script +// (either loaded by ` + +
+ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/basic.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/basic.any.js new file mode 100644 index 0000000000..82cb3b215d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/basic.any.js @@ -0,0 +1,32 @@ +// META: global=window,dedicatedworker,sharedworker +// META: script=ticker.js + +promise_test(async t => { + const getCount = ticker(1000); + + const importP = import(""); + await promise_rejects_js(t, TypeError, importP, 'import() should reject'); + + assert_less_than(getCount(), 1000); +}, "import() should not drain the microtask queue if it fails during specifier resolution"); + +promise_test(async t => { + // Use Date.now() to ensure that the module is not in the module map + const specifier = "./empty-module.js?" + Date.now(); + + await import(specifier); + + const getCount = ticker(1000); + await import(specifier); + assert_less_than(getCount(), 1000); +}, "import() should not drain the microtask queue when loading an already loaded module"); + +promise_test(async t => { + // Use Date.now() to ensure that the module is not in the module map + const specifier = "./empty-module.js?" + Date.now(); + + const getCount = ticker(1e7); + await import(specifier); + assert_equals(getCount(), 1e7); +}, "import() should drain the microtask queue when fetching a new module"); + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/css-import-in-worker.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/css-import-in-worker.any.js new file mode 100644 index 0000000000..bd6f5d092f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/css-import-in-worker.any.js @@ -0,0 +1,14 @@ +// META: global=dedicatedworker,sharedworker +// META: script=ticker.js + +promise_test(async t => { + // Use Date.now() to ensure that the module is not in the module map + const specifier = "./empty-module.css?" + Date.now(); + + const getCount = ticker(1000); + + const importP = import(specifier, { assert: { type: "css" } }); + await promise_rejects_js(t, TypeError, importP, 'import() should reject'); + + assert_less_than(getCount(), 1000); +}, "import() should not drain the microtask queue if it fails because of the 'type: css' assertion in a worker"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/empty-module.css b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/empty-module.css new file mode 100644 index 0000000000..108e7649bd --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/empty-module.css @@ -0,0 +1,4 @@ +/* +This file is empty, because all it matters is if the +dynamic import that loads it fails or succedes. +*/ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/empty-module.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/empty-module.js new file mode 100644 index 0000000000..108e7649bd --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/empty-module.js @@ -0,0 +1,4 @@ +/* +This file is empty, because all it matters is if the +dynamic import that loads it fails or succedes. +*/ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/serviceworker.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/serviceworker.any.js new file mode 100644 index 0000000000..4c75cab1b6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/serviceworker.any.js @@ -0,0 +1,14 @@ +// META: global=serviceworker +// META: script=ticker.js + +promise_test(async t => { + // Use Date.now() to ensure that the module is not in the module map + const specifier = "./empty-module.js?" + Date.now(); + + const getCount = ticker(1000); + + const importP = import(specifier); + await promise_rejects_js(t, TypeError, importP, 'import() should reject'); + + assert_less_than(getCount(), 1000); +}, "import() should not drain the microtask queue if it fails because it's used in a ServiceWorker"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/ticker.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/ticker.js new file mode 100644 index 0000000000..42619b6e70 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/ticker.js @@ -0,0 +1,13 @@ +globalThis.ticker = function ticker(max) { + let i = 0; + let stop = false; + Promise.resolve().then(function loop() { + if (stop || i >= max) return; + i++; + Promise.resolve().then(loop); + }); + return () => { + stop = true; + return i; + }; +}; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/with-import-assertions.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/with-import-assertions.any.js new file mode 100644 index 0000000000..f67ba9a1ae --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/with-import-assertions.any.js @@ -0,0 +1,15 @@ +// META: global=window,dedicatedworker,sharedworker +// META: script=ticker.js + +promise_test(async t => { + // Use Date.now() to ensure that the module is not in the module map + const specifier = "./empty-module.js?" + Date.now(); + + const getCount = ticker(1000); + + const importP = import(specifier, { assert: { type: "" } }); + await promise_rejects_js(t, TypeError, importP, 'import() should reject'); + + assert_less_than(getCount(), 1000); +}, "import() should not drain the microtask queue if it fails while validating the 'type' assertion"); + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/worklet-ref.https.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/worklet-ref.https.html new file mode 100644 index 0000000000..6c598aee39 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/worklet-ref.https.html @@ -0,0 +1,10 @@ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/worklet.https.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/worklet.https.html new file mode 100644 index 0000000000..5cd59f86dc --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/worklet.https.html @@ -0,0 +1,43 @@ + + + + + + + + +
+ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/no-active-script-classic-manual.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/no-active-script-classic-manual.html new file mode 100644 index 0000000000..b01f595c03 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/no-active-script-classic-manual.html @@ -0,0 +1,55 @@ + + +Dynamic import when there is no active script + + + + +

Click these buttons in sequence:

+ + + + + +

The result will be pass/fail per the testharness.js results

+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/no-active-script-module-manual.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/no-active-script-module-manual.html new file mode 100644 index 0000000000..359b71d821 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/no-active-script-module-manual.html @@ -0,0 +1,55 @@ + + +Dynamic import when there is no active script + + + + +

Click these buttons in sequence:

+ + + + + +

The result will be pass/fail per the testharness.js results

+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-classic.html new file mode 100644 index 0000000000..0958cfbeba --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-classic.html @@ -0,0 +1,5 @@ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-module.html new file mode 100644 index 0000000000..47c422e59c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-module.html @@ -0,0 +1,5 @@ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external.js new file mode 100644 index 0000000000..3b97d2f40e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external.js @@ -0,0 +1,7 @@ +// This file is loaded both as a module and as a classic script. +promise_test(t => { + return import("../imports-a.js").then(module => { + assert_true(window.evaluated_imports_a); + assert_equals(module.A["from"], "imports-a.js"); + }); +}, "Dynamically imported module should eval when imported from script w/ a valid nonce."); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-classic.html new file mode 100644 index 0000000000..754110cb5e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-classic.html @@ -0,0 +1,12 @@ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-module.html new file mode 100644 index 0000000000..f3322773a4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-module.html @@ -0,0 +1,12 @@ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/blob-url-worker.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/blob-url-worker.js new file mode 100644 index 0000000000..07071e05ce --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/blob-url-worker.js @@ -0,0 +1,11 @@ +self.addEventListener("message", (evt) => { + const importModule = import(evt.data); + importModule.then( + (module) => { + self.postMessage({ importSucceeded: true, module: { ...module } }); + }, + (error) => { + self.postMessage({ importSucceeded: false, errorName: error.name }); + } + ); +}); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/code-cache-nonce-iframe.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/code-cache-nonce-iframe.sub.html new file mode 100644 index 0000000000..56f915aac1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/code-cache-nonce-iframe.sub.html @@ -0,0 +1,4 @@ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/code-cache-nonce.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/code-cache-nonce.js new file mode 100644 index 0000000000..e9983fb6cd --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/code-cache-nonce.js @@ -0,0 +1,4 @@ +// Note that the function source text is intentionally different from e.g. +// ../alpha/code-cache.js to avoid caching Functions between different sets +// of tests. +parent.promise = (new Function('x', 'return import(x)'))('../../imports-a.js'); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/empty-iframe.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/empty-iframe.html new file mode 100644 index 0000000000..ad5ab30eda --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/empty-iframe.html @@ -0,0 +1,9 @@ + + + + + + +
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/status-changing-script.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/status-changing-script.py new file mode 100644 index 0000000000..a44d3dd3eb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/status-changing-script.py @@ -0,0 +1,18 @@ +def main(request, response): + headers = [(b"Content-Type", b"text/javascript"), + (b"Cache-Control", b"private, no-store")] + + id = request.GET.first(b"id") + + with request.server.stash.lock: + status = request.server.stash.take(id) + if status is None: + status = 200 + + new_status = request.GET.first(b"newStatus", None) + if new_status is not None: + status = int(new_status) + + request.server.stash.put(id, status) + + return status, headers, b"" diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/v8-code-cache-iframe.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/v8-code-cache-iframe.sub.html new file mode 100644 index 0000000000..c3a870b3f1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/v8-code-cache-iframe.sub.html @@ -0,0 +1,9 @@ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/v8-code-cache.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/v8-code-cache.js new file mode 100644 index 0000000000..1d3e88a51d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/resources/v8-code-cache.js @@ -0,0 +1,74 @@ +parent.promise = import('../../imports-a.js'); + +// Padding for triggering V8 Code Cache on Chromium. +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ +// ============================================================================ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/Function.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/Function.js new file mode 100644 index 0000000000..447e5060b1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/Function.js @@ -0,0 +1,2 @@ +// import()s in a dynamically created function are resolved relative to the script. +Function(`import('../../imports-a.js?label=' + window.label).then(window.continueTest, window.errorTest)`)(); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/eval.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/eval.js new file mode 100644 index 0000000000..100602733a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/eval.js @@ -0,0 +1,2 @@ +// import()s in eval are resolved relative to the script. +eval(`import('../../imports-a.js?label=' + window.label).then(window.continueTest, window.errorTest)`); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/inline-event-handlers-UA-code.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/inline-event-handlers-UA-code.js new file mode 100644 index 0000000000..3202ce47b9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/inline-event-handlers-UA-code.js @@ -0,0 +1,3 @@ +// import()s in an event handler are resolved relative to the document base. +window.dummyDiv.setAttribute("onclick", `import('./imports-a.js?label=' + window.label).then(window.continueTest, window.errorTest)`); +window.dummyDiv.click(); // different from **on**click() diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/no-active-script.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/no-active-script.js new file mode 100644 index 0000000000..85d8ac29ec --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/no-active-script.js @@ -0,0 +1,5 @@ +"use strict"; + +document.querySelector("#button1").setAttribute("onclick", "import('../imports-a.js?label=button1').then(window.continueTest1, window.errorTest1)"); + +document.querySelector("#button2").setAttribute("onclick", "Promise.resolve(`import('../imports-a.js?label=button2')`).then(eval).then(window.continueTest2, window.errorTest2);"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/reflected-inline-event-handlers.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/reflected-inline-event-handlers.js new file mode 100644 index 0000000000..923eb7d8b6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/reflected-inline-event-handlers.js @@ -0,0 +1,3 @@ +// import()s in an event handler are resolved relative to the document base. +window.dummyDiv.setAttribute("onclick", `import('./imports-a.js?label=' + window.label).then(window.continueTest, window.errorTest)`); +window.dummyDiv.onclick(); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/setTimeout.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/setTimeout.js new file mode 100644 index 0000000000..342b342e8e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/setTimeout.js @@ -0,0 +1,2 @@ +// import()s in a timeout handler are resolved relative to the script. +setTimeout(`import('../../imports-a.js?label=' + window.label).then(window.continueTest, window.errorTest)`, 0); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-external-classic.html new file mode 100644 index 0000000000..855705e585 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-external-classic.html @@ -0,0 +1,63 @@ + + +import() inside compiled strings uses the script base URL inside a classic script that is loaded from a file + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-external-module.html new file mode 100644 index 0000000000..d90af9c96a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-external-module.html @@ -0,0 +1,64 @@ + + +import() inside compiled strings uses the script base URL inside a module script that is loaded from a file + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-inline-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-inline-classic.html new file mode 100644 index 0000000000..2fe1f75535 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-inline-classic.html @@ -0,0 +1,73 @@ + + +import() inside compiled strings uses the script base URL (= document base URL) inside an inline classic script + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-inline-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-inline-module.html new file mode 100644 index 0000000000..1691550ecb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-inline-module.html @@ -0,0 +1,73 @@ + + +import() inside compiled strings uses the script base URL (= document base URL) inside an inline module script + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-classic.html new file mode 100644 index 0000000000..34ea00abc8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-classic.html @@ -0,0 +1,54 @@ + + +import() inside compiled strings inside a classic script + + + + + +
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-module.html new file mode 100644 index 0000000000..b85d446d8d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-module.html @@ -0,0 +1,54 @@ + + +import() inside compiled strings inside a module script + + + + + +
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-classic.html new file mode 100644 index 0000000000..b582eba8b0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-classic.html @@ -0,0 +1,104 @@ + + +import() inside compiled strings uses the appropriate nonce inside a classic script + + + + + + + +
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-module.html new file mode 100644 index 0000000000..4fa1cc5877 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-module.html @@ -0,0 +1,103 @@ + + +import() inside compiled strings uses the appropriate nonce inside a module script + + + + + + + +
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-of-promise-result.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-of-promise-result.html new file mode 100644 index 0000000000..5514049c78 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-of-promise-result.html @@ -0,0 +1,83 @@ + + +import() inside compiled strings inside a classic script + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document.html new file mode 100644 index 0000000000..3b1d98f6b1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document.html @@ -0,0 +1,79 @@ + + +Check import() works when active script is in another document + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/v8-code-cache.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/v8-code-cache.html new file mode 100644 index 0000000000..77de19e74b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/v8-code-cache.html @@ -0,0 +1,42 @@ + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-and-slow-dependency.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-and-slow-dependency.html new file mode 100644 index 0000000000..f336276f3f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-and-slow-dependency.html @@ -0,0 +1,20 @@ + +Module importing syntax error script and slow script should not crash UA + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-1.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-1.html new file mode 100644 index 0000000000..2480a60d6d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-1.html @@ -0,0 +1,34 @@ + +Handling of different types of errors + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-1.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-1.js new file mode 100644 index 0000000000..4882d3f2a5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-1.js @@ -0,0 +1,2 @@ +import './syntaxerror.js'; +import './404.js'; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-2.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-2.html new file mode 100644 index 0000000000..673bf28ca2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-2.html @@ -0,0 +1,35 @@ + +Handling of different types of errors + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-2.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-2.js new file mode 100644 index 0000000000..6b11397300 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-2.js @@ -0,0 +1,2 @@ +import './instantiation-error-1.js'; +import './syntaxerror.js'; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-3.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-3.html new file mode 100644 index 0000000000..8a16266f4c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-3.html @@ -0,0 +1,35 @@ + +Handling of different types of errors + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-3.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-3.js new file mode 100644 index 0000000000..542be52846 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/error-type-3.js @@ -0,0 +1,2 @@ +import './throw.js'; +import './instantiation-error-1.js'; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-common.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-common.js new file mode 100644 index 0000000000..4eb5597a58 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-common.js @@ -0,0 +1,10 @@ +function errorHandler(ev) +{ + document._errorReported.push("error"); +} + +document._errorReported = []; +window.addEventListener("error", errorHandler); +window.addEventListener("load", function () { + document._errorReported = document._errorReported.join(","); +}); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.html new file mode 100644 index 0000000000..3a00f62f00 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.html @@ -0,0 +1,16 @@ + + + + html-script-module-errorHandling-parseError-Dependent + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.js new file mode 100644 index 0000000000..71872c47cf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.js @@ -0,0 +1,2 @@ +// Parse error in a dependent module +1A diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.html new file mode 100644 index 0000000000..7775aeabb4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.html @@ -0,0 +1,24 @@ + + + + html-script-module-errorHandling-parseError-DependentMultiple + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.js new file mode 100644 index 0000000000..71872c47cf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.js @@ -0,0 +1,2 @@ +// Parse error in a dependent module +1A diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-root.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-root.html new file mode 100644 index 0000000000..012f3e9b8c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-root.html @@ -0,0 +1,15 @@ + + + + html-script-module-errorHandling-parseError-Root + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype-import.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype-import.js new file mode 100644 index 0000000000..286e1a4229 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype-import.js @@ -0,0 +1,8 @@ +import foo from "./errorhandling-wrongMimetype.js?pipe=header(Content-Type,text/plain)"; + +// We don't expect this code to run, the import above should fail! +// If we do run though, don't trigger an error that the testharness +// might misinterpret as the import itself failing to load. + +var A = null; +export { A }; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype.js new file mode 100644 index 0000000000..373a532445 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype.js @@ -0,0 +1,7 @@ +// This is a plain JavaScript file, but since it will only be accessed with +// a Content-Type of text/plain and nosniff, it will be seen as invalid. +// The file itself will have no errors/effects, so if it does actually run, +// no error will be detected, and the test will fail. + +var foo = null; +export foo; \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html new file mode 100644 index 0000000000..cf47465b49 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html @@ -0,0 +1,60 @@ + + + + html-script-module-errorHandling + + + + + +

html-script-module-errorHandling

+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-1.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-1.html new file mode 100644 index 0000000000..3f2bb35f4e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-1.html @@ -0,0 +1,35 @@ + +Handling of evaluation errors, 1 + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-2.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-2.html new file mode 100644 index 0000000000..4f2b3c5a74 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-2.html @@ -0,0 +1,34 @@ + +Handling of evaluation errors, 2 + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-3.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-3.html new file mode 100644 index 0000000000..9bfb5df2cf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-3.html @@ -0,0 +1,37 @@ + +Handling of evaluation errors, 3 + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-4.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-4.html new file mode 100644 index 0000000000..0b4b7d1662 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-4.html @@ -0,0 +1,37 @@ + +Handling of evaluation errors, 4 + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered2.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered2.js new file mode 100644 index 0000000000..d7115a2ac6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered2.js @@ -0,0 +1,3 @@ +test_dynamicOrdered.step(function() { + assert_execCount(1, 2, "External script element (#1) should have fired second"); +}); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered3.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered3.js new file mode 100644 index 0000000000..c04e101bb8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered3.js @@ -0,0 +1,3 @@ +test_dynamicOrdered.step(function() { + assert_execCount(1, 3, "External script element (#2) should have fired third"); +}); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered4.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered4.js new file mode 100644 index 0000000000..958736a3d8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered4.js @@ -0,0 +1,3 @@ +test_dynamicOrdered.step(function() { + assert_execCount(1, 4, "External script element (#3) should have fired fourth"); +}); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered1.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered1.js new file mode 100644 index 0000000000..a54cb7a303 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered1.js @@ -0,0 +1,3 @@ +test_dynamicUnordered1.step(function() { + test_dynamicUnordered1.done(); +}); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered2.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered2.js new file mode 100644 index 0000000000..df0cd85421 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered2.js @@ -0,0 +1,3 @@ +test_dynamicUnordered2.step(function() { + test_dynamicUnordered2.done(); +}); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered2.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered2.js new file mode 100644 index 0000000000..fca73bd9db --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered2.js @@ -0,0 +1,3 @@ +test_parsedOrdered.step(function() { + assert_execCount(0, 2, "External deferred (#1) script element should have fired second"); +}); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered4.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered4.js new file mode 100644 index 0000000000..6435333bb9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered4.js @@ -0,0 +1,3 @@ +test_parsedOrdered.step(function() { + assert_execCount(0, 4, "External deferred (#2) script element should have fired fourth"); +}); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered1.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered1.js new file mode 100644 index 0000000000..ea0bb1b486 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered1.js @@ -0,0 +1,3 @@ +test_parsedUnordered1.step(function() { + test_parsedUnordered1.done(); +}); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered2.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered2.js new file mode 100644 index 0000000000..ce219ee0ea --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered2.js @@ -0,0 +1,3 @@ +test_parsedUnordered2.step(function() { + test_parsedUnordered2.done(); +}); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder.html new file mode 100644 index 0000000000..6a7513dc13 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/execorder.html @@ -0,0 +1,106 @@ + + + + html-script-module-execOrder + + + + + + +

html-script-module-execOrder

+ + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/export-default.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/export-default.js new file mode 100644 index 0000000000..283830ab28 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/export-default.js @@ -0,0 +1,2 @@ +log.push("export-default"); +export default "fox"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/export-something-nested.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/export-something-nested.js new file mode 100644 index 0000000000..ca806eb8b1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/export-something-nested.js @@ -0,0 +1,2 @@ +log.push("export-something-nested"); +export * from "./export-something.js"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/export-something.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/export-something.js new file mode 100644 index 0000000000..cf2c3a99fe --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/export-something.js @@ -0,0 +1,3 @@ +log.push("export-something"); +export let foo = 42; +export function set_foo(x) { foo = x }; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/fetch-error-1.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/fetch-error-1.html new file mode 100644 index 0000000000..170bb665ff --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/fetch-error-1.html @@ -0,0 +1,15 @@ + +Handling of fetch errors, 1 + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/fetch-error-2.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/fetch-error-2.html new file mode 100644 index 0000000000..9386ce603a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/fetch-error-2.html @@ -0,0 +1,15 @@ + +Handling of fetch errors, 2 + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/fetch-error-2.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/fetch-error-2.js new file mode 100644 index 0000000000..20c0ea6402 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/fetch-error-2.js @@ -0,0 +1,2 @@ +import "./no-such-file.js" +import "./this.js"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-dependent.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-dependent.js new file mode 100644 index 0000000000..cfaeabc47e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-dependent.js @@ -0,0 +1 @@ +export let importMetaOnDependentModule = import.meta; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-object.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-object.any.js new file mode 100644 index 0000000000..494e168102 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-object.any.js @@ -0,0 +1,20 @@ +// META: global=dedicatedworker-module,sharedworker-module,serviceworker-module + +test(() => { + assert_equals(typeof import.meta, "object"); + assert_not_equals(import.meta, null); +}, "import.meta is an object"); + +test(() => { + import.meta.newProperty = 1; + assert_true(Object.isExtensible(import.meta)); +}, "import.meta is extensible"); + +test(() => { + for (const name of Reflect.ownKeys(import.meta)) { + const desc = Object.getOwnPropertyDescriptor(import.meta, name); + assert_equals(desc.writable, true); + assert_equals(desc.enumerable, true); + assert_equals(desc.configurable, true); + } +}, "import.meta's properties are writable, configurable, and enumerable"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-resolve-importmap.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-resolve-importmap.html new file mode 100644 index 0000000000..214b9bb59c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-resolve-importmap.html @@ -0,0 +1,57 @@ + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-resolve-multiple-scripts.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-resolve-multiple-scripts.html new file mode 100644 index 0000000000..d2e0f185e0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-resolve-multiple-scripts.html @@ -0,0 +1,39 @@ + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-resolve.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-resolve.any.js new file mode 100644 index 0000000000..5b8a84efaf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-resolve.any.js @@ -0,0 +1,77 @@ +// META: global=dedicatedworker-module,sharedworker-module,serviceworker-module + +import { importMetaOnRootModule, importMetaOnDependentModule } + from "./import-meta-root.js"; + +test(() => { + assert_equals(typeof import.meta.resolve, "function"); + assert_equals(import.meta.resolve.name, "resolve"); + assert_equals(import.meta.resolve.length, 1); + assert_equals(Object.getPrototypeOf(import.meta.resolve), Function.prototype); +}, "import.meta.resolve is a function with the right properties"); + +test(() => { + assert_false(isConstructor(import.meta.resolve)); + + assert_throws_js(TypeError, () => new import.meta.resolve("./x")); +}, "import.meta.resolve is not a constructor"); + +test(() => { + // See also tests in ./import-meta-resolve-importmap.html. + + assert_equals(import.meta.resolve({ toString() { return "./x"; } }), resolveURL("x")); + assert_throws_js(TypeError, () => import.meta.resolve(Symbol("./x")), + "symbol"); + assert_throws_js(TypeError, () => import.meta.resolve(), + "no argument (which is treated like \"undefined\")"); +}, "import.meta.resolve ToString()s its argument"); + +test(() => { + assert_equals(import.meta.resolve("./x"), resolveURL("x"), + "current module import.meta"); + assert_equals(importMetaOnRootModule.resolve("./x"), resolveURL("x"), + "sibling module import.meta"); + assert_equals(importMetaOnDependentModule.resolve("./x"), resolveURL("x"), + "dependency module import.meta"); +}, "Relative URL-like specifier resolution"); + +test(() => { + assert_equals(import.meta.resolve("https://example.com/"), "https://example.com/", + "current module import.meta"); + assert_equals(importMetaOnRootModule.resolve("https://example.com/"), "https://example.com/", + "sibling module import.meta"); + assert_equals(importMetaOnDependentModule.resolve("https://example.com/"), "https://example.com/", + "dependency module import.meta"); +}, "Absolute URL-like specifier resolution"); + +test(() => { + const invalidSpecifiers = [ + "https://eggplant:b/c", + "pumpkins.js", + ".tomato", + "..zuccini.mjs", + ".\\yam.es" + ]; + + for (const specifier of invalidSpecifiers) { + assert_throws_js(TypeError, () => import.meta.resolve(specifier), specifier); + } +}, "Invalid module specifiers"); + +test(() => { + const { resolve } = import.meta; + assert_equals(resolve("https://example.com/"), "https://example.com/", "current module import.meta"); +}, "Works fine with no this value"); + +function resolveURL(urlRelativeToThisTest) { + return (new URL(urlRelativeToThisTest, location.href)).href; +} + +function isConstructor(o) { + try { + new (new Proxy(o, { construct: () => ({}) })); + return true; + } catch { + return false; + } +} diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-root.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-root.js new file mode 100644 index 0000000000..62ec082a8e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-root.js @@ -0,0 +1,2 @@ +export let importMetaOnRootModule = import.meta; +export { importMetaOnDependentModule } from "./import-meta-dependent.js"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-url.any.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-url.any.js new file mode 100644 index 0000000000..61d96f35af --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-url.any.js @@ -0,0 +1,38 @@ +// META: global=dedicatedworker-module,sharedworker-module,serviceworker-module + +import { importMetaOnRootModule, importMetaOnDependentModule } + from "./import-meta-root.js"; + +const base = location.href.slice(0, location.href.lastIndexOf('/')); + +test(() => { + assert_equals(importMetaOnRootModule.url, + base + "/import-meta-root.js"); +}, "import.meta.url in a root external script"); + +test(() => { + assert_equals(importMetaOnDependentModule.url, + base + "/import-meta-dependent.js"); +}, "import.meta.url in a dependent external script"); + + +import { importMetaOnRootModule as hashedImportMetaOnRootModule1, + importMetaOnDependentModule as hashedImportMetaOnDependentModule1 } + from "./import-meta-root.js#1"; + +import { importMetaOnRootModule as hashedImportMetaOnRootModule2, + importMetaOnDependentModule as hashedImportMetaOnDependentModule2 } + from "./import-meta-root.js#2"; + +test(() => { + assert_equals(hashedImportMetaOnRootModule1.url, + base + "/import-meta-root.js#1"); + assert_equals(hashedImportMetaOnRootModule2.url, + base + "/import-meta-root.js#2"); + + // Must not be affected + assert_equals(hashedImportMetaOnDependentModule1.url, + base + "/import-meta-dependent.js"); + assert_equals(hashedImportMetaOnDependentModule2.url, + base + "/import-meta-dependent.js"); +}, "import.meta.url when importing the module with different fragments"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-url.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-url.html new file mode 100644 index 0000000000..284a15f2b2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-url.html @@ -0,0 +1,34 @@ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/postmessage-worker.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/postmessage-worker.js new file mode 100644 index 0000000000..3618137aef --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/postmessage-worker.js @@ -0,0 +1,12 @@ +if ('DedicatedWorkerGlobalScope' in self && + self instanceof DedicatedWorkerGlobalScope) { + postMessage(import.meta.url); +} else if ( + 'SharedWorkerGlobalScope' in self && + self instanceof SharedWorkerGlobalScope) { + self.onconnect = function(e) { + const port = e.ports[0]; + port.start(); + port.postMessage(import.meta.url); + }; +} diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/resources/export-1.mjs b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/resources/export-1.mjs new file mode 100644 index 0000000000..aef22247d7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/resources/export-1.mjs @@ -0,0 +1 @@ +export default 1; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/resources/export-2.mjs b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/resources/export-2.mjs new file mode 100644 index 0000000000..842e368a0a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/resources/export-2.mjs @@ -0,0 +1 @@ +export default 2; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/resources/export-import-meta.mjs b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/resources/export-import-meta.mjs new file mode 100644 index 0000000000..488ca74c93 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/resources/export-import-meta.mjs @@ -0,0 +1,2 @@ +export const url = import.meta.url; +export const resolve = import.meta.resolve; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/resources/store-import-meta.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/resources/store-import-meta.html new file mode 100644 index 0000000000..c9751da408 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-meta/resources/store-import-meta.html @@ -0,0 +1,5 @@ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-something-namespace.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-something-namespace.js new file mode 100644 index 0000000000..32d90287d7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-something-namespace.js @@ -0,0 +1,5 @@ +log.push("import-something-namespace"); +log.push(m.foo); +m.set_foo(43); +log.push(m.foo); +import * as m from "./export-something.js"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-subgraph-404.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-subgraph-404.html new file mode 100644 index 0000000000..4911a071a0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/import-subgraph-404.html @@ -0,0 +1,14 @@ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-a.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-a.js new file mode 100644 index 0000000000..44d1ac96c2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-a.js @@ -0,0 +1,3 @@ +var A = { "from": "imports-a.js" }; +window.evaluated_imports_a = true; +export { A }; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-b.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-b.js new file mode 100644 index 0000000000..ae194e4d8a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-b.js @@ -0,0 +1 @@ +export var B = { "from": "imports-b.js" }; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-cycle-a.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-cycle-a.js new file mode 100644 index 0000000000..8bd8526f76 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-cycle-a.js @@ -0,0 +1,2 @@ +import { CycleB } from "./imports-cycle-b.js"; +export var CycleA = "CycleA"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-cycle-b.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-cycle-b.js new file mode 100644 index 0000000000..218f350c39 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-cycle-b.js @@ -0,0 +1,2 @@ +import { CycleA } from "./imports-cycle-a.js"; +export var CycleB = "CycleB"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-cycle.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-cycle.js new file mode 100644 index 0000000000..88a77a4d67 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-cycle.js @@ -0,0 +1,6 @@ +import { CycleA } from "./imports-cycle-a.js"; + +test_importCycle.step(function () { + assert_equals(CycleA, "CycleA"); + test_importCycle.done(); +}); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-inc-a.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-inc-a.js new file mode 100644 index 0000000000..8cb2298e8a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-inc-a.js @@ -0,0 +1,2 @@ +import { A } from "./imports-a.js"; +export { A as INC_A }; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-inc-ab.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-inc-ab.js new file mode 100644 index 0000000000..b7d84005c5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-inc-ab.js @@ -0,0 +1,5 @@ +import { A } from "./imports-a.js"; +export { A as INC_AB_A }; + +import { B } from "./imports-b.js"; +export { B as INC_AB_B }; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-inc-b.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-inc-b.js new file mode 100644 index 0000000000..243b84fdd0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-inc-b.js @@ -0,0 +1,2 @@ +import { B } from "./imports-b.js"; +export { B as INC_B }; \ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-self-inner.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-self-inner.js new file mode 100644 index 0000000000..40eca1c8df --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-self-inner.js @@ -0,0 +1,2 @@ +import { SelfInner as SelfInnerA } from "./imports-self-inner.js"; +export var SelfInner = "SelfInner"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-self.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-self.js new file mode 100644 index 0000000000..05fa60e2dc --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports-self.js @@ -0,0 +1,6 @@ +import { SelfInner } from "./imports-self-inner.js"; + +test_importSelf.step(function () { + assert_equals(SelfInner, "SelfInner"); + test_importSelf.done(); +}); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports.html new file mode 100644 index 0000000000..ca6900744d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports.html @@ -0,0 +1,64 @@ + + + + html-script-module-imports + + + + +

html-script-module-imports

+ + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/inactive-context-import.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/inactive-context-import.html new file mode 100644 index 0000000000..ce88c0a152 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/inactive-context-import.html @@ -0,0 +1,20 @@ + + +Dynamic import triggered from inactive context should not crash + + + +
+ +
+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/inline-async-execorder.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/inline-async-execorder.html new file mode 100644 index 0000000000..db03612e82 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/inline-async-execorder.html @@ -0,0 +1,29 @@ + + + Inline async module script execution order + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.html new file mode 100644 index 0000000000..57b40f5baa --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.html @@ -0,0 +1,35 @@ + +Handling of instantiation errors, 1 + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.js new file mode 100644 index 0000000000..e317b01cc2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.js @@ -0,0 +1 @@ +import something from "./instantiation-error-1.js"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-2.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-2.html new file mode 100644 index 0000000000..27ba006fc7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-2.html @@ -0,0 +1,35 @@ + +Handling of instantiation errors, 2 + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-3.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-3.html new file mode 100644 index 0000000000..32f0a4a243 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-3.html @@ -0,0 +1,37 @@ + +Handling of instantiation errors, 3 + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4.html new file mode 100644 index 0000000000..8d3f23819a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4.html @@ -0,0 +1,32 @@ + +Handling of instantiation errors, 4 + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4a.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4a.js new file mode 100644 index 0000000000..6fed27f1c7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4a.js @@ -0,0 +1,2 @@ +import "./instantiation-error-4b.js"; +log.push("instantiation-error-4a"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4b.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4b.js new file mode 100644 index 0000000000..4b702cae67 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4b.js @@ -0,0 +1,3 @@ +import "./instantiation-error-4c.js"; +import "./instantiation-error-4d.js"; +log.push("instantiation-error-4b"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4c.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4c.js new file mode 100644 index 0000000000..ef699f6ca3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4c.js @@ -0,0 +1,2 @@ +import {something} from "./instantiation-error-4c.js"; +log.push("instantiation-error-4c"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4d.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4d.js new file mode 100644 index 0000000000..ac04ccb9b3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4d.js @@ -0,0 +1,2 @@ +import {something} from "./instantiation-error-4d.js"; +log.push("instantiation-error-4d"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5.html new file mode 100644 index 0000000000..20df0bb5c9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5.html @@ -0,0 +1,32 @@ + +Handling of instantiation errors, 5 + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5a.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5a.js new file mode 100644 index 0000000000..b2e6b106b2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5a.js @@ -0,0 +1,2 @@ +import "./instantiation-error-5b.js"; +log.push("instantiation-error-5a"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5b.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5b.js new file mode 100644 index 0000000000..2d37ae8fff --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5b.js @@ -0,0 +1,3 @@ +import "./instantiation-error-5c.js"; +import "./instantiation-error-5d.js"; +log.push("instantiation-error-5b"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5c.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5c.js new file mode 100644 index 0000000000..ba221b6fc0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5c.js @@ -0,0 +1,2 @@ +import {something} from "./instantiation-error-5c.js"; +log.push("instantiation-error-5c"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5d.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5d.js new file mode 100644 index 0000000000..9775e04f82 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5d.js @@ -0,0 +1,3 @@ +import "./instantiation-error-5e.js"; +import "./instantiation-error-5a.js"; +log.push("instantiation-error-5d"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5e.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5e.js new file mode 100644 index 0000000000..8bd3b3c3bf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5e.js @@ -0,0 +1,2 @@ +import {something} from "./instantiation-error-5e.js"; +log.push("instantiation-error-5e"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6.html new file mode 100644 index 0000000000..8d3ce121ee --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6.html @@ -0,0 +1,36 @@ + +Handling of instantiation errors, 6 + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6a.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6a.js new file mode 100644 index 0000000000..4db49c6c46 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6a.js @@ -0,0 +1,2 @@ +import {foo} from "./instantiation-error-6b.js"; +log.push("instantiation-error-6a"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6b.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6b.js new file mode 100644 index 0000000000..35272fe550 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6b.js @@ -0,0 +1,3 @@ +export * from "./instantiation-error-6c.js"; +export * from "./instantiation-error-6d.js"; +log.push("instantiation-error-6b"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6c.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6c.js new file mode 100644 index 0000000000..69d616b4ba --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6c.js @@ -0,0 +1,2 @@ +export let foo = "c"; +log.push("instantiation-error-6c"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6d.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6d.js new file mode 100644 index 0000000000..d1336a57a2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6d.js @@ -0,0 +1,2 @@ +export let foo = "d"; +log.push("instantiation-error-6d"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7.html new file mode 100644 index 0000000000..57f1f87216 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7.html @@ -0,0 +1,37 @@ + +Handling of instantiation errors, 7 + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7a.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7a.js new file mode 100644 index 0000000000..d27a44865c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7a.js @@ -0,0 +1,2 @@ +import {foo} from "./instantiation-error-7b.js"; +log.push("instantiation-error-7a"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7b.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7b.js new file mode 100644 index 0000000000..8c05d3b727 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7b.js @@ -0,0 +1,3 @@ +export * from "./instantiation-error-7c.js"; +export * from "./instantiation-error-7f.js"; +log.push("instantiation-error-7b"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7c.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7c.js new file mode 100644 index 0000000000..fff1368034 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7c.js @@ -0,0 +1,3 @@ +export * from "./instantiation-error-7d.js"; +export * from "./instantiation-error-7e.js"; +log.push("instantiation-error-7c"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7d.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7d.js new file mode 100644 index 0000000000..fa5e7651f4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7d.js @@ -0,0 +1,2 @@ +export let foo = "d"; +log.push("instantiation-error-7d"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7e.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7e.js new file mode 100644 index 0000000000..6547c3fe6a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7e.js @@ -0,0 +1,2 @@ +export let foo = "e"; +log.push("instantiation-error-7e"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7f.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7f.js new file mode 100644 index 0000000000..7f9ec5d12e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7f.js @@ -0,0 +1,2 @@ +export let foo = "f"; +log.push("instantiation-error-7f"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-8.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-8.html new file mode 100644 index 0000000000..080b170233 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-8.html @@ -0,0 +1,27 @@ + +Handling of instantiation errors, 8 + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity-matches-inner.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity-matches-inner.js new file mode 100644 index 0000000000..369b3e7827 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity-matches-inner.js @@ -0,0 +1 @@ +window.matchesLog.push("integrity-matches-inner"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity-matches.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity-matches.js new file mode 100644 index 0000000000..d8c4219e90 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity-matches.js @@ -0,0 +1,2 @@ +import "./integrity-matches-inner.js"; +window.matchesLog.push("integrity-matches"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity-mismatches-inner.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity-mismatches-inner.js new file mode 100644 index 0000000000..8182d4de16 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity-mismatches-inner.js @@ -0,0 +1 @@ +window.mismatchesLog.push("integrity-mismatches-inner"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity-mismatches.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity-mismatches.js new file mode 100644 index 0000000000..2d47344a5a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity-mismatches.js @@ -0,0 +1,2 @@ +import "./integrity-mismatches-inner.js"; +window.mismatchesLog.push("integrity-mismatches"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity.html new file mode 100644 index 0000000000..c79843624f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/integrity.html @@ -0,0 +1,40 @@ + + +<script> integrity="" + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/late-namespace-request.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/late-namespace-request.html new file mode 100644 index 0000000000..00269efdf9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/late-namespace-request.html @@ -0,0 +1,20 @@ + +Late namespace request + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/late-star-export-request.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/late-star-export-request.html new file mode 100644 index 0000000000..d40bb0aca7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/late-star-export-request.html @@ -0,0 +1,25 @@ + +Late star-export request + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/load-error-events-inline.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/load-error-events-inline.html new file mode 100644 index 0000000000..58397dd07d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/load-error-events-inline.html @@ -0,0 +1,61 @@ + + + +load/error events for inline module scripts + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/load-error-events.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/load-error-events.html new file mode 100644 index 0000000000..d9bf05226c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/load-error-events.html @@ -0,0 +1,61 @@ + + + +load/error events for external module scripts + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/missing-export-nested.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/missing-export-nested.js new file mode 100644 index 0000000000..860d2bf341 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/missing-export-nested.js @@ -0,0 +1,2 @@ +import "./missing-export.js"; +log.push("nested-missing-export"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/missing-export.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/missing-export.js new file mode 100644 index 0000000000..e6f5746eb7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/missing-export.js @@ -0,0 +1,2 @@ +import something from "./missing-export.js"; +log.push("missing-export"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/module-in-xhtml.xhtml b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/module-in-xhtml.xhtml new file mode 100644 index 0000000000..1655e61a7c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/module-in-xhtml.xhtml @@ -0,0 +1,20 @@ + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-1.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-1.html new file mode 100644 index 0000000000..ae82e1348a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-1.html @@ -0,0 +1,17 @@ + +Once as module script, once as classic script + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-2.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-2.html new file mode 100644 index 0000000000..fb512b4b30 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-2.html @@ -0,0 +1,17 @@ + +Once as classic script, once as module script + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-a.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-a.js new file mode 100644 index 0000000000..a127aeb559 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-a.js @@ -0,0 +1 @@ +import { b } from "./nested-imports-b.js"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-b.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-b.js new file mode 100644 index 0000000000..18a5af40cc --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-b.js @@ -0,0 +1,2 @@ +import { c } from "./nested-imports-c.js"; +export const b = "b"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-c.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-c.js new file mode 100644 index 0000000000..ec44596aea --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-c.js @@ -0,0 +1,2 @@ +import { d } from "./nested-imports-d.js"; +export const c = "c"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-d.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-d.js new file mode 100644 index 0000000000..cee87849c6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-d.js @@ -0,0 +1,3 @@ +import { e } from "./nested-imports-e.js"; +import "./resources/delayed-modulescript.py"; +export const d = "d"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-e.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-e.js new file mode 100644 index 0000000000..ec6f0360a6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-e.js @@ -0,0 +1,2 @@ +import { f } from "./nested-imports-f.js"; +export const e = "e"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-f.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-f.js new file mode 100644 index 0000000000..0591e0b316 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-f.js @@ -0,0 +1,2 @@ +import { g } from "./nested-imports-g.js"; +export const f = "f"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-g.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-g.js new file mode 100644 index 0000000000..86cbe7d3f8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-g.js @@ -0,0 +1,2 @@ +import { h } from "./nested-imports-h.js"; +export const g = "g"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-h.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-h.js new file mode 100644 index 0000000000..a161291259 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports-h.js @@ -0,0 +1,2 @@ +import { c } from "./nested-imports-c.js"; +export const h = "h"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports.html new file mode 100644 index 0000000000..23bb595d0e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-imports.html @@ -0,0 +1,29 @@ + +Test imports under more than 3 levels in different modules + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-missing-export.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-missing-export.js new file mode 100644 index 0000000000..3801ae847a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nested-missing-export.js @@ -0,0 +1,2 @@ +import "./missing-export.js"; +log.push("missing-export-nested"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nomodule-attribute.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nomodule-attribute.html new file mode 100644 index 0000000000..656c99b292 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/nomodule-attribute.html @@ -0,0 +1,18 @@ + +The 'nomodule' attribute + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-no-referrer.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-no-referrer.sub.html new file mode 100644 index 0000000000..b8866f9511 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-no-referrer.sub.html @@ -0,0 +1,68 @@ + + + +Referrer with the no-referrer policy + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-origin-when-cross-origin.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-origin-when-cross-origin.sub.html new file mode 100644 index 0000000000..fd4c1ea496 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-origin-when-cross-origin.sub.html @@ -0,0 +1,82 @@ + + + +Referrer with the origin-when-cross-origin policy + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-origin.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-origin.sub.html new file mode 100644 index 0000000000..a554fb4b0c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-origin.sub.html @@ -0,0 +1,71 @@ + + + +Referrer with the origin policy + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-same-origin.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-same-origin.sub.html new file mode 100644 index 0000000000..7d6d515a47 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-same-origin.sub.html @@ -0,0 +1,77 @@ + + + +Referrer with the same-origin policy + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-strict-policies.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-strict-policies.sub.html new file mode 100644 index 0000000000..1984d875b3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-strict-policies.sub.html @@ -0,0 +1,38 @@ + + + +Referrer with the strict-origin referrer policy + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-unsafe-url.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-unsafe-url.sub.html new file mode 100644 index 0000000000..443731c1b8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/referrer-unsafe-url.sub.html @@ -0,0 +1,81 @@ + + + +Referrer with the unsafe-url policy + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/404-but-js.asis b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/404-but-js.asis new file mode 100644 index 0000000000..0fe1379e56 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/404-but-js.asis @@ -0,0 +1,4 @@ +HTTP/1.1 404 Not Found +Content-Type: text/javascript + +window.ran404 = true; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/500-but-js.asis b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/500-but-js.asis new file mode 100644 index 0000000000..c81202f7ef --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/500-but-js.asis @@ -0,0 +1,4 @@ +HTTP/1.1 500 Not Found +Content-Type: text/javascript + +window.ran500 = true; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/check-cookie.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/check-cookie.py new file mode 100644 index 0000000000..90551e92c3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/check-cookie.py @@ -0,0 +1,20 @@ +def main(request, response): + headers = [ + (b"Content-Type", b"text/javascript"), + (b"Access-Control-Allow-Origin", request.GET.first(b"origin")), + (b"Access-Control-Allow-Credentials", b"true") + ] + identifier = request.GET.first(b"id") + cookie_name = request.GET.first(b"cookieName") + cookie = request.cookies.first(cookie_name, None) + if identifier is None or cookie_name is None: + return headers, b"" + + if cookie is None: + result = b"not found" + elif cookie.value == b"1": + result = b"found" + else: + result = b"different value: " + cookie.value + + return headers, b"window." + identifier + b" = '" + result + b"';" diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/credentials-iframe.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/credentials-iframe.sub.html new file mode 100644 index 0000000000..dbc14dffec --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/credentials-iframe.sub.html @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/delayed-modulescript.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/delayed-modulescript.py new file mode 100644 index 0000000000..52dbfba445 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/delayed-modulescript.py @@ -0,0 +1,7 @@ +import time + +def main(request, response): + delay = float(request.GET.first(b"ms", 500)) + time.sleep(delay / 1E3) + + return [(b"Content-type", b"text/javascript")], u"export let delayedLoaded = true;" diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/dynamic-import-credentials-helper.sub.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/dynamic-import-credentials-helper.sub.js new file mode 100644 index 0000000000..7d9b024e75 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/dynamic-import-credentials-helper.sub.js @@ -0,0 +1,67 @@ +// runTestsFromIframe() is used in the top-level HTML to set cookies and then +// start actual tests in iframe. +function runTestsFromIframe(iframe_url) { + const setSameOriginCookiePromise = fetch( + '/cookies/resources/set-cookie.py?name=same&path=/html/semantics/scripting-1/the-script-element/module/', + { + mode: 'no-cors', + credentials: 'include', + }); + const setCrossOriginCookiePromise = fetch( + 'http://{{domains[www2]}}:{{ports[http][0]}}/cookies/resources/set-cookie.py?name=cross&path=/html/semantics/scripting-1/the-script-element/module/', + { + mode: 'no-cors', + credentials: 'include', + }); + const windowLoadPromise = new Promise(resolve => { + window.addEventListener('load', () => { + resolve(); + }); + }); + + const iframe = document.createElement('iframe'); + Promise.all([setSameOriginCookiePromise, + setCrossOriginCookiePromise, + windowLoadPromise]).then(() => { + iframe.src = iframe_url; + document.body.appendChild(iframe); + fetch_tests_from_window(iframe.contentWindow); + }); +} + +// The functions below are used from tests within the iframe. + +let testNumber = 0; + +// importFunc and setTimeoutFunc is used to make the active script at the time +// of import() to be the script elements that call `runTest()`, +// NOT this script defining runTest(). + +function runTest(importFunc, origin, expected, source) { + let url; + let description; + if (origin === 'same') { + url = "./check-cookie.py"; + description = "Same-origin dynamic import from " + source; + } else { + url = "http://{{domains[www2]}}:{{ports[http][0]}}/html/semantics/scripting-1/the-script-element/module/resources/check-cookie.py"; + description = "Cross-origin dynamic import from " + source; + } + promise_test(() => { + const id = "test" + testNumber; + testNumber += 1; + return importFunc(url + "?id=" + id + "&cookieName=" + origin + "&origin=" + location.origin) + .then(() => { + assert_equals(window[id], expected, "cookie"); + }); + }, description); +} + +function setTimeoutWrapper(setTimeoutFunc) { + return url => { + return new Promise(resolve => { + window.resolve = resolve; + setTimeoutFunc(`import("${url}").then(window.resolve)`); + }); + }; +} diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/dynamic-import-credentials-iframe.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/dynamic-import-credentials-iframe.sub.html new file mode 100644 index 0000000000..88204ef00b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/dynamic-import-credentials-iframe.sub.html @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/dynamic-import-credentials-setTimeout-iframe.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/dynamic-import-credentials-setTimeout-iframe.sub.html new file mode 100644 index 0000000000..ffba141527 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/dynamic-import-credentials-setTimeout-iframe.sub.html @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/fast-module.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/fast-module.js new file mode 100644 index 0000000000..3a76cf71f6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/fast-module.js @@ -0,0 +1 @@ +loaded.push("fast"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-non-utf8-with-charset-header.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-non-utf8-with-charset-header.js new file mode 100644 index 0000000000..6fc4ad395c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-non-utf8-with-charset-header.js @@ -0,0 +1 @@ +import "../../serve-with-content-type.py?fn=external-script-windows1250.js&ct=text/javascript%3Bcharset=windows-1250&dummy=6"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-non-utf8.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-non-utf8.js new file mode 100644 index 0000000000..3ae805d78d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-non-utf8.js @@ -0,0 +1 @@ +import "../../serve-with-content-type.py?fn=external-script-windows1250.js&ct=text/javascript&dummy=5"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-referrer-checker-insecure.sub.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-referrer-checker-insecure.sub.js new file mode 100644 index 0000000000..2d6fd96712 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-referrer-checker-insecure.sub.js @@ -0,0 +1 @@ +export { referrer } from 'http://{{host}}:{{ports[http][0]}}/html/semantics/scripting-1/the-script-element/module/resources/referrer-checker.py?name={{GET[name]}}'; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-referrer-checker-insecure.sub.js.headers b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-referrer-checker-insecure.sub.js.headers new file mode 100644 index 0000000000..cb762eff80 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-referrer-checker-insecure.sub.js.headers @@ -0,0 +1 @@ +Access-Control-Allow-Origin: * diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-referrer-checker.sub.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-referrer-checker.sub.js new file mode 100644 index 0000000000..2c7dce9dff --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-referrer-checker.sub.js @@ -0,0 +1,2 @@ +import { referrer as referrerImport } from './referrer-checker.py?name={{GET[name]}}'; +export const referrer = referrerImport; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-referrer-checker.sub.js.headers b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-referrer-checker.sub.js.headers new file mode 100644 index 0000000000..cb762eff80 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-referrer-checker.sub.js.headers @@ -0,0 +1 @@ +Access-Control-Allow-Origin: * diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-remote-origin-referrer-checker.sub.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-remote-origin-referrer-checker.sub.js new file mode 100644 index 0000000000..45a2520b68 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-remote-origin-referrer-checker.sub.js @@ -0,0 +1,2 @@ +import { referrer as referrerImport } from 'http://{{domains[www1]}}:{{ports[http][0]}}/html/semantics/scripting-1/the-script-element/module/resources/referrer-checker.py?name={{GET[name]}}'; +export const referrer = referrerImport; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-same-origin-referrer-checker-from-remote-origin.sub.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-same-origin-referrer-checker-from-remote-origin.sub.js new file mode 100644 index 0000000000..5a53bcd4d5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-same-origin-referrer-checker-from-remote-origin.sub.js @@ -0,0 +1,2 @@ +import { referrer as referrerImport } from 'http://{{host}}:{{ports[http][0]}}/html/semantics/scripting-1/the-script-element/module/resources/referrer-checker.py?name={{GET[name]}}'; +export const referrer = referrerImport; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-same-origin-referrer-checker-from-remote-origin.sub.js.headers b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-same-origin-referrer-checker-from-remote-origin.sub.js.headers new file mode 100644 index 0000000000..cb762eff80 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-same-origin-referrer-checker-from-remote-origin.sub.js.headers @@ -0,0 +1 @@ +Access-Control-Allow-Origin: * diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-utf8-with-charset-header.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-utf8-with-charset-header.js new file mode 100644 index 0000000000..c2ccab7c62 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-utf8-with-charset-header.js @@ -0,0 +1 @@ +import "../../serve-with-content-type.py?fn=external-script-utf8.js&ct=text/javascript%3Bcharset=windows-1250&dummy=6"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-utf8.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-utf8.js new file mode 100644 index 0000000000..5708a26e07 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/import-utf8.js @@ -0,0 +1 @@ +import "../../serve-with-content-type.py?fn=external-script-utf8.js&ct=text/javascript&dummy=5"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/imports-404-but-js.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/imports-404-but-js.js new file mode 100644 index 0000000000..d62e4f05be --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/imports-404-but-js.js @@ -0,0 +1 @@ +import "./404-but-js.asis"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/imports-500-but-js.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/imports-500-but-js.js new file mode 100644 index 0000000000..d62e4f05be --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/imports-500-but-js.js @@ -0,0 +1 @@ +import "./404-but-js.asis"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/imports-b-cross-origin.sub.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/imports-b-cross-origin.sub.js new file mode 100644 index 0000000000..6db57b5017 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/imports-b-cross-origin.sub.js @@ -0,0 +1 @@ +import "http://{{domains[www2]}}:{{ports[http][0]}}/html/semantics/scripting-1/the-script-element/module/imports-b.js"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/referrer-checker.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/referrer-checker.py new file mode 100644 index 0000000000..413f48d381 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/referrer-checker.py @@ -0,0 +1,6 @@ +def main(request, response): + referrer = request.headers.get(b"referer", b"") + response_headers = [(b"Content-Type", b"text/javascript"), + (b"Access-Control-Allow-Origin", b"*")] + return (200, response_headers, + b"export const referrer = '" + referrer + b"';") diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/slow-module.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/slow-module.js new file mode 100644 index 0000000000..4623ef7360 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/resources/slow-module.js @@ -0,0 +1,3 @@ +// This module is imported with pipe=trickle(d2) to make it load more slowly +// than fast-module.js +loaded.push("slow"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/script-for-event.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/script-for-event.html new file mode 100644 index 0000000000..e3b8e15b41 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/script-for-event.html @@ -0,0 +1,93 @@ + +Module scripts with for and event attributes + + + + + +
+ + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/set-currentScript-on-window.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/set-currentScript-on-window.js new file mode 100644 index 0000000000..6863075bd9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/set-currentScript-on-window.js @@ -0,0 +1 @@ +window.currentScriptRecorded = document.currentScript; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-1.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-1.html new file mode 100644 index 0000000000..cc4e2d69b7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-1.html @@ -0,0 +1,20 @@ + +Single evaluation, 1 + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-2.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-2.html new file mode 100644 index 0000000000..790e2fa9c6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-2.html @@ -0,0 +1,20 @@ + +Single evaluation, 2 + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/slow-cycle.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/slow-cycle.html new file mode 100644 index 0000000000..3a42cf9e30 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/slow-cycle.html @@ -0,0 +1,11 @@ + +Cyclic graph with slow imports + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/slow-module-graph-a.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/slow-module-graph-a.js new file mode 100644 index 0000000000..48701aa1d0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/slow-module-graph-a.js @@ -0,0 +1,3 @@ +import "./slow-module-graph-b.js"; +import "./resources/delayed-modulescript.py" +export let loaded = true; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/slow-module-graph-b.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/slow-module-graph-b.js new file mode 100644 index 0000000000..53a8f2026e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/slow-module-graph-b.js @@ -0,0 +1 @@ +import "./slow-module-graph-a.js"; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/specifier-error.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/specifier-error.html new file mode 100644 index 0000000000..d07005caaa --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/specifier-error.html @@ -0,0 +1,22 @@ + +Handling of invalid specifiers + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/syntaxerror-nested.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/syntaxerror-nested.js new file mode 100644 index 0000000000..de1b053c5a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/syntaxerror-nested.js @@ -0,0 +1,2 @@ +import "./syntaxerror.js"; +log.push("nested-syntaxerror"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/syntaxerror.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/syntaxerror.js new file mode 100644 index 0000000000..31a9e2cbdf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/syntaxerror.js @@ -0,0 +1,2 @@ +log.push("syntaxerror"); +%!#$@#$@#$@ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/this-nested.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/this-nested.js new file mode 100644 index 0000000000..f204812fd1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/this-nested.js @@ -0,0 +1,2 @@ +import "./this.js"; +log.push("this-nested"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/this.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/this.js new file mode 100644 index 0000000000..996a439df0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/this.js @@ -0,0 +1 @@ +log.push(this); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/throw-error.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/throw-error.js new file mode 100644 index 0000000000..9769c84b23 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/throw-error.js @@ -0,0 +1,3 @@ +window.before_throwing_error = true; +throw new Error; +window.after_throwing_error = true; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/throw-nested.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/throw-nested.js new file mode 100644 index 0000000000..f1801ea366 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/throw-nested.js @@ -0,0 +1,2 @@ +import "./throw.js"; +log.push("throw-nested"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/throw.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/throw.js new file mode 100644 index 0000000000..cef7918216 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/throw.js @@ -0,0 +1,2 @@ +log.push("throw"); +throw {foo: true} diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/throw2.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/throw2.js new file mode 100644 index 0000000000..2931eec500 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/throw2.js @@ -0,0 +1,2 @@ +log.push("throw2"); +throw {bar: true} diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/type.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/type.html new file mode 100644 index 0000000000..5817ae4d43 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/type.html @@ -0,0 +1,24 @@ + +Type attribute of module scripts + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents-during-evaluation.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents-during-evaluation.html new file mode 100644 index 0000000000..e4cd887c61 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents-during-evaluation.html @@ -0,0 +1,59 @@ + + +Moving script elements between documents during evaluation + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/README.md b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/README.md new file mode 100644 index 0000000000..f95e0a63a3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/README.md @@ -0,0 +1,16 @@ +The tests in this directory are for script elements moved between documents. + +Use + +``` +$ tools/generate.py +``` + +to generate test HTML files (except for tests in subdirectories). + +Background: + +- https://www.w3.org/Bugs/Public/show_bug.cgi?id=11323 +- https://github.com/whatwg/html/issues/2137 +- https://github.com/whatwg/html/issues/2469 +- https://github.com/whatwg/html/pull/2673 diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-fetch-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-fetch-error-external-classic.html new file mode 100644 index 0000000000..2b84ae8088 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-fetch-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-fetch-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-fetch-error-external-module.html new file mode 100644 index 0000000000..09ee1490c1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-fetch-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-parse-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-parse-error-external-classic.html new file mode 100644 index 0000000000..477abd32cf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-parse-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-parse-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-parse-error-external-module.html new file mode 100644 index 0000000000..9da2276408 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-parse-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-success-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-success-external-classic.html new file mode 100644 index 0000000000..bc4deb6f17 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-success-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-success-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-success-external-module.html new file mode 100644 index 0000000000..ff76954f9d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-success-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-fetch-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-fetch-error-external-classic.html new file mode 100644 index 0000000000..768120e9d8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-fetch-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-fetch-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-fetch-error-external-module.html new file mode 100644 index 0000000000..50dd80662d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-fetch-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-external-classic.html new file mode 100644 index 0000000000..981a068230 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-external-module.html new file mode 100644 index 0000000000..6debb4189e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-inline-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-inline-classic.html new file mode 100644 index 0000000000..53389f20db --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-inline-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-external-classic.html new file mode 100644 index 0000000000..9c4a12226a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-external-module.html new file mode 100644 index 0000000000..0a0490cfc1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-inline-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-inline-classic.html new file mode 100644 index 0000000000..932825709f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-inline-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-fetch-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-fetch-error-external-classic.html new file mode 100644 index 0000000000..444382ac20 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-fetch-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-fetch-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-fetch-error-external-module.html new file mode 100644 index 0000000000..e1a1f7c08f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-fetch-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-external-classic.html new file mode 100644 index 0000000000..6bb5ebddbd --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-external-module.html new file mode 100644 index 0000000000..10a6549f62 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-inline-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-inline-classic.html new file mode 100644 index 0000000000..28bd935995 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-inline-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-inline-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-inline-module.html new file mode 100644 index 0000000000..e665a75629 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-inline-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-empty-src-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-empty-src-classic.html new file mode 100644 index 0000000000..8ee0dd1de1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-empty-src-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-empty-src-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-empty-src-module.html new file mode 100644 index 0000000000..4791149c57 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-empty-src-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-external-classic.html new file mode 100644 index 0000000000..3a3aceaf26 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-external-module.html new file mode 100644 index 0000000000..c15b4fc77f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-inline-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-inline-classic.html new file mode 100644 index 0000000000..576f4d4684 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-inline-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-inline-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-inline-module.html new file mode 100644 index 0000000000..c84d61c89a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-inline-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-fetch-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-fetch-error-external-classic.html new file mode 100644 index 0000000000..febf6fcc55 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-fetch-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-fetch-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-fetch-error-external-module.html new file mode 100644 index 0000000000..f936260b8c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-fetch-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-external-classic.html new file mode 100644 index 0000000000..870c900abf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-external-module.html new file mode 100644 index 0000000000..fb44a89df1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-inline-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-inline-classic.html new file mode 100644 index 0000000000..986e4fa396 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-inline-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-inline-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-inline-module.html new file mode 100644 index 0000000000..3a3fc38479 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-inline-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-empty-src-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-empty-src-classic.html new file mode 100644 index 0000000000..4f03a94358 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-empty-src-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-empty-src-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-empty-src-module.html new file mode 100644 index 0000000000..a7bd42fd32 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-empty-src-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-external-classic.html new file mode 100644 index 0000000000..08a8ac4afa --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-external-module.html new file mode 100644 index 0000000000..b8c3f79fea --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-inline-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-inline-classic.html new file mode 100644 index 0000000000..b639f6109d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-inline-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-inline-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-inline-module.html new file mode 100644 index 0000000000..616e46310f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-inline-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-fetch-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-fetch-error-external-classic.html new file mode 100644 index 0000000000..745c62d898 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-fetch-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-fetch-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-fetch-error-external-module.html new file mode 100644 index 0000000000..f6353a05fc --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-fetch-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-parse-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-parse-error-external-classic.html new file mode 100644 index 0000000000..21099c3ff9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-parse-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-parse-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-parse-error-external-module.html new file mode 100644 index 0000000000..2eb153acfe --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-parse-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-success-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-success-external-classic.html new file mode 100644 index 0000000000..88821826ed --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-success-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-success-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-success-external-module.html new file mode 100644 index 0000000000..f2a9d95741 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-success-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-fetch-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-fetch-error-external-classic.html new file mode 100644 index 0000000000..d96bfe0d50 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-fetch-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-fetch-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-fetch-error-external-module.html new file mode 100644 index 0000000000..7e71bfbe15 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-fetch-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-external-classic.html new file mode 100644 index 0000000000..757c879897 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-external-module.html new file mode 100644 index 0000000000..6ec6c5970e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-inline-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-inline-classic.html new file mode 100644 index 0000000000..c0b0f9d404 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-inline-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-external-classic.html new file mode 100644 index 0000000000..7955dbce62 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-external-module.html new file mode 100644 index 0000000000..af17eb01f7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-inline-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-inline-classic.html new file mode 100644 index 0000000000..8a44e2feaf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-inline-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/README.md b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/README.md new file mode 100644 index 0000000000..dcf5597e2d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/README.md @@ -0,0 +1,6 @@ +The tests in this directory checks side effects (other than script +evaluation/event firing, which is covered by the tests in the parent directory) +caused by scripts moved between Documents. + +The tests assume that script loading is not canceled when moved between +documents (which is not explicitly specified as of Jan 2022). diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-1.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-1.html new file mode 100644 index 0000000000..5c8acd470e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-1.html @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-2.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-2.html new file mode 100644 index 0000000000..3399a8c001 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-2.html @@ -0,0 +1,14 @@ + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-iframe.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-iframe.html new file mode 100644 index 0000000000..38a9a21541 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-iframe.html @@ -0,0 +1,5 @@ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/helper.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/helper.js new file mode 100644 index 0000000000..331cf79bf0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/helper.js @@ -0,0 +1,31 @@ +function runDelayEventTest(description) { + const t = async_test(description + + ' still delay the load event in the original Document after move'); + const t_new = async_test(description + + ' does not delay the load event in the new Document after move'); + const start_time = performance.now(); + const iframe = document.createElement('iframe'); + iframe.setAttribute('src', 'delay-load-event-iframe.html'); + document.body.appendChild(iframe); + + window.onload = t.step_func_done(() => { + // The `#to-be-moved` script should delay the load event until it is loaded + // (i.e. 3 seconds), not just until it is moved out to another Document + // (i.e. 1 second). Here we expect the delay should be at least 2 seconds, + // as the latency can be slightly less than 3 seconds due to preloading. + assert_greater_than(performance.now() - start_time, 2000, + 'Load event should be delayed until script is loaded'); + }); + + window.onloadIframe = t_new.step_func_done(() => { + // The iframe's load event is fired after 2 seconds of its subresource + // loading, and shouldn't wait for the `#to-be-moved` script. + assert_less_than(performance.now() - start_time, 2500, + 'Load event should not be delayed until moved script is loaded'); + }); + + t.step_timeout(() => { + const script = document.querySelector('#to-be-moved'); + iframe.contentDocument.body.appendChild(script); + }, 1000); +} diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/in-order.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/in-order.html new file mode 100644 index 0000000000..6a3e2b54a7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/in-order.html @@ -0,0 +1,35 @@ + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/parser-blocking.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/parser-blocking.html new file mode 100644 index 0000000000..9edde13736 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/parser-blocking.html @@ -0,0 +1,41 @@ + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/resources/moving-between-documents-helper.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/resources/moving-between-documents-helper.js new file mode 100644 index 0000000000..de4af6ac10 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/resources/moving-between-documents-helper.js @@ -0,0 +1,214 @@ +"use strict"; + +function createDocument(documentType, result, inlineOrExternal, type, hasBlockingStylesheet) { + return new Promise((resolve, reject) => { + const iframe = document.createElement("iframe"); + iframe.src = + "resources/moving-between-documents-iframe.py" + + "?result=" + result + + "&inlineOrExternal=" + inlineOrExternal + + "&type=" + type + + "&hasBlockingStylesheet=" + hasBlockingStylesheet + + "&cache=" + Math.random(); + // As blocking stylesheets delays Document load events, we use + // DOMContentLoaded here. + // After that point, we expect iframe.contentDocument exists + // while still waiting for blocking stylesheet loading. + document.body.appendChild(iframe); + + window.addEventListener('message', (event) => { + if (documentType === "iframe") { + resolve([iframe.contentWindow, iframe.contentDocument]); + } else if (documentType === "createHTMLDocument") { + resolve([ + iframe.contentWindow, + iframe.contentDocument.implementation.createHTMLDocument("")]); + } else { + reject(new Error("Invalid document type: " + documentType)); + } + }, {once: true}); + }); +} + +window.didExecute = undefined; + +// For a script, there are three associated Documents that can +// potentially different: +// +// [1] script's parser document +// https://html.spec.whatwg.org/C/#parser-document +// +// [2] script's preparation-time document +// https://html.spec.whatwg.org/C/#preparation-time-document +// == script's node document at the beginning of #prepare-a-script +// +// [3] script's node document at the beginning of +// #execute-the-script-block +// +// This helper is for tests where [1]/[2]/[3] are different. + +// In the spec, scripts are executed only if [1]/[2]/[3] are all the same +// (or [1] is null and [2]==[3]). +// +// A check for [1]==[2] is in #prepare-a-script and +// a check for [1]==[3] is in #execute-the-script-block, +// but these are under debate: https://github.com/whatwg/html/issues/2137 +// +// A check for [2]==[3] is in #execute-the-script-block, which is added by +// https://github.com/whatwg/html/pull/2673 + +// timing: +// "before-prepare": +// A + """ + + if hasBlockingStylesheet: + body += u""" + + """ % random.random() + + body += u""" + + + """ + + if inlineOrExternal == b"inline" or inlineOrExternal == b"external" or inlineOrExternal == b"empty-src": + body += u""" + + """ + + # Trigger DOM processing + body += u"A" * 100000 + + response.writer.write(u"%x\r\n" % len(body)) + response.writer.write(body) + response.writer.write(u"\r\n") + + body = u"" + + if inlineOrExternal == b"inline": + time.sleep(1) + body += u""" + + + """ + elif inlineOrExternal == b"external": + time.sleep(1) + body += u""" + + + """ % (type, isomorphic_decode(result), random.random()) + elif inlineOrExternal == b"empty-src": + time.sleep(1) + body += u""" + + + """ % (type,) + + # // if readyToEvaluate is false, the script is probably + # // wasn't blocked by stylesheets as expected. + + # Trigger DOM processing + body += u"B" * 100000 + + response.writer.write(u"%x\r\n" % len(body)) + response.writer.write(body) + response.writer.write(u"\r\n") + + response.writer.write(u"0\r\n") + response.writer.write(u"\r\n") diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/resources/slow-flag-setter.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/resources/slow-flag-setter.py new file mode 100644 index 0000000000..20d7ed4bd0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/resources/slow-flag-setter.py @@ -0,0 +1,29 @@ + +import time + +def main(request, response): + headers = [(b"Content-Type", b"text/javascript")] + + result = request.GET.first(b"result", b"success") + if result == b"css": + time.sleep(3) + headers = [(b"Content-Type", b"text/css")] + body = u"" + else: + time.sleep(2) + + body = u""" + fetch('exec'); + console.log('exec'); + if (!window.readyToEvaluate) { + window.didExecute = "executed too early"; + } else { + window.didExecute = "executed"; + } + """ + if result == b"parse-error": + body = u"1=2 parse error;" + if result == b"fetch-error": + return 404, [(b'Content-Type', b'text/plain')], u"""window.didExecute = "fetch error";""" + + return headers, body diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/tools/generate.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/tools/generate.py new file mode 100644 index 0000000000..80a655e821 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/tools/generate.py @@ -0,0 +1,61 @@ +template = ''' + + +Moving script elements between documents + + + + + + + + +''' + +n = 0 +for timing in ["before-prepare", "after-prepare", "move-back"]: + for destType in ["iframe", "createHTMLDocument"]: + for inlineOrExternal in ["inline", "external", "empty-src"]: + for result in ["fetch-error", "parse-error", "success"]: + for type in ["classic", "module"]: + # The |inlineOrExternal| keyword creates a certain kind of script, + # and the |result| keyword can influence the generated script in + # different ways i.e., giving the script a parse-error, or creating + # a script that fails to load. When we're creating an inline script, + # it doesn't make sense to test the fetch-error case, so we ignore + # this combination, as the server will not react to it in any + # meaningful way. + if inlineOrExternal == "inline" and result == "fetch-error": + continue + + if inlineOrExternal == "empty-src": + # The "empty-src" tests aim to exercise #prepare-a-script step 26 + # substep 2, where the diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/muted-errors.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/muted-errors.sub.html new file mode 100644 index 0000000000..61643c5f08 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/muted-errors.sub.html @@ -0,0 +1,85 @@ + +Muted Errors + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-reflect.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-reflect.html new file mode 100644 index 0000000000..d6a850f58f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-reflect.html @@ -0,0 +1,75 @@ + + + +noModule IDL attribute must reflect nomodule content attribute + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-async-classic-script.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-async-classic-script.html new file mode 100644 index 0000000000..25de796830 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-async-classic-script.html @@ -0,0 +1,63 @@ + + + +External classic scripts with nomodule content attribute must not run + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-external-module-script.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-external-module-script.html new file mode 100644 index 0000000000..138b33c9fa --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-external-module-script.html @@ -0,0 +1,28 @@ + + + +An external module script with nomodule must run + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-inline-classic-scripts.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-inline-classic-scripts.html new file mode 100644 index 0000000000..588d59975c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-inline-classic-scripts.html @@ -0,0 +1,56 @@ + + + +Inline classic scripts with nomodule content attribute must not run + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-inline-module-script.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-inline-module-script.html new file mode 100644 index 0000000000..b11c25932e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-inline-module-script.html @@ -0,0 +1,32 @@ + + + +An inline module script with nomodule must run + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-synchronously-loaded-classic-scripts.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-synchronously-loaded-classic-scripts.html new file mode 100644 index 0000000000..9f6207c9a5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-synchronously-loaded-classic-scripts.html @@ -0,0 +1,41 @@ + + + +External classic scripts with nomodule content attribute must not run + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/promise-reject-and-remove.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/promise-reject-and-remove.html new file mode 100644 index 0000000000..a3b2730e56 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/promise-reject-and-remove.html @@ -0,0 +1,10 @@ + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/bom-utf-16be.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/bom-utf-16be.js new file mode 100644 index 0000000000..8a529e10b1 Binary files /dev/null and b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/bom-utf-16be.js differ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/bom-utf-16le.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/bom-utf-16le.js new file mode 100644 index 0000000000..578f7f1951 Binary files /dev/null and b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/bom-utf-16le.js differ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/bom-utf-8.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/bom-utf-8.js new file mode 100644 index 0000000000..fb88bdda2a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/bom-utf-8.js @@ -0,0 +1,2 @@ +// JavaScript file with UTF-8 BOM. +window.executed_utf8_bom = '三æ‘ã‹ãªå­'; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/cocoa-module.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/cocoa-module.js new file mode 100644 index 0000000000..24360a7bfe --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/cocoa-module.js @@ -0,0 +1,5 @@ +export default class Cocoa { + taste() { + return "awesome"; + } +}; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/cross-origin.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/cross-origin.py new file mode 100644 index 0000000000..abac1901b7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/cross-origin.py @@ -0,0 +1,20 @@ +def main(request, response): + origin = request.headers.get(b"origin") + + if origin is not None: + response.headers.set(b"Access-Control-Allow-Origin", origin) + response.headers.set(b"Access-Control-Allow-Methods", b"GET") + response.headers.set(b"Access-Control-Allow-Credentials", b"true") + + if request.method == u"OPTIONS": + return u"" + + headers = [(b"Content-Type", b"text/javascript")] + milk = request.cookies.first(b"milk", None) + + if milk is None: + return headers, u"var included = false;" + elif milk.value == b"yes": + return headers, u"var included = true;" + + return headers, u"var included = false;" diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/exports-cocoa.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/exports-cocoa.js new file mode 100644 index 0000000000..02967bc631 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/exports-cocoa.js @@ -0,0 +1,3 @@ +import Cocoa from "./cocoa-module.js"; +var cocoa = new Cocoa(); +window.exportedCocoa = cocoa; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/flag-setter.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/flag-setter.js new file mode 100644 index 0000000000..3274e5bfeb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/flag-setter.js @@ -0,0 +1,3 @@ +"use strict"; + +window.didExecute = true; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/load-error-events-helpers.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/load-error-events-helpers.js new file mode 100644 index 0000000000..bbd6b09c6c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/load-error-events-helpers.js @@ -0,0 +1,47 @@ +"use strict"; +// Helper functions to be used from load-error-events*.html tests. + +function event_test(name, load_to_be_fired, error_to_be_fired) { + return { + test: async_test(name), + executed: false, + load_event_to_be_fired: load_to_be_fired, + error_event_to_be_fired: error_to_be_fired + }; +} + +// Should be used as load/error event handlers of script tags, +// with |t| = the object returned by event_test(). +function onLoad(t) { + t.test.step(function() { + if (t.load_event_to_be_fired) { + assert_true(t.executed, + 'Load event should be fired after script execution'); + // Delay done() a little so that if an error event happens + // the assert_unreached is reached and fails the test. + t.test.step_timeout(() => t.test.done(), 100); + } else { + assert_unreached('Load event should not be fired.'); + } + }); +}; +function onError(t) { + t.test.step(function() { + if (t.error_event_to_be_fired) { + assert_false(t.executed); + // Delay done() a little so that if a load event happens + // the assert_unreached is reached and fails the test. + t.test.step_timeout(() => t.test.done(), 100); + } else { + assert_unreached('Error event should not be fired.'); + } + }); +}; + +// To be called from inline scripts, which expect no load/error events. +function onExecute(t) { + t.executed = true; + // Delay done() a little so that if a load/error event happens + // the assert_unreached is reached and fails the test. + t.test.step_timeout(() => t.test.done(), 100); +} diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/load-error-events.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/load-error-events.py new file mode 100644 index 0000000000..1eb82cd497 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/load-error-events.py @@ -0,0 +1,15 @@ +import re + +def main(request, response): + headers = [(b"Content-Type", b"text/javascript")] + test = request.GET.first(b'test') + assert(re.match(b'^[a-zA-Z0-9_]+$', test)) + + if test.find(b'_load') >= 0: + status = 200 + content = b'"use strict"; %s.executed = true;' % test + else: + status = 404 + content = b'"use strict"; %s.test.step(function() { assert_unreached("404 script should not be executed"); });' % test + + return status, headers, content diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/promise-reject-and-remove-iframe.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/promise-reject-and-remove-iframe.html new file mode 100644 index 0000000000..6da274469f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/promise-reject-and-remove-iframe.html @@ -0,0 +1,12 @@ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/script-type-and-language-js.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/script-type-and-language-js.js new file mode 100644 index 0000000000..d357bc4994 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/script-type-and-language-js.js @@ -0,0 +1,141 @@ +function testAttribute(attr, val, shouldRun) { + test(function() { + assert_false(window.ran, "ran variable not reset"); + let script; + if (document.contentType === 'image/svg+xml') { + // SVG + script = document.createElementNS("http://www.w3.org/2000/svg", "script"); + } else { + // HTML or XHTML + script = document.createElement("script"); + } + script.setAttribute(attr, val); + script.textContent = "window.ran = true;"; + document.querySelector('#script-placeholder').appendChild(script); + assert_equals(window.ran, shouldRun); + }, "Script should" + (shouldRun ? "" : "n't") + " run with " + attr + "=" + + format_value(val)); + window.ran = false; +} +function testTypeShouldRun(type) { + testAttribute("type", type, true); +} +function testLanguageShouldRun(lang) { + testAttribute("language", lang, true); +} +function testTypeShouldNotRun(type) { + testAttribute("type", type, false); +} +function testLanguageShouldNotRunUnlessSVG(lang) { + // In SVGs, there is no concrete spec but all browsers agree that + // language attributes have no effects and thus script elements + // without type attributes are always expected to run regardless of + // language attributes. + const expectedToRun = document.contentType === 'image/svg+xml'; + testAttribute("language", lang, expectedToRun); +} + +// Unlike `test*()` methods above, there should be a (parser-inserted) script +// with an invalid type/language that would set `window.ran` to true just +// before `testParserInsertedDidNotRun()`, and +// `testParserInsertedDidNotRun()` asserts that the script did not run. +// `window.ran` should be reset where needed. For example: +// +// +// +function testParserInsertedDidNotRun(description) { + test(() => assert_false(window.ran), + "Script shouldn't run with " + description + " (parser-inserted)"); + window.ran = false; +} + +// When prefixed by "application/", these match with +// https://mimesniff.spec.whatwg.org/#javascript-mime-type +const application = [ + "ecmascript", + "javascript", + "x-ecmascript", + "x-javascript" +]; + +// When prefixed by "text/", these match with +// https://mimesniff.spec.whatwg.org/#javascript-mime-type +const text = [ + "ecmascript", + "javascript", + "javascript1.0", + "javascript1.1", + "javascript1.2", + "javascript1.3", + "javascript1.4", + "javascript1.5", + "jscript", + "livescript", + "x-ecmascript", + "x-javascript" +]; + +const legacyTypes = [ + "javascript1.6", + "javascript1.7", + "javascript1.8", + "javascript1.9" +]; + +const spaces = [" ", "\t", "\n", "\r", "\f"]; + +window.ran = false; + +// Type attribute + +testTypeShouldRun(""); +testTypeShouldNotRun(" "); + +application.map(t => "application/" + t).forEach(testTypeShouldRun); +application.map(t => ("application/" + t).toUpperCase()).forEach( + testTypeShouldRun); + +spaces.forEach(function(s) { + application.map(t => "application/" + t + s).forEach(testTypeShouldRun); + application.map(t => s + "application/" + t).forEach(testTypeShouldRun); +}); + +application.map(t => "application/" + t + "\0").forEach(testTypeShouldNotRun); +application.map(t => "application/" + t + "\0foo").forEach( + testTypeShouldNotRun); + +text.map(t => "text/" + t).forEach(testTypeShouldRun); +text.map(t => ("text/" + t).toUpperCase()).forEach(testTypeShouldRun); + +legacyTypes.map(t => "text/" + t).forEach(testTypeShouldNotRun); + +spaces.forEach(function(s) { + text.map(t => "text/" + t + s).forEach(testTypeShouldRun); + text.map(t => s + "text/" + t).forEach(testTypeShouldRun); +}); + +text.map(t => "text/" + t + "\0").forEach(testTypeShouldNotRun); +text.map(t => "text/" + t + "\0foo").forEach(testTypeShouldNotRun); + +text.forEach(testTypeShouldNotRun); +legacyTypes.forEach(testTypeShouldNotRun); + +// Language attribute + +testLanguageShouldRun(""); +testLanguageShouldNotRunUnlessSVG(" "); + +text.forEach(testLanguageShouldRun); +text.map(t => t.toUpperCase()).forEach(testLanguageShouldRun); + +legacyTypes.forEach(testLanguageShouldNotRunUnlessSVG); + +spaces.forEach(function(s) { + text.map(t => t + s).forEach(testLanguageShouldNotRunUnlessSVG); + text.map(t => s + t).forEach(testLanguageShouldNotRunUnlessSVG); +}); +text.map(t => t + "xyz").forEach(testLanguageShouldNotRunUnlessSVG); +text.map(t => "xyz" + t).forEach(testLanguageShouldNotRunUnlessSVG); + +text.map(t => t + "\0").forEach(testLanguageShouldNotRunUnlessSVG); +text.map(t => t + "\0foo").forEach(testLanguageShouldNotRunUnlessSVG); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/set-script-executed.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/set-script-executed.js new file mode 100644 index 0000000000..a6095097dd --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/set-script-executed.js @@ -0,0 +1 @@ +window.executed = true; diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/syntax-error.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/syntax-error.js new file mode 100644 index 0000000000..40dc81dcfa --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/syntax-error.js @@ -0,0 +1 @@ +This cannot be parsed as JavaScript diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/throw.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/throw.js new file mode 100644 index 0000000000..be53dd1ef3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/resources/throw.js @@ -0,0 +1 @@ +document.querySelector(":::not-going-to-be-valid"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-charset-01.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-charset-01.html new file mode 100644 index 0000000000..c5ac0d0a62 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-charset-01.html @@ -0,0 +1,89 @@ + + + + Script @type: unknown parameters + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-charset-03.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-charset-03.html new file mode 100644 index 0000000000..4ff4cc6b0b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-charset-03.html @@ -0,0 +1,20 @@ + + + +Script changing @charset + + + +
+ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-crossorigin-network.sub.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-crossorigin-network.sub.html new file mode 100644 index 0000000000..5886ab6f32 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-crossorigin-network.sub.html @@ -0,0 +1,120 @@ + + +HTMLScriptElement: crossorigin attribute network test + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-crossorigin.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-crossorigin.html new file mode 100644 index 0000000000..52857a08ea --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-crossorigin.html @@ -0,0 +1,39 @@ + + +HTMLScriptElement: crossOrigin IDL attribute + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-defer-xhtml.xhtml b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-defer-xhtml.xhtml new file mode 100644 index 0000000000..3f4a50f779 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-defer-xhtml.xhtml @@ -0,0 +1,31 @@ + + + +XHTML Test: HTMLScriptElement - defer + + + + + +
+ + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-defer.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-defer.html new file mode 100644 index 0000000000..80eb98dc75 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-defer.html @@ -0,0 +1,26 @@ + + +HTML Test: HTMLScriptElement - defer + + + + +
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-for-event-xhtml.xhtml b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-for-event-xhtml.xhtml new file mode 100644 index 0000000000..69c4ef1f81 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-for-event-xhtml.xhtml @@ -0,0 +1,22 @@ + + + Scripts with for and event attributes + + + + +
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-for-event.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-for-event.html new file mode 100644 index 0000000000..552ea7041a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-for-event.html @@ -0,0 +1,93 @@ + +Scripts with for and event attributes + + + + + +
+ + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-noembed-noframes-iframe.xhtml b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-noembed-noframes-iframe.xhtml new file mode 100644 index 0000000000..8dd9ceb9a6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-noembed-noframes-iframe.xhtml @@ -0,0 +1,36 @@ + + +Script inside noembed, noframes and iframe + + + + + +
+ +
+ +<script> +run.push("noembed"); +</script> + + +<script> +run.push("noframes"); +</script> + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-executed-after-shutdown-child.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-executed-after-shutdown-child.html new file mode 100644 index 0000000000..2f3ce2368d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-executed-after-shutdown-child.html @@ -0,0 +1,12 @@ + + +Script is not executed after script thread is shutdown + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-executed-after-shutdown.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-executed-after-shutdown.html new file mode 100644 index 0000000000..eb4def3ec4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-executed-after-shutdown.html @@ -0,0 +1,19 @@ + + +Script is not executed after script thread is shutdown + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-executed-after-shutdown.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-executed-after-shutdown.js new file mode 100644 index 0000000000..ccdf14c0cd --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-executed-after-shutdown.js @@ -0,0 +1 @@ +script_executed(); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-found-not-executed-2.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-found-not-executed-2.py new file mode 100644 index 0000000000..4ff5be7374 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-found-not-executed-2.py @@ -0,0 +1,4 @@ +def main(request, response): + headers = [(b"Content-Type", b"text/javascript")] + body = u"test2_token = \"script executed\";" + return 200, headers, body diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-found-not-executed.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-found-not-executed.html new file mode 100644 index 0000000000..44ad30b018 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-found-not-executed.html @@ -0,0 +1,19 @@ + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-found-not-executed.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-found-not-executed.py new file mode 100644 index 0000000000..9354d42703 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-not-found-not-executed.py @@ -0,0 +1,4 @@ +def main(request, response): + headers = [(b"Content-Type", b"text/javascript")] + body = u"test1_token = \"script executed\";" + return 404, headers, body diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-1.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-1.html new file mode 100644 index 0000000000..0fe39b11a8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-1.html @@ -0,0 +1,12 @@ + + +Test that the insertion point is defined in the error event of a parser-inserted script that actually started a fetch (but just had it fail). + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html new file mode 100644 index 0000000000..6d3f3ef09e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html @@ -0,0 +1,13 @@ + + +Test that the insertion point is not defined in the error event of a + parser-inserted script that has an unparseable URL + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-onload-insertion-point.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-onload-insertion-point.html new file mode 100644 index 0000000000..ce3ddeee65 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-onload-insertion-point.html @@ -0,0 +1,12 @@ + + +Test that the insertion point is defined in the load event of a parser-inserted script. + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-onload-string.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-onload-string.html new file mode 100644 index 0000000000..85f2d4dcfa --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-onload-string.html @@ -0,0 +1,17 @@ + +Script: setting onload to a string + + + +
+ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-referrerpolicy-idl.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-referrerpolicy-idl.html new file mode 100644 index 0000000000..bf01cb83b8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-referrerpolicy-idl.html @@ -0,0 +1,26 @@ + + +<script> referrerPolicy IDL + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-supports.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-supports.html new file mode 100644 index 0000000000..495056fce9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-supports.html @@ -0,0 +1,52 @@ + + +HTMLScriptElement.supports + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text-modifications-csp.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text-modifications-csp.html new file mode 100644 index 0000000000..a991151066 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text-modifications-csp.html @@ -0,0 +1,52 @@ + + + +Modify HTMLScriptElement's text after #prepare-a-script that violates CSP + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text-modifications.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text-modifications.html new file mode 100644 index 0000000000..cb54da6995 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text-modifications.html @@ -0,0 +1,40 @@ + + + +Modify HTMLScriptElement's text after #prepare-a-script + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text-xhtml.xhtml b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text-xhtml.xhtml new file mode 100644 index 0000000000..33a4635db3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text-xhtml.xhtml @@ -0,0 +1,28 @@ + + + +HTMLScriptElement.text + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text.html new file mode 100644 index 0000000000..6e86472246 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text.html @@ -0,0 +1,72 @@ + + +HTMLScriptElement.text + + + +
+ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-empty.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-empty.html new file mode 100644 index 0000000000..6ce1b279f7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-empty.html @@ -0,0 +1,48 @@ + +Script @type and @language: empty strings + + + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-js-svg.svg b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-js-svg.svg new file mode 100644 index 0000000000..2f31d4d75c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-js-svg.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-js-xhtml.xhtml b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-js-xhtml.xhtml new file mode 100644 index 0000000000..0bfdfce3c4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-js-xhtml.xhtml @@ -0,0 +1,42 @@ + + + +Script @type and @language: JavaScript types + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-js.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-js.html new file mode 100644 index 0000000000..009123de2b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-js.html @@ -0,0 +1,35 @@ + +Script @type and @language: JavaScript types + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-with-params.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-with-params.html new file mode 100644 index 0000000000..977ee7d0a4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-type-and-language-with-params.html @@ -0,0 +1,41 @@ + +Script @type and @language: unknown type parameters + + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/scripting-enabled.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/scripting-enabled.html new file mode 100644 index 0000000000..a2671a78f6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/scripting-enabled.html @@ -0,0 +1,16 @@ + + +JS is disabled on documents created without a browsing context + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/serve-json-then-js.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/serve-json-then-js.py new file mode 100644 index 0000000000..9610734d44 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/serve-json-then-js.py @@ -0,0 +1,21 @@ +# Respond with valid JSON to the first request with the given key, +# and with valid JavaScript to the second. Used for testing scenarios where +# the same request URL results in different responses on subsequent requests. +def main(request, response): + try: + stash_key = request.GET.first(b"key") + + run_count = request.server.stash.take(stash_key) + if not run_count: + run_count = 0 + + if run_count == 0: + response.headers.set(b"Content-Type", b"text/json") + response.content = '{"hello": "world"}' + else: + response.headers.set(b"Content-Type", b"application/javascript") + response.content = "export default 'hello';" + + request.server.stash.put(stash_key, run_count + 1) + except: + response.set_error(400, u"Not enough parameters") diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/serve-with-content-type.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/serve-with-content-type.py new file mode 100644 index 0000000000..675b3fc3eb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/serve-with-content-type.py @@ -0,0 +1,17 @@ +import os + +from wptserve.utils import isomorphic_decode + +def main(request, response): + directory = os.path.dirname(isomorphic_decode(__file__)) + + try: + file_name = request.GET.first(b"fn") + content_type = request.GET.first(b"ct") + with open(os.path.join(directory, isomorphic_decode(file_name)), u"rb") as fh: + content = fh.read() + + response.headers.set(b"Content-Type", content_type) + response.content = content + except: + response.set_error(400, u"Not enough parameters or file not found") diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/support/script-onerror-insertion-point-1-helper.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/support/script-onerror-insertion-point-1-helper.html new file mode 100644 index 0000000000..d9b0c84ca4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/support/script-onerror-insertion-point-1-helper.html @@ -0,0 +1,2 @@ +Some diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/support/script-onerror-insertion-point-2-helper.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/support/script-onerror-insertion-point-2-helper.html new file mode 100644 index 0000000000..a9ee80026a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/support/script-onerror-insertion-point-2-helper.html @@ -0,0 +1,2 @@ +Some diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/support/script-onload-insertion-point-helper.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/support/script-onload-insertion-point-helper.html new file mode 100644 index 0000000000..f0236b4fbb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/support/script-onload-insertion-point-helper.html @@ -0,0 +1,2 @@ +Some diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/support/script-onload-insertion-point-helper.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/support/script-onload-insertion-point-helper.js new file mode 100644 index 0000000000..8a96a0b783 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/support/script-onload-insertion-point-helper.js @@ -0,0 +1 @@ +document.write("te"); diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/node-document.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/node-document.html new file mode 100644 index 0000000000..8676319b20 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/node-document.html @@ -0,0 +1,150 @@ + + + +HTML Templates: Parsing XHTML: Node's node document + + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/tag-name.xhtml b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/tag-name.xhtml new file mode 100644 index 0000000000..a1e293d1cb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/tag-name.xhtml @@ -0,0 +1,16 @@ + + + tagName in template + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/template-child-nodes.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/template-child-nodes.html new file mode 100644 index 0000000000..40abda5684 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/template-child-nodes.html @@ -0,0 +1,102 @@ + + + +HTML Templates: Child nodes of template element in XHTML documents + + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-serializing-xhtml-documents/outerhtml.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-serializing-xhtml-documents/outerhtml.html new file mode 100644 index 0000000000..416a3bc615 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-serializing-xhtml-documents/outerhtml.html @@ -0,0 +1,71 @@ + + + +HTML Templates: serialize template contents instead of template element + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001-ref.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001-ref.html new file mode 100644 index 0000000000..55c8b2e30c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001-ref.html @@ -0,0 +1,6 @@ + +Template Reftest Reference + + +

Test passes if there's no anything below this line.

+ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001.html new file mode 100644 index 0000000000..fc310f47c8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001.html @@ -0,0 +1,12 @@ + + Template Test: check that template content is invisible by default + + + + + +

Test passes if there's no anything below this line.

+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-002.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-002.html new file mode 100644 index 0000000000..92f3d81eac --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-002.html @@ -0,0 +1,12 @@ + + Template Test: check that template content is invisible by default + + + + + +

Test passes if there's no anything below this line.

+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-003.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-003.html new file mode 100644 index 0000000000..4c477fde79 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-003.html @@ -0,0 +1,19 @@ + + HTML Templates: template content is invisible by default + + + + + + +

Test passes if there's no anything below this line.

+ + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-steps-to-clone-a-node/template-clone-children.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-steps-to-clone-a-node/template-clone-children.html new file mode 100644 index 0000000000..c668d90953 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-steps-to-clone-a-node/template-clone-children.html @@ -0,0 +1,82 @@ + + + +HTML Templates: Clone template node: All the children of template content are copied if 'copy children flag' set to true + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-steps-to-clone-a-node/templates-copy-document-owner.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-steps-to-clone-a-node/templates-copy-document-owner.html new file mode 100644 index 0000000000..a2afc23041 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/additions-to-the-steps-to-clone-a-node/templates-copy-document-owner.html @@ -0,0 +1,126 @@ + + + +HTML Templates: ownerDocument of cloned template content is set to template content owner + + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-document-type.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-document-type.html new file mode 100644 index 0000000000..d063acded9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-document-type.html @@ -0,0 +1,83 @@ + + + +HTML Templates: The template contents owner document type is HTML document + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-001.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-001.html new file mode 100644 index 0000000000..a087f788e5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-001.html @@ -0,0 +1,44 @@ + + + +HTML Templates: The template contents owner document (no browsing context) + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-002.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-002.html new file mode 100644 index 0000000000..cf2e30b643 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-002.html @@ -0,0 +1,67 @@ + + + +HTML Templates: The template contents owner document (there's browsing context) + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents.html new file mode 100644 index 0000000000..4a61dc8d3b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/definitions/template-contents.html @@ -0,0 +1,172 @@ + + + +HTML Templates: The template contents is a DocumentFragment + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/innerhtml-on-templates/innerhtml.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/innerhtml-on-templates/innerhtml.html new file mode 100644 index 0000000000..0968b37f92 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/innerhtml-on-templates/innerhtml.html @@ -0,0 +1,105 @@ + + + +HTML Templates: innerHTML of template element replaces all referenced by the content attribute + + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/end-template-tag-in-body.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/end-template-tag-in-body.html new file mode 100644 index 0000000000..2cb149853f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/end-template-tag-in-body.html @@ -0,0 +1,12 @@ + + + + The file contains several </template> tag in HTML body without start one + + + + +
The file contains several </template> tag in HTML body without start one
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/end-template-tag-in-head.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/end-template-tag-in-head.html new file mode 100644 index 0000000000..02d0c7be65 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/end-template-tag-in-head.html @@ -0,0 +1,12 @@ + + + + + The file contains several </template> tag in HTML head without start one + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/frameset-end-tag.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/frameset-end-tag.html new file mode 100644 index 0000000000..b84d55595f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/frameset-end-tag.html @@ -0,0 +1,10 @@ + + + + The file contains frameset with the template and frameset end tag in it + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/head-template-contents-div-no-end-tag.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/head-template-contents-div-no-end-tag.html new file mode 100644 index 0000000000..e4e45bcea5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/head-template-contents-div-no-end-tag.html @@ -0,0 +1,12 @@ + + + + The file contains template element with open div tag, but without end div tag, in the head + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/head-template-contents-table-no-end-tag.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/head-template-contents-table-no-end-tag.html new file mode 100644 index 0000000000..9db2b4af06 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/head-template-contents-table-no-end-tag.html @@ -0,0 +1,14 @@ + + + + The file contains template element with open table, tr, td tags, but without end td, tr, table tags, in the head + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/html-start-tag.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/html-start-tag.html new file mode 100644 index 0000000000..0de652cf36 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/html-start-tag.html @@ -0,0 +1,10 @@ + + + + The file contains html root element with attributes and some in the body + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-child-nodes-div.xhtml b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-child-nodes-div.xhtml new file mode 100644 index 0000000000..14db5004dc --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-child-nodes-div.xhtml @@ -0,0 +1,14 @@ + + + + Template tag with children div tags inside + + + +

Template tag with div tags inside

+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-child-nodes-nested.xhtml b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-child-nodes-nested.xhtml new file mode 100644 index 0000000000..406fa6c3d4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-child-nodes-nested.xhtml @@ -0,0 +1,16 @@ + + + + Template tag with children div tags inside another template tag + + + +

Template tag with children div tags inside another template tag

+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-attribute.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-attribute.html new file mode 100644 index 0000000000..b9dd5f47a8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-attribute.html @@ -0,0 +1,10 @@ + + + + Empty template tag with attribute content + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-body.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-body.html new file mode 100644 index 0000000000..a1f246fd63 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-body.html @@ -0,0 +1,10 @@ + + + + BODY tag inside template + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-div-no-end-tag.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-div-no-end-tag.html new file mode 100644 index 0000000000..304acf3025 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-div-no-end-tag.html @@ -0,0 +1,12 @@ + + + + Div tag inside template tag + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-empty.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-empty.html new file mode 100644 index 0000000000..f1a539cc08 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-empty.html @@ -0,0 +1,11 @@ + + + + Empty template tag + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-frameset.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-frameset.html new file mode 100644 index 0000000000..4331367df3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-frameset.html @@ -0,0 +1,10 @@ + + + + FRAMESET tag inside template + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-head.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-head.html new file mode 100644 index 0000000000..1e3a337e8d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-head.html @@ -0,0 +1,10 @@ + + + + HEAD tag inside template + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-html.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-html.html new file mode 100644 index 0000000000..5dd3a28e6a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-html.html @@ -0,0 +1,10 @@ + + + + HTML tag inside template + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-nested.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-nested.html new file mode 100644 index 0000000000..dc2dc6f15f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-nested.html @@ -0,0 +1,10 @@ + + Contains second template tag inside template tag + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-table-no-end-tag.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-table-no-end-tag.html new file mode 100644 index 0000000000..4639b4dc8e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-table-no-end-tag.html @@ -0,0 +1,14 @@ + + + + The file contains template element with open table, tr, td tags, without end td, tr, table tags + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-text.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-text.html new file mode 100644 index 0000000000..a401848efc --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents-text.html @@ -0,0 +1,10 @@ + + + + Some text inside template tag + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents.html new file mode 100644 index 0000000000..07256c06a3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-contents.html @@ -0,0 +1,12 @@ + + + + Div tag inside template tag + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-body.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-body.html new file mode 100644 index 0000000000..d64848c8db --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-body.html @@ -0,0 +1,12 @@ + + + + Div tag inside template tag + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-frameset.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-frameset.html new file mode 100644 index 0000000000..4801178454 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-frameset.html @@ -0,0 +1,12 @@ + + + + Template tag inside frameset + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-head.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-head.html new file mode 100644 index 0000000000..6bab00ea99 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-head.html @@ -0,0 +1,13 @@ + + + + Template tag inside head + + + + + Nothing interesting here + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/two-templates.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/two-templates.html new file mode 100644 index 0000000000..f6e9ab58e8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/resources/two-templates.html @@ -0,0 +1,17 @@ + + + + The file contains two template elements + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/serializing-html-templates/outerhtml.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/serializing-html-templates/outerhtml.html new file mode 100644 index 0000000000..1539afbe1e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/serializing-html-templates/outerhtml.html @@ -0,0 +1,70 @@ + + + +HTML Templates: serialize template contents instead of template element + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/content-attribute.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/content-attribute.html new file mode 100644 index 0000000000..b4c11b841f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/content-attribute.html @@ -0,0 +1,114 @@ + + + +HTML Templates: Content attribute of template element is read-only + + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/node-document-changes.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/node-document-changes.html new file mode 100644 index 0000000000..0c60c10738 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/node-document-changes.html @@ -0,0 +1,192 @@ + + + +HTML Templates: When node's document changes its owner document should be changed + + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-as-a-descendant.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-as-a-descendant.html new file mode 100644 index 0000000000..caa1beab47 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-as-a-descendant.html @@ -0,0 +1,135 @@ + + + +HTML Templates: Template element as a descendant of the body element. + + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-construction-in-inactive-document-crash.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-construction-in-inactive-document-crash.html new file mode 100644 index 0000000000..496a47b2c5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-construction-in-inactive-document-crash.html @@ -0,0 +1,5 @@ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content-hierarcy.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content-hierarcy.html new file mode 100644 index 0000000000..823c0c830f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content-hierarcy.html @@ -0,0 +1,81 @@ + + + + +
+
+ +
+ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content-in-inactive-document-crash.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content-in-inactive-document-crash.html new file mode 100644 index 0000000000..66c564c77a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content-in-inactive-document-crash.html @@ -0,0 +1,7 @@ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content-move-to-inactive-document-crash.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content-move-to-inactive-document-crash.html new file mode 100644 index 0000000000..89c56d1663 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content-move-to-inactive-document-crash.html @@ -0,0 +1,7 @@ +
+ + +
+ diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content-node-document.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content-node-document.html new file mode 100644 index 0000000000..da76c6b04f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content-node-document.html @@ -0,0 +1,59 @@ + + + +HTML Templates: Node document of the template content attribute must be template contents owner + + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content.html new file mode 100644 index 0000000000..b9e790daf8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-content.html @@ -0,0 +1,63 @@ + + + +HTML Templates: HTML elements in template content + + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-body.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-body.html new file mode 100644 index 0000000000..70028c5ecd --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-body.html @@ -0,0 +1,26 @@ + + + +HTML Templates: Template element as a descendant of the body element. + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-frameset.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-frameset.html new file mode 100644 index 0000000000..ce20a7413e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-frameset.html @@ -0,0 +1,62 @@ + + + +HTML Templates: Template element as a descendant of the frameset element. + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-head.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-head.html new file mode 100644 index 0000000000..611ec50bb4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-head.html @@ -0,0 +1,26 @@ + + + +HTML Templates: Template element as a descendant of the head element. + + + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-element-clone-into-inactive-document-crash.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-element-clone-into-inactive-document-crash.html new file mode 100644 index 0000000000..56b199d1eb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-element-clone-into-inactive-document-crash.html @@ -0,0 +1,7 @@ + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-set-inner-html-in-inactive-document-crash.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-set-inner-html-in-inactive-document-crash.html new file mode 100644 index 0000000000..79a76ee76f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-element/template-set-inner-html-in-inactive-document-crash.html @@ -0,0 +1,6 @@ + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-table-crash.html b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-table-crash.html new file mode 100644 index 0000000000..0f6a49874d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-template-element/template-table-crash.html @@ -0,0 +1,13 @@ + + + + + + + + + + Crash +
-- cgit v1.2.3