fix: align encoding APIs to spec using WPT (#9004)

This commit is contained in:
Luca Casonato 2021-01-05 19:50:40 +01:00 committed by GitHub
parent ee9c0c8373
commit 0d41e21b0e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 346 additions and 175 deletions

View file

@ -100,59 +100,7 @@ function textDecoder2() {
assert(decoder.decode(fixture) === "𝓽𝓮𝔁𝓽");
}
function textDecoderIgnoreBOM() {
// deno-fmt-ignore
const fixture = new Uint8Array([
0xef,
0xbb,
0xbf,
0xf0,
0x9d,
0x93,
0xbd,
0xf0,
0x9d,
0x93,
0xae,
0xf0,
0x9d,
0x94,
0x81,
0xf0,
0x9d,
0x93,
0xbd,
]);
const decoder = new TextDecoder("utf-8", { ignoreBOM: true });
assert(decoder.decode(fixture) === "𝓽𝓮𝔁𝓽");
}
function textDecoderNotBOM() {
// deno-fmt-ignore
const fixture = new Uint8Array([
0xef,
0xbb,
0x89,
0xf0,
0x9d,
0x93,
0xbd,
0xf0,
0x9d,
0x93,
0xae,
0xf0,
0x9d,
0x94,
0x81,
0xf0,
0x9d,
0x93,
0xbd,
]);
const decoder = new TextDecoder("utf-8", { ignoreBOM: true });
assert(decoder.decode(fixture) === "ﻉ𝓽𝓮𝔁𝓽");
}
// ignoreBOM is tested by WPT
function textDecoderASCII() {
const fixture = new Uint8Array([0x89, 0x95, 0x9f, 0xbf]);
@ -1252,8 +1200,6 @@ function main() {
atobThrows2();
btoaFailed();
textDecoder2();
textDecoderIgnoreBOM();
textDecoderNotBOM();
textDecoderASCII();
textDecoderErrorEncoding();
textDecoderHandlesUndefined();