diff --git a/src/wpt/encoding-test.ts b/src/wpt/encoding-test.ts index 222976cfd1b..5558129a5dd 100644 --- a/src/wpt/encoding-test.ts +++ b/src/wpt/encoding-test.ts @@ -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', ], }, @@ -22,7 +22,9 @@ 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', @@ -30,6 +32,7 @@ export default { }, '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, }, @@ -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.', @@ -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', @@ -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', @@ -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::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', @@ -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', @@ -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', @@ -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 @@ -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', @@ -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', @@ -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', @@ -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)'], @@ -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', @@ -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)', @@ -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', @@ -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', @@ -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, },