mirror of
https://github.com/oven-sh/bun
synced 2026-02-09 18:38:55 +00:00
pass all string decoder tests (#15723)
Co-authored-by: paperdave <paperdave@users.noreply.github.com> Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
This commit is contained in:
@@ -260,3 +260,21 @@ it("decoding latin1, issue #3738", () => {
|
||||
output += decoder.end();
|
||||
expect(output).toStrictEqual("ÝYÞ");
|
||||
});
|
||||
|
||||
it("invalid utf-8 at end of stream can sometimes produce more than one replacement character", () => {
|
||||
let decoder = new RealStringDecoder("utf-8");
|
||||
expect(decoder.write(Buffer.from("36f59c", "hex"))).toEqual("6");
|
||||
expect(decoder.end()).toEqual("\uFFFD\uFFFD");
|
||||
decoder = new RealStringDecoder("utf-8");
|
||||
expect(decoder.write(Buffer.from("36f5", "hex"))).toEqual("6");
|
||||
expect(decoder.end(Buffer.from("9c", "hex"))).toEqual("\uFFFD\uFFFD");
|
||||
});
|
||||
|
||||
it("invalid utf-8 at end of stream can sometimes produce more than one replacement character", () => {
|
||||
let decoder = new RealStringDecoder("utf-8");
|
||||
expect(decoder.write(Buffer.from("36f59c", "hex"))).toEqual("6");
|
||||
expect(decoder.end()).toEqual("\uFFFD\uFFFD");
|
||||
decoder = new RealStringDecoder("utf-8");
|
||||
expect(decoder.write(Buffer.from("36f5", "hex"))).toEqual("6");
|
||||
expect(decoder.end(Buffer.from("9c", "hex"))).toEqual("\uFFFD\uFFFD");
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user