diff options
author | WPT Sync Bot <josh+wptsync@joshmatthews.net> | 2019-05-22 10:24:35 +0000 |
---|---|---|
committer | WPT Sync Bot <josh+wptsync@joshmatthews.net> | 2019-05-22 14:00:10 +0000 |
commit | 5e5eccabf885cfc749a3bcb8a757be52ca0663f6 (patch) | |
tree | e4702492619d2a77086c5329a4108a5f9ed7e836 /tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module | |
parent | 415b26e4f11b25b317a37c406c1d6f1fc3709561 (diff) | |
download | servo-5e5eccabf885cfc749a3bcb8a757be52ca0663f6.tar.gz servo-5e5eccabf885cfc749a3bcb8a757be52ca0663f6.zip |
Update web-platform-tests to revision e426a6933a05bf144eba06a1d4c47ba876a4e2d1
Diffstat (limited to 'tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module')
14 files changed, 163 insertions, 0 deletions
diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/array.json b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/array.json new file mode 100644 index 00000000000..e77e32d3382 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/array.json @@ -0,0 +1 @@ +["en", "try"] diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/false.json b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/false.json new file mode 100644 index 00000000000..c508d5366f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/false.json @@ -0,0 +1 @@ +false diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/invalid-content-type.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/invalid-content-type.html new file mode 100644 index 00000000000..e6da2db7ebc --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/invalid-content-type.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>JSON modules: invalid Content-Type</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id=log></div> +<script> +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) { + async_test(t => { + const script = document.createElement("script"); + script.onerror = t.step_func_done(); + script.onload = t.unreached_func("Should not load"); + script.type = "module"; + script.src = `module.json?pipe=header(Content-Type,${content_type})`; + document.body.appendChild(script); + }, content_type); +} +</script> diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/module.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/module.html new file mode 100644 index 00000000000..93243853226 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/module.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>JSON modules</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id=log></div> +<script> +const t = async_test(); +</script> +<script type="module" onerror="t.step(() => assert_unreached(event))"> +import v from "./module.json"; +t.step(() => { + assert_equals(typeof v, "object"); + assert_array_equals(Object.keys(v), ["test"]); + assert_equals(v.test, true); + t.done(); +}); +</script> diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/module.json b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/module.json new file mode 100644 index 00000000000..f834b2a4e8f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/module.json @@ -0,0 +1,3 @@ +{ + "test": true +} diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/non-object.any.js b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/non-object.any.js new file mode 100644 index 00000000000..398da56595f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/non-object.any.js @@ -0,0 +1,14 @@ +// META: global=window,worker + +for (const value of [null, true, false, "string"]) { + promise_test(async t => { + const result = await import(`./${value}.json`); + assert_equals(result, value); + }, `Non-object: ${value}`); +} + +promise_test(async t => { + const result = await import("./array.json"); + assert_array_equals(result, ["en", "try"]); +}, "Non-object: array"); + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/null.json b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/null.json new file mode 100644 index 00000000000..19765bd501b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/null.json @@ -0,0 +1 @@ +null diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/parse-error.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/parse-error.html new file mode 100644 index 00000000000..68d3ef0a9ad --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/parse-error.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>JSON modules: parse error</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id=log></div> +<script> +setup({ + allow_uncaught_exception: true, +}); +async_test(t => { + window.addEventListener("error", t.step_func_done(e => { + assert_true(e instanceof ErrorEvent, "ErrorEvent"); + assert_equals(e.filename, new URL("parse-error.json", location).href); + assert_true(e.error instanceof SyntaxError, "SyntaxError"); + })); +}); +</script> +<script type="module"> +import v from "./parse-error.json"; +</script> diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/parse-error.json b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/parse-error.json new file mode 100644 index 00000000000..98232c64fce --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/parse-error.json @@ -0,0 +1 @@ +{ diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/string.json b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/string.json new file mode 100644 index 00000000000..ace2d72d9d3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/string.json @@ -0,0 +1 @@ +"string" diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/true.json b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/true.json new file mode 100644 index 00000000000..27ba77ddaf6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/true.json @@ -0,0 +1 @@ +true diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/utf8.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/utf8.html new file mode 100644 index 00000000000..1c0360b17e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/utf8.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>JSON modules: UTF-8 decoding</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id=log></div> +<script> +function check(t, v) { + t.step(() => { + assert_equals(typeof v, "object"); + assert_array_equals(Object.keys(v), ["test"]); + assert_equals(v.test, "\u2026"); + t.done(); + }); +} +const t1 = async_test("utf-8"); +const t2 = async_test("shift-jis"); +const t3 = async_test("windows-1252"); +const t4 = async_test("utf-7"); +</script> +<script type="module" onerror="t1.step(() => assert_unreached(event))"> +import v from "../serve-with-content-type.py?fn=json-module/utf8.json&ct=text/json%3Bcharset=utf-8"; +check(t1, v); +</script> +<script type="module" onerror="t2.step(() => assert_unreached(event))"> +import v from "../serve-with-content-type.py?fn=json-module/utf8.json&ct=text/json%3Bcharset=shift-jis"; +check(t2, v); +</script> +<script type="module" onerror="t3.step(() => assert_unreached(event))"> +import v from "../serve-with-content-type.py?fn=json-module/utf8.json&ct=text/json%3Bcharset=windows-1252"; +check(t3, v); +</script> +<script type="module" onerror="t4.step(() => assert_unreached(event))"> +import v from "../serve-with-content-type.py?fn=json-module/utf8.json&ct=text/json%3Bcharset=utf-7"; +check(t4, v); +</script> diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/utf8.json b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/utf8.json new file mode 100644 index 00000000000..7bb9edd2f79 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/utf8.json @@ -0,0 +1,3 @@ +{ + "test": "…" +} diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/valid-content-type.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/valid-content-type.html new file mode 100644 index 00000000000..78e8b1d23fe --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/valid-content-type.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>JSON modules: Content-Type</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id=log></div> +<script> +function check(t, v) { + t.step(() => { + assert_equals(typeof v, "object"); + assert_array_equals(Object.keys(v), ["test"]); + assert_equals(v.test, true); + t.done(); + }); +} +const t1 = async_test("text/json"); +const t2 = async_test("application/json"); +const t3 = async_test("text/html+json"); +const t4 = async_test("image/svg+json"); +</script> +<script type="module" onerror="t1.step(() => assert_unreached(event))"> +import v from "../serve-with-content-type.py?fn=json-module/module.json&ct=text/json"; +check(t1, v); +</script> +<script type="module" onerror="t2.step(() => assert_unreached(event))"> +import v from "../serve-with-content-type.py?fn=json-module/module.json&ct=application/json"; +check(t2, v); +</script> +<script type="module" onerror="t3.step(() => assert_unreached(event))"> +import v from "../serve-with-content-type.py?fn=json-module/module.json&ct=text/html+json"; +check(t3, v); +</script> +<script type="module" onerror="t4.step(() => assert_unreached(event))"> +import v from "../serve-with-content-type.py?fn=json-module/module.json&ct=image/svg+json"; +check(t4, v); +</script> |