diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/charset-bom.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/charset-bom.html | 20 |
1 files changed, 20 insertions, 0 deletions
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..113ae63ea4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/css-module/charset-bom.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<title>CSS Module scripts should ignore BOMs and always use UTF-8</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script type="module"> + import utf8BOMSheet from './resources/bom-utf-8.css' with { type: 'css' }; + test(function() { + assert_equals(utf8BOMSheet.rules[0].selectorText, 'div', 'No UTF-8 BOM expected in selector'); + }, 'UTF-8 BOM should be stripped when decoding JSON module script'); + + import utf16BEBOMSheet from './resources/bom-utf-16be.css' with { type: 'css' }; + test(function() { + assert_equals(utf16BEBOMSheet.rules[0].selectorText, '\ufffd\ufffd\ufffdd\ufffdi\ufffdv\ufffd \ufffd', 'Expected UTF-8 decoded selectorText with 0xfffd replacement characters'); + }, 'UTF-16BE BOM should be ignored, so CSS module should be UTF-8 decoded'); + + import utf16LEBOMSheet from './resources/bom-utf-16le.css' with { type: 'css' }; + test(function() { + assert_equals(utf16LEBOMSheet.rules[0].selectorText, '\ufffd\ufffdd\ufffdi\ufffdv\ufffd \ufffd', 'Expected UTF-8 decoded selectorText with 0xfffd replacement characters'); + }, 'UTF-16LE BOM should be ignored, so CSS module should be UTF-8 decoded'); +</script>
\ No newline at end of file |