| // 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'); |