UNPKG

@fastly/as-fetch

Version:

![npm version](https://img.shields.io/npm/v/@fastly/as-fetch) ![npm downloads per month](https://img.shields.io/npm/dm/@fastly/as-fetch)

99 lines (76 loc) 2.42 kB
// Copyright 2020 Fastly, Inc. import { Headers } from "../headers"; describe("Headers", () => { test("constructor", () => { let headers = new Headers(); expect(headers).toBeTruthy(); }); test("get/set", () => { let headers = new Headers(); headers.set("Name", "Value"); expect(headers.get("Name")).toBe("Value"); }); test("Header Names should be case-insensitive", () => { let headers = new Headers(); headers.set("Name", "Value"); headers.set("nAMe", "Value2"); expect(headers.get("Name")).toBe("Value2"); }); test("set invalid Header name, 'Invalid Name `', should error", () => { expect(() => { let headers = new Headers(); headers.set("Invalid Name `", "Value"); }).toThrow(); }); test("Header name edge cases should be valid (AAA, aaa, ZZZ, zzz)", () => { let headers = new Headers(); headers.set("AAA", "AAA"); expect(headers.get("AAA")).toBe("AAA"); headers.set("aaa", "aaa"); expect(headers.get("aaa")).toBe("aaa"); headers.set("ZZZ", "ZZZ"); expect(headers.get("ZZZ")).toBe("ZZZ"); headers.set("zzz", "zzz"); expect(headers.get("zzz")).toBe("zzz"); }); test("set invalid Header value, 'Φ', should error", () => { expect(() => { let headers = new Headers(); headers.set("Name", "Φ"); }).toThrow(); }); test("Empty header values should be valid", () => { let headers = new Headers(); headers.set("Name", ""); expect(headers.get("Name")).toBe(""); }); test("append", () => { let headers = new Headers(); headers.set("Name", "Value"); headers.append("Name", "Value2"); expect(headers.get("Name")).toBe("Value, Value2"); }); test("has", () => { let headers = new Headers(); headers.set("Name", "Value"); expect(headers.has("Name")).toBe(true); }); test("delete", () => { let headers = new Headers(); headers.set("Name", "Value"); headers.delete("Name"); expect(headers.get("Name")).toBe(null); }); test("keys", () => { let headers = new Headers(); headers.set("Name", "Value"); headers.set("Name2", "Value2"); expect(headers.keys().toString()).toBe("name,name2"); }); test("values", () => { let headers = new Headers(); headers.set("Name", "Value"); headers.set("Name2", "Value2"); expect(headers.values().toString()).toBe("Value,Value2"); }); });