diff options
Diffstat (limited to 'test/bun.js/serve.test.ts')
-rw-r--r-- | test/bun.js/serve.test.ts | 25 |
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", |