diff options
Diffstat (limited to 'testing/web-platform/tests/encoding/textdecoder-arguments.any.js')
-rw-r--r-- | testing/web-platform/tests/encoding/textdecoder-arguments.any.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/testing/web-platform/tests/encoding/textdecoder-arguments.any.js b/testing/web-platform/tests/encoding/textdecoder-arguments.any.js new file mode 100644 index 0000000000..f469dcd30e --- /dev/null +++ b/testing/web-platform/tests/encoding/textdecoder-arguments.any.js @@ -0,0 +1,49 @@ +// 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'); |