Files
scriptc/tests/corpus/node24-buffer-encoding-errors.ts
T
Chris Tate 50a2731631 Expand Node 24 text-encoding support (#629)
* Expand Node 24 text-encoding support

* Update codec diagnostics for encodeInto support
2026-10-03 05:38:29 -05:00

18 lines
1.3 KiB
TypeScript

import { isAscii, isUtf8, transcode } from "node:buffer";
for (const input of [undefined, null, 1, "x", {}, [], new DataView(new ArrayBuffer(2))]) {
try { console.log(isAscii(input as Uint8Array)); }
catch (error) { if (error instanceof Error) console.log(error.name, (error as NodeJS.ErrnoException).code, error.message); }
try { console.log(isUtf8(input as Uint8Array)); }
catch (error) { if (error instanceof Error) console.log(error.name, (error as NodeJS.ErrnoException).code, error.message); }
try { console.log(transcode(input as Uint8Array, "utf8", "ascii")); }
catch (error) { if (error instanceof Error) console.log(error.name, (error as NodeJS.ErrnoException).code, error.message); }
}
for (const encoding of [undefined, null, "", "bad", "hex", "base64", 1, {}]) {
try { console.log(transcode(Buffer.from("abc"), encoding as string, "utf8").toString("hex")); }
catch (error) { if (error instanceof Error) console.log(error.name, (error as NodeJS.ErrnoException).code, error.message); }
try { console.log(transcode(Buffer.from("abc"), "utf8", encoding as string).toString("hex")); }
catch (error) { if (error instanceof Error) console.log(error.name, (error as NodeJS.ErrnoException).code, error.message); }
}
console.log(transcode(Buffer.alloc(0), "bad", "hex").length);