Files
Webklar.com/node_modules/next/dist/esm/shared/lib/get-hostname.test.js
Basilosaurusrex f027651f9b main repo
2025-11-24 18:09:40 +01:00

94 lines
2.7 KiB
JavaScript

import { getHostname } from "./get-hostname";
describe("getHostname", ()=>{
describe("from URL", ()=>{
it.each([
{
url: "http://example.com",
hostname: "example.com"
},
{
url: "http://example.com/",
hostname: "example.com"
},
{
url: "http://example.com:3000",
hostname: "example.com"
},
{
url: "https://example.com",
hostname: "example.com"
},
{
url: "https://example.com/",
hostname: "example.com"
},
{
url: "https://example.com:3000",
hostname: "example.com"
},
{
url: "http://localhost",
hostname: "localhost"
},
{
url: "http://localhost/",
hostname: "localhost"
},
{
url: "http://localhost:3000",
hostname: "localhost"
},
{
url: "http://127.0.0.1",
hostname: "127.0.0.1"
},
{
url: "http://127.0.0.1/",
hostname: "127.0.0.1"
},
{
url: "http://127.0.0.1:3000",
hostname: "127.0.0.1"
},
{
url: "http://8.8.8.8",
hostname: "8.8.8.8"
},
{
url: "http://8.8.8.8/",
hostname: "8.8.8.8"
},
{
url: "http://8.8.8.8:3000",
hostname: "8.8.8.8"
}
])("should return $hostname for $url", (param)=>{
let { url, hostname } = param;
const parsed = new URL(url);
// Base case.
expect(getHostname(parsed)).toBe(hostname);
// With headers.
expect(getHostname(parsed, {
host: parsed.host
})).toBe(hostname);
// With an empty headers array.
expect(getHostname(parsed, {
host: []
})).toBe(hostname);
// With a headers array.
expect(getHostname({}, {
host: [
parsed.host
]
})).toBe(undefined);
});
});
it("should return undefined for empty input", ()=>{
expect(getHostname({})).toBe(undefined);
expect(getHostname({}, {
host: []
})).toBe(undefined);
});
});
//# sourceMappingURL=get-hostname.test.js.map