Files
bun.sh/test/js/web/request/request.test.ts
2023-11-11 05:06:24 -08:00

50 lines
1.4 KiB
TypeScript

import { test, expect } from "bun:test";
test("undefined args don't throw", () => {
const request = new Request("https://example.com/", {
body: undefined,
"credentials": undefined,
"redirect": undefined,
"method": undefined,
"mode": undefined,
});
expect(request.method).toBe("GET");
});
test("request can receive undefined signal", async () => {
const request = new Request("http://example.com/", {
method: "POST",
headers: {
"Content-Type": "text/bun;charset=utf-8",
},
body: "bun",
signal: undefined,
});
expect(request.method).toBe("POST");
// @ts-ignore
const clone = new Request(request);
expect(clone.method).toBe("POST");
expect(clone.headers.get("content-type")).toBe("text/bun;charset=utf-8");
expect(await request.text()).toBe("bun");
expect(await clone.text()).toBe("bun");
});
test("request can receive null signal", async () => {
const request = new Request("http://example.com/", {
method: "POST",
headers: {
"Content-Type": "text/bun;charset=utf-8",
},
body: "bun",
signal: null,
});
expect(request.method).toBe("POST");
// @ts-ignore
const clone = new Request(request);
expect(clone.method).toBe("POST");
expect(clone.headers.get("content-type")).toBe("text/bun;charset=utf-8");
expect(await request.text()).toBe("bun");
expect(await clone.text()).toBe("bun");
});