blob: 6ac2466952ae250635faaffff2a2e8e946043a0f [file] [log] [blame] [edit]
<html>
<body>
<script>
if (window.testRunner) { testRunner.dumpAsText() }
const decoder = new TextDecoder('utf-8', { fatal: true });
decoder.decode(new Uint8Array([0xf0]), {stream: true});
try { decoder.decode(new Uint8Array(0xffffffff)) } catch (e) { alert('successfully caught exception ' + e); }
try { decoder.decode(new Uint8Array(0x7fffffff)) } catch (e) { alert('successfully caught exception ' + e); }
var array = new Uint8Array(0x80000000);
const U2118 = new Uint8Array([0xe2, 0x84, 0x98]); // UTF-8 encoding of U+2118
for (var i = 0; i < 0x80000000 - 3; i = i + 3) {
array.set(U2118, i)
}
try { decoder.decode(array) } catch (e) { alert('unexpected error ' + e) }
alert('decoded string from array with length 0x80000000 populated with UTF-8 encoding of U+2118');
try {
const d = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
for (var i = 0; i < 3; i++) {
let s = d.decode(new Uint8Array(0x6fffffff));
}
alert('successfully decoded many buffers');
} catch (e) {
alert('caught unexpected exception ' + e);
}
</script>
</body>
</html>