Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 29 additions & 2 deletions src/wpt/encoding-test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export default {
'encodeInto.any.js': {
comment: 'See comments on each failure',
expectedFailures: [
// Enable once MessageChannel is implemented
// Won't implement
'encodeInto() and a detached output buffer',
],
},
Expand All @@ -22,14 +22,17 @@ export default {
},
'iso-2022-jp-decoder.any.js': {
comment: 'TODO investigate this',
// ICU should handle this; see why we fail
expectedFailures: [

'iso-2022-jp decoder: Error ESC',
'iso-2022-jp decoder: Katakana ESC, SO / SI',
'iso-2022-jp decoder: character, error ESC #2',
],
},
'legacy-mb-japanese/euc-jp/eucjp-decoder.js': {},
'legacy-mb-japanese/euc-jp/eucjp-encoder.js': {
// Something wrong with the way files are included
comment: 'ReferenceError: jis0208 is not defined',
omittedTests: true,
},
Expand All @@ -51,25 +54,31 @@ export default {
},
'legacy-mb-korean/euc-kr/euckr-decoder.js': {},
'legacy-mb-korean/euc-kr/euckr-encoder.js': {
// Something wrong with the way files are included
comment: 'ReferenceError: euckr is not defined',
omittedTests: true,
},
'legacy-mb-korean/euc-kr/euckr_index.js': {},
'legacy-mb-schinese/gb18030/gb18030-decoder.any.js': {
// Figure out what is going on with ICU
// We're using V8's ICU (are they possibly excluding whacky encodings?)
comment: 'Too many failures to list individually',
omittedTests: true,
},
'legacy-mb-schinese/gbk/gbk-decoder.any.js': {
// Figure out what is going on with ICU
comment: 'Too many failures to list individually',
omittedTests: true,
},
'legacy-mb-tchinese/big5/big5-decoder.js': {},
'legacy-mb-tchinese/big5/big5-encoder.js': {
// Bad inclues
comment: 'big5 is not defined',
omittedTests: true,
},
'legacy-mb-tchinese/big5/big5_index.js': {},
'replacement-encodings.any.js': {
// Maybe ask them to use fetch
comment: 'XMLHttpRequest is not defined',
expectedFailures: [
'csiso2022kr - non-empty input decodes to one replacement character.',
Expand All @@ -87,11 +96,13 @@ export default {
],
},
'single-byte-decoder.window.js': {
// Omit this
comment: 'Too many failures to list individually',
disabledTests: true,
},
'streams/backpressure.any.js': {
comment: 'Implement step_timeout in harness',
// We ought to pass them; but first I do need to implement step_timeout
expectedFailures: [
'write() should not complete until read relieves backpressure for TextDecoderStream',
'additional writes should wait for backpressure to be relieved for class TextDecoderStream',
Expand All @@ -101,6 +112,7 @@ export default {
},
'streams/decode-attributes.any.js': {
comment: 'TODO investigate this',
// Bad argument validation
expectedFailures: [
"setting fatal to 'undefined' should set the attribute to false",
'a throwing fatal member should cause the constructor to throw',
Expand All @@ -109,11 +121,13 @@ export default {
},
'streams/decode-bad-chunks.any.js': {
comment: 'Failed V8 assert',
// Ticket for this. Our type checking is wrong.
// external/v8/src/api/api-inl.h:163; message = v8::internal::ValueHelper::IsEmpty(that) || IsJSArrayBufferView(v8::internal::Tagged<v8::internal::Object>( v8::internal::ValueHelper::ValueAsAddress(that)))
disabledTests: true,
},
'streams/decode-ignore-bom.any.js': {},
'streams/decode-incomplete-input.any.js': {
// Create a ticket to investigate
comment: 'TODO investigate this',
expectedFailures: [
'incomplete input with error mode "fatal" should error the stream',
Expand All @@ -122,6 +136,8 @@ export default {
},
'streams/decode-non-utf8.any.js': {
comment: 'TODO investigate this',
// Do we support fatal true
// Are we doing something wrong with endianness or malformed UTF-16
expectedFailures: [
'TextDecoderStream should be able to decode invalid sequences in UTF-16BE',
'TextDecoderStream should be able to decode invalid sequences in UTF-16LE',
Expand All @@ -131,6 +147,7 @@ export default {
},
'streams/decode-split-character.any.js': {
comment: 'TODO investigate this',
// Code point split investigatyion
expectedFailures: [
'a code point split between chunks should not be emitted until all bytes are available; split point = 2',
'a code point split between chunks should not be emitted until all bytes are available; split point = 3',
Expand All @@ -148,7 +165,8 @@ export default {
'streams/decode-utf8.any.js': {
comment: 'See comments on each failure',
expectedFailures: [
// Enable once MessageChannel is implemented
// Enable once MessageChannel is implemented. Mark these as omitted
// Maybe ask upstream to do this the standard way
'decoding a transferred Uint8Array chunk should give no output',
'decoding a transferred ArrayBuffer chunk should give no output',
// TODO investigate these
Expand All @@ -166,6 +184,7 @@ export default {
},
'streams/encode-bad-chunks.any.js': {
comment: 'TODO investigate this',
// Likely bad validation
expectedFailures: [
'input of type undefined should be converted correctly to string',
'input of type null should be converted correctly to string',
Expand All @@ -176,6 +195,7 @@ export default {
},
'streams/encode-utf8.any.js': {
comment: 'TODO investigate this',
// Create tickets
expectedFailures: [
'an empty string should result in no output chunk',
'a character split between chunks should be correctly encoded',
Expand All @@ -193,6 +213,7 @@ export default {
],
},
'streams/invalid-realm.window.js': {
// Disable
comment: 'Enable when ShadowRealm is supported',
expectedFailures: [
'TextDecoderStream: write in detached realm should succeed',
Expand All @@ -209,6 +230,7 @@ export default {
'textdecoder-arguments.any.js': {},
'textdecoder-byte-order-marks.any.js': {},
'textdecoder-copy.any.js': {
// Bad type validation; should allow SAB
comment:
"Failed to execute 'decode' on 'TextDecoder': parameter 1 is not of type 'Array'.",
expectedFailures: ['Modify buffer after passing it in (SharedArrayBuffer)'],
Expand All @@ -219,6 +241,7 @@ export default {
'textdecoder-fatal.any.js': {},
'textdecoder-ignorebom.any.js': {},
'textdecoder-labels.any.js': {
// We maybe need to update list of encoding aliases
comment: 'TODO investigate this',
expectedFailures: [
'866 => IBM866',
Expand All @@ -239,6 +262,7 @@ export default {
'textdecoder-streaming.any.js': {},
'textdecoder-utf16-surrogates.any.js': {
comment: 'Investigate why we are not blocking invalid surrogates',
// Investigate surrogate problems
expectedFailures: [
'utf-16le - lone surrogate lead',
'utf-16le - lone surrogate lead (fatal flag set)',
Expand All @@ -254,6 +278,7 @@ export default {
},
'textencoder-constructor-non-utf.any.js': {
comment: 'Investigate this',
// Probably our alias list
expectedFailures: [
'Encoding argument supported for decode: IBM866',
'Encoding argument supported for decode: Shift_JIS',
Expand All @@ -262,6 +287,7 @@ export default {
},
'textencoder-utf16-surrogates.any.js': {},
'unsupported-encodings.any.js': {
// Ask if they'll take a fetch version
comment: 'XMLHttpRequest is not defined',
expectedFailures: [
'UTF-7 should not be supported',
Expand All @@ -281,6 +307,7 @@ export default {
],
},
'unsupported-labels.window.js': {
// omit, but see if same coverage as the normal alias tests
comment: 'Too many failures to list by name',
disabledTests: true,
},
Expand Down
Loading