Throw RangeErrors in TextEncoder/TextDecoder constructors.

Fixes #5620.
Fix the TODOs and FIXMEs to comply with the spec.
Add test case for passing invalid invalid labels.
Update test metadata; three test cases have been resolved upstream and
will be fixed whenever the rust-encoding dependency is sufficiently upgraded.
This commit is contained in:
Aneesh Agrawal 2015-04-10 02:42:35 -04:00
parent f3aee90b06
commit 97301400a5
6 changed files with 37 additions and 130 deletions

View file

@ -10951,6 +10951,10 @@
"path": "encoding/api-basics.html",
"url": "/encoding/api-basics.html"
},
{
"path": "encoding/api-invalid-label.html",
"url": "/encoding/api-invalid-label.html"
},
{
"path": "encoding/api-replacement-encodings.html",
"url": "/encoding/api-replacement-encodings.html"

View file

@ -1,20 +1,4 @@
[api-replacement-encodings.html]
type: testharness
[The "replacement" label should not be a known encoding.]
expected: FAIL
[Label for "replacement" should be rejected by API: csiso2022kr]
expected: FAIL
[Label for "replacement" should be rejected by API: hz-gb-2312]
expected: FAIL
[Label for "replacement" should be rejected by API: iso-2022-cn]
expected: FAIL
[Label for "replacement" should be rejected by API: iso-2022-cn-ext]
expected: FAIL
[Label for "replacement" should be rejected by API: iso-2022-kr]
expected: FAIL

View file

@ -1,113 +1,7 @@
[textencoder-constructor-non-utf.html]
type: testharness
[Non-UTF encodings supported only for decode, not encode: ibm866]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: iso-8859-2]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: iso-8859-3]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: iso-8859-4]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: iso-8859-5]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: iso-8859-6]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: iso-8859-7]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: iso-8859-8]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: iso-8859-8-i]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: iso-8859-10]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: iso-8859-13]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: iso-8859-14]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: iso-8859-15]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: iso-8859-16]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: koi8-r]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: koi8-u]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: macintosh]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: windows-874]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: windows-1250]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: windows-1251]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: windows-1252]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: windows-1253]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: windows-1254]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: windows-1255]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: windows-1256]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: windows-1257]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: windows-1258]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: x-mac-cyrillic]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: gbk]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: gb18030]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: big5]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: euc-jp]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: iso-2022-jp]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: shift_jis]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: euc-kr]
expected: FAIL
[UTF encodings are supported for encode and decode: utf-16le]
expected: FAIL
[Non-UTF encodings supported only for decode, not encode: x-user-defined]
expected: FAIL

View file

@ -0,0 +1,14 @@
<!DOCTYPE html>
<title>Encoding API: invalid label</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
var invalidLabel = "invalid-invalidLabel"
test(function() {
assert_throws({name: 'RangeError'}, function() { new TextEncoder(invalidLabel); });
assert_throws({name: 'RangeError'}, function() { new TextDecoder(invalidLabel); });
}, 'Invalid label "' + invalidLabel + '" should be rejected by API.');
</script>