diff options
Diffstat (limited to 'test/regression/issue')
-rw-r--r-- | test/regression/issue/04011.test.ts (renamed from test/regression/issue/4011.test.ts) | 0 | ||||
-rw-r--r-- | test/regression/issue/04893.test.ts | 23 | ||||
-rw-r--r-- | test/regression/issue/06443.test.ts | 39 | ||||
-rw-r--r-- | test/regression/issue/06467.test.ts | 7 |
4 files changed, 69 insertions, 0 deletions
diff --git a/test/regression/issue/4011.test.ts b/test/regression/issue/04011.test.ts index a3db4270d..a3db4270d 100644 --- a/test/regression/issue/4011.test.ts +++ b/test/regression/issue/04011.test.ts diff --git a/test/regression/issue/04893.test.ts b/test/regression/issue/04893.test.ts new file mode 100644 index 000000000..43850693b --- /dev/null +++ b/test/regression/issue/04893.test.ts @@ -0,0 +1,23 @@ +import { bunEnv, bunExe } from "harness"; +import { mkdirSync, rmSync, writeFileSync, readFileSync, mkdtempSync } from "fs"; +import { tmpdir } from "os"; +import { join } from "path"; + +it("correctly handles CRLF multiline string in CRLF terminated files", async () => { + const testDir = mkdtempSync(join(tmpdir(), "issue4893-")); + + // Clean up from prior runs if necessary + rmSync(testDir, { recursive: true, force: true }); + + // Create a directory with our test CRLF terminated file + mkdirSync(testDir, { recursive: true }); + writeFileSync(join(testDir, "crlf.js"), '"a\\\r\nb"'); + + const { stdout, exitCode } = Bun.spawnSync({ + cmd: [bunExe(), "run", join(testDir, "crlf.js")], + env: bunEnv, + stderr: "inherit", + }); + + expect(exitCode).toBe(0); +}); diff --git a/test/regression/issue/06443.test.ts b/test/regression/issue/06443.test.ts new file mode 100644 index 000000000..19d8f200e --- /dev/null +++ b/test/regression/issue/06443.test.ts @@ -0,0 +1,39 @@ +import { describe, test, expect } from "bun:test"; +import { serve, file } from "bun"; + +describe("Bun.serve()", () => { + const tls = { + cert: file(new URL("../fixtures/cert.pem", import.meta.url)), + key: file(new URL("../fixtures/cert.key", import.meta.url)), + }; + + const servers = [ + { + port: 0, + url: /^http:\/\/localhost:\d+\/$/, + }, + { + tls, + port: 0, + url: /^https:\/\/localhost:\d+\/$/, + }, + ]; + + test.each(servers)("%j", async ({ url, ...options }) => { + const server = serve({ + hostname: "localhost", + ...options, + fetch(request) { + return new Response(request.url); + }, + }); + try { + const proto = options.tls ? "https" : "http"; + const target = `${proto}://localhost:${server.port}/`; + const response = await fetch(target); + expect(response.text()).resolves.toMatch(url); + } finally { + server.stop(true); + } + }); +}); diff --git a/test/regression/issue/06467.test.ts b/test/regression/issue/06467.test.ts new file mode 100644 index 000000000..9a9ad8a2d --- /dev/null +++ b/test/regression/issue/06467.test.ts @@ -0,0 +1,7 @@ +import { test, expect } from "bun:test"; + +test("write(value >= 0x80)", () => { + const buffer = Buffer.alloc(1); + buffer.write("\x80", "binary"); + expect(buffer[0]).toBe(0x80); +}); |