aboutsummaryrefslogtreecommitdiff
path: root/test/bun.js/string-decoder.test.js
diff options
context:
space:
mode:
authorGravatar Colin McDonnell <colinmcd94@gmail.com> 2022-11-09 15:40:40 -0800
committerGravatar GitHub <noreply@github.com> 2022-11-09 15:40:40 -0800
commitf7f1b604443c030afe29d1059b90f72c69afe081 (patch)
tree8f2397447b2a84dab02850007264b72cc565f5d6 /test/bun.js/string-decoder.test.js
parentda257336b0b70df8c31da647496899cf70670000 (diff)
downloadbun-f7f1b604443c030afe29d1059b90f72c69afe081.tar.gz
bun-f7f1b604443c030afe29d1059b90f72c69afe081.tar.zst
bun-f7f1b604443c030afe29d1059b90f72c69afe081.zip
Add bun-types, add typechecking, add `child_process` types (#1475)
* Add bun-types to packages * Improve typing * Fix types in tests * Fix dts tests * Run formatter * Fix all type errors * Add strict mode, fix type errors * Add ffi changes * Move workflows to root * Add workflows * Remove labeler * Add child_process types * Fix synthetic defaults issue * Remove docs * Move scripts * Run prettier * Include examples in typechecking * captureStackTrace types * moved captureStackTrace types to globals * Address reviews Co-authored-by: Colin McDonnell <colinmcd@alum.mit.edu> Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
Diffstat (limited to 'test/bun.js/string-decoder.test.js')
-rw-r--r--test/bun.js/string-decoder.test.js88
1 files changed, 45 insertions, 43 deletions
diff --git a/test/bun.js/string-decoder.test.js b/test/bun.js/string-decoder.test.js
index 8f3ad7695..4664cc388 100644
--- a/test/bun.js/string-decoder.test.js
+++ b/test/bun.js/string-decoder.test.js
@@ -2,10 +2,10 @@ import { expect, it } from "bun:test";
import { StringDecoder } from "string_decoder";
it("StringDecoder-utf8", () => {
- test('utf-8', Buffer.from('$', 'utf-8'), '$');
- test('utf-8', Buffer.from('¢', 'utf-8'), '¢');
- test('utf-8', Buffer.from('€', 'utf-8'), '€');
- test('utf-8', Buffer.from('𤭢', 'utf-8'), '𤭢');
+ test("utf-8", Buffer.from("$", "utf-8"), "$");
+ test("utf-8", Buffer.from("¢", "utf-8"), "¢");
+ test("utf-8", Buffer.from("€", "utf-8"), "€");
+ test("utf-8", Buffer.from("𤭢", "utf-8"), "𤭢");
// A mixed ascii and non-ascii string
// Test stolen from deps/v8/test/cctest/test-strings.cc
// U+02E4 -> CB A4
@@ -14,67 +14,69 @@ it("StringDecoder-utf8", () => {
// U+0030 -> 30
// U+3045 -> E3 81 85
test(
- 'utf-8',
- Buffer.from([0xCB, 0xA4, 0x64, 0xE1, 0x8B, 0xA4, 0x30, 0xE3, 0x81, 0x85]),
- '\u02e4\u0064\u12e4\u0030\u3045'
+ "utf-8",
+ Buffer.from([0xcb, 0xa4, 0x64, 0xe1, 0x8b, 0xa4, 0x30, 0xe3, 0x81, 0x85]),
+ "\u02e4\u0064\u12e4\u0030\u3045",
);
});
it("StringDecoder-ucs-2", () => {
- test('ucs2', Buffer.from('ababc', 'ucs2'), 'ababc');
+ test("ucs2", Buffer.from("ababc", "ucs2"), "ababc");
});
it("StringDecoder-utf16le", () => {
- test('utf16le', Buffer.from('3DD84DDC', 'hex'), '\ud83d\udc4d');
+ test("utf16le", Buffer.from("3DD84DDC", "hex"), "\ud83d\udc4d");
});
it("StringDecoder-utf8-additional", () => {
- let decoder = new StringDecoder('utf8');
- expect(decoder.write(Buffer.from('E18B', 'hex'))).toBe('');
- expect(decoder.end()).toBe('\ufffd');
+ let decoder = new StringDecoder("utf8");
+ expect(decoder.write(Buffer.from("E18B", "hex"))).toBe("");
+ expect(decoder.end()).toBe("\ufffd");
- decoder = new StringDecoder('utf8');
- expect(decoder.write(Buffer.from('\ufffd'))).toBe('\ufffd');
- expect(decoder.end()).toBe('');
+ decoder = new StringDecoder("utf8");
+ expect(decoder.write(Buffer.from("\ufffd"))).toBe("\ufffd");
+ expect(decoder.end()).toBe("");
- decoder = new StringDecoder('utf8');
- expect(decoder.write(Buffer.from('\ufffd\ufffd\ufffd'))).toBe('\ufffd\ufffd\ufffd');
- expect(decoder.end()).toBe('');
+ decoder = new StringDecoder("utf8");
+ expect(decoder.write(Buffer.from("\ufffd\ufffd\ufffd"))).toBe(
+ "\ufffd\ufffd\ufffd",
+ );
+ expect(decoder.end()).toBe("");
- decoder = new StringDecoder('utf8');
- expect(decoder.write(Buffer.from('EFBFBDE2', 'hex'))).toBe('\ufffd');
- expect(decoder.end()).toBe('\ufffd');
+ decoder = new StringDecoder("utf8");
+ expect(decoder.write(Buffer.from("EFBFBDE2", "hex"))).toBe("\ufffd");
+ expect(decoder.end()).toBe("\ufffd");
- decoder = new StringDecoder('utf8');
- expect(decoder.write(Buffer.from('F1', 'hex'))).toBe('');
- expect(decoder.write(Buffer.from('41F2', 'hex'))).toBe('\ufffdA');
- expect(decoder.end()).toBe('\ufffd');
+ decoder = new StringDecoder("utf8");
+ expect(decoder.write(Buffer.from("F1", "hex"))).toBe("");
+ expect(decoder.write(Buffer.from("41F2", "hex"))).toBe("\ufffdA");
+ expect(decoder.end()).toBe("\ufffd");
// Additional utf8Text test
- decoder = new StringDecoder('utf8');
- expect(decoder.text(Buffer.from([0x41]), 2)).toBe('');
+ decoder = new StringDecoder("utf8");
+ expect(decoder.text(Buffer.from([0x41]), 2)).toBe("");
});
it("StringDecoder-utf16le-additional", () => {
// Additional UTF-16LE surrogate pair tests
- let decoder = new StringDecoder('utf16le');
- expect(decoder.write(Buffer.from('3DD8', 'hex'))).toBe('');
- expect(decoder.write(Buffer.from('4D', 'hex'))).toBe('');
- expect(decoder.write(Buffer.from('DC', 'hex'))).toBe('\ud83d\udc4d');
- expect(decoder.end()).toBe('');
+ let decoder = new StringDecoder("utf16le");
+ expect(decoder.write(Buffer.from("3DD8", "hex"))).toBe("");
+ expect(decoder.write(Buffer.from("4D", "hex"))).toBe("");
+ expect(decoder.write(Buffer.from("DC", "hex"))).toBe("\ud83d\udc4d");
+ expect(decoder.end()).toBe("");
- decoder = new StringDecoder('utf16le');
- expect(decoder.write(Buffer.from('3DD8', 'hex'))).toBe('');
- expect(decoder.end()).toBe('\ud83d');
+ decoder = new StringDecoder("utf16le");
+ expect(decoder.write(Buffer.from("3DD8", "hex"))).toBe("");
+ expect(decoder.end()).toBe("\ud83d");
- decoder = new StringDecoder('utf16le');
- expect(decoder.write(Buffer.from('3DD8', 'hex'))).toBe('');
- expect(decoder.write(Buffer.from('4D', 'hex'))).toBe('');
- expect(decoder.end()).toBe('\ud83d');
+ decoder = new StringDecoder("utf16le");
+ expect(decoder.write(Buffer.from("3DD8", "hex"))).toBe("");
+ expect(decoder.write(Buffer.from("4D", "hex"))).toBe("");
+ expect(decoder.end()).toBe("\ud83d");
- decoder = new StringDecoder('utf16le');
- expect(decoder.write(Buffer.from('3DD84D', 'hex'))).toBe('\ud83d');
- expect(decoder.end()).toBe('');
+ decoder = new StringDecoder("utf16le");
+ expect(decoder.write(Buffer.from("3DD84D", "hex"))).toBe("\ud83d");
+ expect(decoder.end()).toBe("");
});
// Test verifies that StringDecoder will correctly decode the given input
@@ -91,7 +93,7 @@ function test(encoding, input, expected, singleSequence) {
}
sequences.forEach((sequence) => {
const decoder = new StringDecoder(encoding);
- let output = '';
+ let output = "";
sequence.forEach((write) => {
output += decoder.write(input.slice(write[0], write[1]));
});