UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

96 lines (94 loc) 4.19 kB
"use strict"; var import_vitest = require("vitest"); var import_one_server_only = require("./one-server-only.native.js"); (0, import_vitest.describe)("mergeHeaders", function () { (0, import_vitest.it)("merges regular headers", function () { var onto = new Headers({ "content-type": "text/html" }); var from = new Headers({ "x-custom": "value" }); (0, import_one_server_only.mergeHeaders)(onto, from); (0, import_vitest.expect)(onto.get("content-type")).toBe("text/html"); (0, import_vitest.expect)(onto.get("x-custom")).toBe("value"); }); (0, import_vitest.it)("overrides existing headers with set()", function () { var onto = new Headers({ "cache-control": "no-cache" }); var from = new Headers({ "cache-control": "max-age=3600" }); (0, import_one_server_only.mergeHeaders)(onto, from); (0, import_vitest.expect)(onto.get("cache-control")).toBe("max-age=3600"); }); (0, import_vitest.it)("deletes headers when value is undefined", function () { var onto = new Headers({ "x-remove": "present" }); var from = new Headers(); from.set("x-remove", "undefined"); (0, import_one_server_only.mergeHeaders)(onto, from); (0, import_vitest.expect)(onto.has("x-remove")).toBe(false); }); (0, import_vitest.it)("preserves multiple set-cookie headers from source", function () { var onto = new Headers(); var from = new Headers(); from.append("set-cookie", "session=abc123; Path=/; HttpOnly"); from.append("set-cookie", "theme=dark; Path=/"); (0, import_one_server_only.mergeHeaders)(onto, from); var cookies = onto.getSetCookie(); (0, import_vitest.expect)(cookies).toHaveLength(2); (0, import_vitest.expect)(cookies).toContain("session=abc123; Path=/; HttpOnly"); (0, import_vitest.expect)(cookies).toContain("theme=dark; Path=/"); }); (0, import_vitest.it)("preserves existing set-cookie headers on target when merging", function () { var onto = new Headers(); onto.append("set-cookie", "existing=keep; Path=/"); var from = new Headers(); from.append("set-cookie", "new=added; Path=/"); (0, import_one_server_only.mergeHeaders)(onto, from); var cookies = onto.getSetCookie(); (0, import_vitest.expect)(cookies).toHaveLength(2); (0, import_vitest.expect)(cookies).toContain("existing=keep; Path=/"); (0, import_vitest.expect)(cookies).toContain("new=added; Path=/"); }); (0, import_vitest.it)("handles three or more set-cookie headers", function () { var onto = new Headers(); var from = new Headers(); from.append("set-cookie", "a=1; Path=/"); from.append("set-cookie", "b=2; Path=/"); from.append("set-cookie", "c=3; Path=/"); (0, import_one_server_only.mergeHeaders)(onto, from); var cookies = onto.getSetCookie(); (0, import_vitest.expect)(cookies).toHaveLength(3); (0, import_vitest.expect)(cookies).toContain("a=1; Path=/"); (0, import_vitest.expect)(cookies).toContain("b=2; Path=/"); (0, import_vitest.expect)(cookies).toContain("c=3; Path=/"); }); (0, import_vitest.it)("merges set-cookie alongside regular headers", function () { var onto = new Headers(); var from = new Headers({ "content-type": "text/html" }); from.append("set-cookie", "session=abc; Path=/"); from.append("set-cookie", "csrf=xyz; Path=/"); (0, import_one_server_only.mergeHeaders)(onto, from); (0, import_vitest.expect)(onto.get("content-type")).toBe("text/html"); var cookies = onto.getSetCookie(); (0, import_vitest.expect)(cookies).toHaveLength(2); (0, import_vitest.expect)(cookies).toContain("session=abc; Path=/"); (0, import_vitest.expect)(cookies).toContain("csrf=xyz; Path=/"); }); (0, import_vitest.it)("handles source with no set-cookie headers", function () { var onto = new Headers(); var from = new Headers({ "x-foo": "bar" }); (0, import_one_server_only.mergeHeaders)(onto, from); (0, import_vitest.expect)(onto.getSetCookie()).toHaveLength(0); (0, import_vitest.expect)(onto.get("x-foo")).toBe("bar"); }); }); //# sourceMappingURL=one-server-only.test.native.js.map