1// META: title=Encoding API: unsupported encodings 2// META: script=resources/decoding-helpers.js 3 4// Attempting to decode '<' as UTF-7 (+AD4) ends up as '+AD4'. 5['UTF-7', 'utf-7'].forEach(label => { 6 decode_test(label, '+AD4', 'U+002B/U+0041/U+0044/U+0034', 7 `${label} should not be supported`); 8}); 9 10// UTF-32 will be detected as UTF-16LE if leading BOM, or UTF-8 otherwise (due to XMLHttpRequest). 11['UTF-32', 'utf-32', 'UTF-32LE', 'utf-32le'].forEach(label => { 12 decode_test(label, 13 '%FF%FE%00%00%41%00%00%00%42%00%00%00', 14 'U+0000/U+0041/U+0000/U+0042/U+0000', 15 `${label} with BOM should decode as UTF-16LE`); 16 17 decode_test(label, 18 '%41%00%00%00%42%00%00%C2%80', 19 'U+0041/U+0000/U+0000/U+0000/U+0042/U+0000/U+0000/U+0080', 20 `${label} with no BOM should decode as UTF-8`);; 21}); 22['UTF-32be', 'utf-32be'].forEach(label => { 23 decode_test(label, 24 '%00%00%00%41%00%00%00%42%C2%80', 25 'U+0000/U+0000/U+0000/U+0041/U+0000/U+0000/U+0000/U+0042/U+0080', 26 `${label} with no BOM should decode as UTF-8`); 27 28 decode_test(label, 29 '%00%00%FE%FF%00%00%00%41%00%C2%80%42', 30 'U+0000/U+0000/U+FFFD/U+FFFD/U+0000/U+0000/U+0000/U+0041/U+0000/U+0080/U+0042', 31 `${label} with BOM should decode as UTF-8`); 32}); 33