| // 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.'); | |
| }); |