diff options
Diffstat (limited to 'tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/charset-bom.any.js')
-rw-r--r-- | tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/charset-bom.any.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/charset-bom.any.js b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/charset-bom.any.js new file mode 100644 index 00000000000..d2dbe3e468f --- /dev/null +++ b/tests/wpt/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'); |