aboutsummaryrefslogtreecommitdiff
path: root/test/bun.js/serve.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'test/bun.js/serve.test.ts')
-rw-r--r--test/bun.js/serve.test.ts25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/bun.js/serve.test.ts b/test/bun.js/serve.test.ts
index 91b57a738..6e5a0030a 100644
--- a/test/bun.js/serve.test.ts
+++ b/test/bun.js/serve.test.ts
@@ -599,6 +599,31 @@ it("should support reloading", async () => {
server.stop();
});
+it("should support multiple Set-Cookie headers", async () => {
+ const server = serve({
+ port: port++,
+ fetch(req) {
+ return new Response("hello", {
+ headers: [
+ ["Another-Header", "1"],
+ ["Set-Cookie", "foo=bar"],
+ ["Set-Cookie", "baz=qux"],
+ ],
+ });
+ },
+ });
+
+ const response = await fetch(`http://${server.hostname}:${server.port}`);
+ server.stop();
+
+ expect(response.headers.getAll("Set-Cookie")).toEqual(["foo=bar", "baz=qux"]);
+ expect(response.headers.getSetCookie()).toEqual(["foo=bar", "baz=qux"]);
+
+ const cloned = response.clone().headers;
+ expect(cloned.getAll("Set-Cookie")).toEqual(["foo=bar", "baz=qux"]);
+ expect(cloned.getSetCookie()).toEqual(["foo=bar", "baz=qux"]);
+});
+
describe("status code text", () => {
const fixture = {
200: "OK",