Automatic update from web-platform-tests Remove ShadowRealm test coverage This intentionally does not make infrastructure or documentation changes, but without implementer support all the ShadowRealm tests add significant noise. Once there is implementer support this can be reverted. -- wpt-commits: e4a4672e9e607fc2b28e7173b83ce4e38ef53071 wpt-pr: 59794
66 lines
1.9 KiB
JavaScript
66 lines
1.9 KiB
JavaScript
// META: global=window,dedicatedworker
|
|
// META: title=Encoding API: TextDecoder decode() optional arguments
|
|
|
|
test(t => {
|
|
const decoder = new TextDecoder();
|
|
|
|
// Just passing nothing.
|
|
assert_equals(
|
|
decoder.decode(undefined), '',
|
|
'Undefined as first arg should decode to empty string');
|
|
|
|
// Flushing an incomplete sequence.
|
|
decoder.decode(new Uint8Array([0xc9]), {stream: true});
|
|
assert_equals(
|
|
decoder.decode(undefined), '\uFFFD',
|
|
'Undefined as first arg should flush the stream');
|
|
|
|
}, 'TextDecoder decode() with explicit undefined');
|
|
|
|
test(t => {
|
|
const decoder = new TextDecoder();
|
|
|
|
// Just passing nothing.
|
|
assert_equals(
|
|
decoder.decode(undefined, undefined), '',
|
|
'Undefined as first arg should decode to empty string');
|
|
|
|
// Flushing an incomplete sequence.
|
|
decoder.decode(new Uint8Array([0xc9]), {stream: true});
|
|
assert_equals(
|
|
decoder.decode(undefined, undefined), '\uFFFD',
|
|
'Undefined as first arg should flush the stream');
|
|
|
|
}, 'TextDecoder decode() with undefined and undefined');
|
|
|
|
test(t => {
|
|
const decoder = new TextDecoder();
|
|
|
|
// Just passing nothing.
|
|
assert_equals(
|
|
decoder.decode(undefined, {}), '',
|
|
'Undefined as first arg should decode to empty string');
|
|
|
|
// Flushing an incomplete sequence.
|
|
decoder.decode(new Uint8Array([0xc9]), {stream: true});
|
|
assert_equals(
|
|
decoder.decode(undefined, {}), '\uFFFD',
|
|
'Undefined as first arg should flush the stream');
|
|
|
|
}, 'TextDecoder decode() with undefined and options');
|
|
|
|
test(t => {
|
|
const decoder = new TextDecoder();
|
|
|
|
const arr = new Uint8Array(10000).fill(42);
|
|
const options = {
|
|
get stream() {
|
|
arr.buffer.transfer(0);
|
|
return false;
|
|
}
|
|
};
|
|
assert_equals(
|
|
decoder.decode(arr, options), '',
|
|
'Decoding should return an empty string with underlying array buffer detached during options conversion');
|
|
}, 'TextDecoder decode() with array buffer detached during arg conversion');
|