WPT encoding conformance — iconv-lite
Upstream web-platform-tests encoding/ run unmodified against iconv-lite (via a TextDecoder/TextEncoder shim), across Node LTS versions. Failures are real gaps vs the WHATWG Encoding Standard.
Node v22.23.2
iconv-lite 1.0.0-alpha.2 @ 2472166ea5a4
| Test file |
✓ pass |
✗ fail |
legacy-mb-schinese/gb18030/gb18030-decoder.any.html |
36 |
239 |
single-byte-decoder.window.html |
108 |
60 |
textdecoder-mistakes.any.html |
31 |
56 |
textdecoder-arguments.any.html |
0 |
4 |
textdecoder-labels.any.html |
219 |
3 |
textdecoder-eof.any.html |
0 |
2 |
textencoder-constructor-non-utf.any.html |
77 |
2 |
api-basics.any.html |
6 |
|
api-invalid-label.any.html |
3421 |
|
api-surrogates-utf8.any.html |
6 |
|
legacy-mb-schinese/gbk/gbk-decoder.any.html |
82 |
|
textdecoder-byte-order-marks.any.html |
3 |
|
textdecoder-fatal.any.html |
36 |
|
textdecoder-ignorebom.any.html |
4 |
|
textdecoder-utf16-surrogates.any.html |
10 |
|
textencoder-utf16-surrogates.any.html |
7 |
|
decode-compare: shift_jis |
7787 |
|
decode-compare: euc-jp |
13466 |
|
decode-compare: euc-kr |
17048 |
|
decode-compare: big5 |
18590 |
|
Sample failing assertions
legacy-mb-schinese/gb18030/gb18030-decoder.any.html (239 failing)
- gb18030 decoder: two bytes 0x81 0xFF
- gb18030 decoder: two bytes 0xFE 0xFF
- gb18030 decoder: two bytes 0x81 0x30
- gb18030 decoder: three bytes 0x81 0x30 0xFE
- gb18030 decoder: four bytes 0xFE 0x39 0xFE 0x39
- gb18030 decoder: pointer 7458
- gb18030 decoder: pointer 7459
- gb18030 decoder: pointer 39419
- gb18030 decoder: pointer 39420
- gb18030 decoder: pointer 189999
- gb18030 decoder: pointer 189000
- gb18030 decoder: pointer 1237575
- gb18030 decoder: pointer 1237576
- gb18030 decoder: legacy ICU special case 1
- gb18030 decoder: GB18030-2022 19
- …and 224 more
single-byte-decoder.window.html (60 failing)
- KOI8-U: koi8-u (TextDecoder): KOI8-U:174 — expected 1118, got 9565
- macintosh: csmacintosh (TextDecoder): macintosh:189 — expected 937, got 8486
- macintosh: mac (TextDecoder): macintosh:189 — expected 937, got 8486
- macintosh: macintosh (TextDecoder): macintosh:189 — expected 937, got 8486
- macintosh: x-mac-roman (TextDecoder): macintosh:189 — expected 937, got 8486
- windows-874: dos-874 (TextDecoder): windows-874:129 — expected 129, got 65533
- windows-874: iso-8859-11 (TextDecoder): windows-874:128 — expected 8364, got 128
- windows-874: iso8859-11 (TextDecoder): windows-874:128 — expected 8364, got 128
- windows-874: iso885911 (TextDecoder): windows-874:128 — expected 8364, got 128
- windows-874: tis-620 (TextDecoder): windows-874:128 — expected 8364, got 65533
- windows-874: windows-874 (TextDecoder): windows-874:129 — expected 129, got 65533
- windows-1250: cp1250 (TextDecoder): windows-1250:129 — expected 129, got 65533
- windows-1250: windows-1250 (TextDecoder): windows-1250:129 — expected 129, got 65533
- windows-1250: x-cp1250 (TextDecoder): windows-1250:129 — expected 129, got 65533
- windows-1251: cp1251 (TextDecoder): windows-1251:152 — expected 152, got 65533
- …and 45 more
textdecoder-mistakes.any.html (56 failing)
- Fast path misdetection: latin1
- Fast path misdetection: ascii
- windows-1252 maps bytes outside of latin1: windows-1252
- windows-1252 maps bytes outside of latin1: latin1
- windows-1252 maps bytes outside of latin1: ascii
- windows-1252 does not contain unmapped chars: windows-1252
- windows-1252 does not contain unmapped chars: ascii
- specific: x-user-defined
- specific: big5
- selected single-byte: koi8-u
- selected single-byte: windows-874
- selected single-byte: windows-1252
- selected single-byte: windows-1253
- selected single-byte: windows-1255
- selected single-byte: macintosh
- …and 41 more
textdecoder-arguments.any.html (4 failing)
- TextDecoder decode() with explicit undefined
- TextDecoder decode() with undefined and undefined
- TextDecoder decode() with undefined and options
- TextDecoder decode() with array buffer detached during arg conversion
textdecoder-labels.any.html (3 failing)
- csiso2022jp => ISO-2022-JP
- iso-2022-jp => ISO-2022-JP
- x-user-defined => x-user-defined
textdecoder-eof.any.html (2 failing)
- TextDecoder end-of-queue handling
- TextDecoder end-of-queue handling using stream: true
textencoder-constructor-non-utf.any.html (2 failing)
- Encoding argument supported for decode: ISO-2022-JP
- Encoding argument supported for decode: x-user-defined
366 failing assertion(s) across 7 file(s).
Node v24.19.0
iconv-lite 1.0.0-alpha.2 @ 2472166ea5a4
| Test file |
✓ pass |
✗ fail |
legacy-mb-schinese/gb18030/gb18030-decoder.any.html |
36 |
239 |
single-byte-decoder.window.html |
108 |
60 |
textdecoder-mistakes.any.html |
31 |
56 |
textdecoder-arguments.any.html |
0 |
4 |
textdecoder-labels.any.html |
219 |
3 |
textdecoder-eof.any.html |
0 |
2 |
textencoder-constructor-non-utf.any.html |
77 |
2 |
api-basics.any.html |
6 |
|
api-invalid-label.any.html |
3421 |
|
api-surrogates-utf8.any.html |
6 |
|
legacy-mb-schinese/gbk/gbk-decoder.any.html |
82 |
|
textdecoder-byte-order-marks.any.html |
3 |
|
textdecoder-fatal.any.html |
36 |
|
textdecoder-ignorebom.any.html |
4 |
|
textdecoder-utf16-surrogates.any.html |
10 |
|
textencoder-utf16-surrogates.any.html |
7 |
|
decode-compare: shift_jis |
7787 |
|
decode-compare: euc-jp |
13466 |
|
decode-compare: euc-kr |
17048 |
|
decode-compare: big5 |
18590 |
|
Sample failing assertions
legacy-mb-schinese/gb18030/gb18030-decoder.any.html (239 failing)
- gb18030 decoder: two bytes 0x81 0xFF
- gb18030 decoder: two bytes 0xFE 0xFF
- gb18030 decoder: two bytes 0x81 0x30
- gb18030 decoder: three bytes 0x81 0x30 0xFE
- gb18030 decoder: four bytes 0xFE 0x39 0xFE 0x39
- gb18030 decoder: pointer 7458
- gb18030 decoder: pointer 7459
- gb18030 decoder: pointer 39419
- gb18030 decoder: pointer 39420
- gb18030 decoder: pointer 189999
- gb18030 decoder: pointer 189000
- gb18030 decoder: pointer 1237575
- gb18030 decoder: pointer 1237576
- gb18030 decoder: legacy ICU special case 1
- gb18030 decoder: GB18030-2022 19
- …and 224 more
single-byte-decoder.window.html (60 failing)
- KOI8-U: koi8-u (TextDecoder): KOI8-U:174 — expected 1118, got 9565
- macintosh: csmacintosh (TextDecoder): macintosh:189 — expected 937, got 8486
- macintosh: mac (TextDecoder): macintosh:189 — expected 937, got 8486
- macintosh: macintosh (TextDecoder): macintosh:189 — expected 937, got 8486
- macintosh: x-mac-roman (TextDecoder): macintosh:189 — expected 937, got 8486
- windows-874: dos-874 (TextDecoder): windows-874:129 — expected 129, got 65533
- windows-874: iso-8859-11 (TextDecoder): windows-874:128 — expected 8364, got 128
- windows-874: iso8859-11 (TextDecoder): windows-874:128 — expected 8364, got 128
- windows-874: iso885911 (TextDecoder): windows-874:128 — expected 8364, got 128
- windows-874: tis-620 (TextDecoder): windows-874:128 — expected 8364, got 65533
- windows-874: windows-874 (TextDecoder): windows-874:129 — expected 129, got 65533
- windows-1250: cp1250 (TextDecoder): windows-1250:129 — expected 129, got 65533
- windows-1250: windows-1250 (TextDecoder): windows-1250:129 — expected 129, got 65533
- windows-1250: x-cp1250 (TextDecoder): windows-1250:129 — expected 129, got 65533
- windows-1251: cp1251 (TextDecoder): windows-1251:152 — expected 152, got 65533
- …and 45 more
textdecoder-mistakes.any.html (56 failing)
- Fast path misdetection: latin1
- Fast path misdetection: ascii
- windows-1252 maps bytes outside of latin1: windows-1252
- windows-1252 maps bytes outside of latin1: latin1
- windows-1252 maps bytes outside of latin1: ascii
- windows-1252 does not contain unmapped chars: windows-1252
- windows-1252 does not contain unmapped chars: ascii
- specific: x-user-defined
- specific: big5
- selected single-byte: koi8-u
- selected single-byte: windows-874
- selected single-byte: windows-1252
- selected single-byte: windows-1253
- selected single-byte: windows-1255
- selected single-byte: macintosh
- …and 41 more
textdecoder-arguments.any.html (4 failing)
- TextDecoder decode() with explicit undefined
- TextDecoder decode() with undefined and undefined
- TextDecoder decode() with undefined and options
- TextDecoder decode() with array buffer detached during arg conversion
textdecoder-labels.any.html (3 failing)
- csiso2022jp => ISO-2022-JP
- iso-2022-jp => ISO-2022-JP
- x-user-defined => x-user-defined
textdecoder-eof.any.html (2 failing)
- TextDecoder end-of-queue handling
- TextDecoder end-of-queue handling using stream: true
textencoder-constructor-non-utf.any.html (2 failing)
- Encoding argument supported for decode: ISO-2022-JP
- Encoding argument supported for decode: x-user-defined
366 failing assertion(s) across 7 file(s).
Generated by test/wpt/report.js.
WPT encoding conformance — iconv-lite
Upstream web-platform-tests
encoding/run unmodified against iconv-lite (via aTextDecoder/TextEncodershim), across Node LTS versions. Failures are real gaps vs the WHATWG Encoding Standard.Node v22.23.2
iconv-lite
1.0.0-alpha.2@2472166ea5a4legacy-mb-schinese/gb18030/gb18030-decoder.any.htmlsingle-byte-decoder.window.htmltextdecoder-mistakes.any.htmltextdecoder-arguments.any.htmltextdecoder-labels.any.htmltextdecoder-eof.any.htmltextencoder-constructor-non-utf.any.htmlapi-basics.any.htmlapi-invalid-label.any.htmlapi-surrogates-utf8.any.htmllegacy-mb-schinese/gbk/gbk-decoder.any.htmltextdecoder-byte-order-marks.any.htmltextdecoder-fatal.any.htmltextdecoder-ignorebom.any.htmltextdecoder-utf16-surrogates.any.htmltextencoder-utf16-surrogates.any.htmldecode-compare: shift_jisdecode-compare: euc-jpdecode-compare: euc-krdecode-compare: big5Sample failing assertions
legacy-mb-schinese/gb18030/gb18030-decoder.any.html (239 failing)
single-byte-decoder.window.html (60 failing)
textdecoder-mistakes.any.html (56 failing)
textdecoder-arguments.any.html (4 failing)
textdecoder-labels.any.html (3 failing)
textdecoder-eof.any.html (2 failing)
textencoder-constructor-non-utf.any.html (2 failing)
366 failing assertion(s) across 7 file(s).
Node v24.19.0
iconv-lite
1.0.0-alpha.2@2472166ea5a4legacy-mb-schinese/gb18030/gb18030-decoder.any.htmlsingle-byte-decoder.window.htmltextdecoder-mistakes.any.htmltextdecoder-arguments.any.htmltextdecoder-labels.any.htmltextdecoder-eof.any.htmltextencoder-constructor-non-utf.any.htmlapi-basics.any.htmlapi-invalid-label.any.htmlapi-surrogates-utf8.any.htmllegacy-mb-schinese/gbk/gbk-decoder.any.htmltextdecoder-byte-order-marks.any.htmltextdecoder-fatal.any.htmltextdecoder-ignorebom.any.htmltextdecoder-utf16-surrogates.any.htmltextencoder-utf16-surrogates.any.htmldecode-compare: shift_jisdecode-compare: euc-jpdecode-compare: euc-krdecode-compare: big5Sample failing assertions
legacy-mb-schinese/gb18030/gb18030-decoder.any.html (239 failing)
single-byte-decoder.window.html (60 failing)
textdecoder-mistakes.any.html (56 failing)
textdecoder-arguments.any.html (4 failing)
textdecoder-labels.any.html (3 failing)
textdecoder-eof.any.html (2 failing)
textencoder-constructor-non-utf.any.html (2 failing)
366 failing assertion(s) across 7 file(s).
Generated by
test/wpt/report.js.