Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /encoding/textdecoder-arguments.any.html - WPT Dashboard Interop Dashboard
- /encoding/textdecoder-arguments.any.shadowrealm-in-dedicatedworker.html - WPT Dashboard Interop Dashboard
- /encoding/textdecoder-arguments.any.shadowrealm-in-shadowrealm.html - WPT Dashboard Interop Dashboard
- /encoding/textdecoder-arguments.any.shadowrealm-in-sharedworker.html - WPT Dashboard Interop Dashboard
- /encoding/textdecoder-arguments.any.shadowrealm-in-window.html - WPT Dashboard Interop Dashboard
- /encoding/textdecoder-arguments.any.worker.html - WPT Dashboard Interop Dashboard
- /encoding/textdecoder-arguments.https.any.shadowrealm-in-audioworklet.html - WPT Dashboard Interop Dashboard
- /encoding/textdecoder-arguments.https.any.shadowrealm-in-serviceworker.html - WPT Dashboard Interop Dashboard
// META: global=window,dedicatedworker,shadowrealm
// 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');