From 1cb8f0fa73bb9c17a06305ac3fa06b4268494d2a Mon Sep 17 00:00:00 2001 From: Hyro Date: Fri, 5 Aug 2022 19:42:52 +0200 Subject: feat(util): support for util.TextDecoder (#990) * build:(landing) automated website build * Revert "build:(landing) automated website build" This reverts commit ddee8485fd8b76160962c410b885e17aaff95b4e. * feat(util): support for util.TextDecoder * tests(util): add TextDecoder * tests: seperate text-decoder Co-authored-by: xHyroM --- test/bun.js/text-encoder.test.js | 55 ---------------------------------------- 1 file changed, 55 deletions(-) (limited to 'test/bun.js/text-encoder.test.js') diff --git a/test/bun.js/text-encoder.test.js b/test/bun.js/text-encoder.test.js index 5f8778bde..2c8f9acf4 100644 --- a/test/bun.js/text-encoder.test.js +++ b/test/bun.js/text-encoder.test.js @@ -13,61 +13,6 @@ const getByteLength = (str) => { return s; }; -describe("TextDecoder", () => { - it("should decode ascii text", () => { - const decoder = new TextDecoder("latin1"); - gcTrace(true); - expect(decoder.encoding).toBe("windows-1252"); - gcTrace(true); - expect(decoder.decode(new Uint8Array([0x41, 0x42, 0x43]))).toBe("ABC"); - gcTrace(true); - const result = [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]; - gcTrace(true); - expect(decoder.decode(Uint8Array.from(result))).toBe( - String.fromCharCode(...result) - ); - gcTrace(true); - }); - - it("should decode unicode text", () => { - const decoder = new TextDecoder(); - gcTrace(true); - var text = `❤️ Red Heart`; - - const bytes = [ - 226, 157, 164, 239, 184, 143, 32, 82, 101, 100, 32, 72, 101, 97, 114, 116, - ]; - const decoded = decoder.decode(Uint8Array.from(bytes)); - expect(decoder.encoding).toBe("utf-8"); - - gcTrace(true); - - for (let i = 0; i < text.length; i++) { - expect(decoded.charCodeAt(i)).toBe(text.charCodeAt(i)); - } - expect(decoded).toHaveLength(text.length); - gcTrace(true); - }); - - it("should decode unicode text with multiple consecutive emoji", () => { - const decoder = new TextDecoder(); - const encoder = new TextEncoder(); - gcTrace(true); - var text = `❤️❤️❤️❤️❤️❤️ Red Heart`; - - text += ` ✨ Sparkles 🔥 Fire 😀 😃 😄 😁 😆 😅 😂 🤣 🥲 ☺️ 😊 😇 🙂 🙃 😉 😌 😍 🥰 😘 😗 😙 😚 😋 😛 😝 😜 🤪 🤨 🧐 🤓 😎 🥸 🤩 🥳 😏 😒 😞 😔 😟 😕 🙁 ☹️ 😣 😖 😫 😩 🥺 😢 😭 😤 😠 😡 🤬 🤯 😳 🥵 🥶 😱 😨 😰`; - gcTrace(true); - expect(decoder.decode(encoder.encode(text))).toBe(text); - gcTrace(true); - const bytes = new Uint8Array(getByteLength(text) * 8); - gcTrace(true); - const amount = encoder.encodeInto(text, bytes); - gcTrace(true); - expect(decoder.decode(bytes.subarray(0, amount.written))).toBe(text); - gcTrace(true); - }); -}); - describe("TextEncoder", () => { it("should encode latin1 text with non-ascii latin1 characters", () => { var text = "H©ell©o Wor©ld!"; -- cgit v1.2.3