summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/encoding/api-invalid-label.any.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/encoding/api-invalid-label.any.js')
-rw-r--r--testing/web-platform/tests/encoding/api-invalid-label.any.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/testing/web-platform/tests/encoding/api-invalid-label.any.js b/testing/web-platform/tests/encoding/api-invalid-label.any.js
new file mode 100644
index 0000000000..d88f4ae780
--- /dev/null
+++ b/testing/web-platform/tests/encoding/api-invalid-label.any.js
@@ -0,0 +1,29 @@
+// META: title=Encoding API: invalid label
+// META: timeout=long
+// META: variant=?1-1000
+// META: variant=?1001-2000
+// META: variant=?2001-3000
+// META: variant=?3001-last
+// META: script=resources/encodings.js
+// META: script=/common/subset-tests.js
+
+var tests = ["invalid-invalidLabel"];
+setup(function() {
+ encodings_table.forEach(function(section) {
+ section.encodings.forEach(function(encoding) {
+ encoding.labels.forEach(function(label) {
+ ["\u0000", "\u000b", "\u00a0", "\u2028", "\u2029"].forEach(function(ws) {
+ tests.push(ws + label);
+ tests.push(label + ws);
+ tests.push(ws + label + ws);
+ });
+ });
+ });
+ });
+});
+
+tests.forEach(function(input) {
+ subsetTest(test, function() {
+ assert_throws_js(RangeError, function() { new TextDecoder(input); });
+ }, 'Invalid label ' + format_value(input) + ' should be rejected by TextDecoder.');
+});