18 lines
668 B
TypeScript
18 lines
668 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { normalizeHostname } from "./hostname.js";
|
|
|
|
describe("normalizeHostname", () => {
|
|
it("trims, lowercases, and strips a trailing dot", () => {
|
|
expect(normalizeHostname(" Example.COM. ")).toBe("example.com");
|
|
});
|
|
|
|
it("unwraps bracketed ipv6 hosts after normalization", () => {
|
|
expect(normalizeHostname(" [FD7A:115C:A1E0::1] ")).toBe("fd7a:115c:a1e0::1");
|
|
});
|
|
|
|
it("leaves non-fully-bracketed values otherwise unchanged", () => {
|
|
expect(normalizeHostname("[fd7a:115c:a1e0::1")).toBe("[fd7a:115c:a1e0::1");
|
|
expect(normalizeHostname("fd7a:115c:a1e0::1]")).toBe("fd7a:115c:a1e0::1]");
|
|
});
|
|
});
|