| import { describe, expect, it } from "vitest"; |
| import { validateDottedDecimalIPv4Input, validateIPv4AddressInput } from "./ipv4.js"; |
|
|
| describe("shared/net/ipv4", () => { |
| it("requires a value for custom bind mode", () => { |
| expect(validateDottedDecimalIPv4Input(undefined)).toBe( |
| "IP address is required for custom bind mode", |
| ); |
| expect(validateDottedDecimalIPv4Input("")).toBe("IP address is required for custom bind mode"); |
| expect(validateDottedDecimalIPv4Input(" ")).toBe( |
| "Invalid IPv4 address (e.g., 192.168.1.100)", |
| ); |
| }); |
|
|
| it("accepts canonical dotted-decimal ipv4 only", () => { |
| expect(validateDottedDecimalIPv4Input("0.0.0.0")).toBeUndefined(); |
| expect(validateDottedDecimalIPv4Input("192.168.1.100")).toBeUndefined(); |
| expect(validateDottedDecimalIPv4Input(" 192.168.1.100 ")).toBeUndefined(); |
| expect(validateDottedDecimalIPv4Input("0177.0.0.1")).toBe( |
| "Invalid IPv4 address (e.g., 192.168.1.100)", |
| ); |
| expect(validateDottedDecimalIPv4Input("[192.168.1.100]")).toBeUndefined(); |
| expect(validateDottedDecimalIPv4Input("127.1")).toBe( |
| "Invalid IPv4 address (e.g., 192.168.1.100)", |
| ); |
| expect(validateDottedDecimalIPv4Input("example.com")).toBe( |
| "Invalid IPv4 address (e.g., 192.168.1.100)", |
| ); |
| }); |
|
|
| it("keeps the backward-compatible alias wired to the same validation", () => { |
| expect(validateIPv4AddressInput("192.168.1.100")).toBeUndefined(); |
| expect(validateIPv4AddressInput("bad-ip")).toBe("Invalid IPv4 address (e.g., 192.168.1.100)"); |
| }); |
| }); |
|
|