Module
x/value_schema/test/adjusters/ipv4.test.es
simple, easy-to-use, and declarative input validator; supports Node.js, TypeScript, and Deno
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100import adjuster from "index";
{ describe("required", testRequired); describe("default", testDefault); describe("emptyString", testEmptyString); describe("allowEmptyString", testAllowEmptyString); describe("pattern", testPattern);}
/** * required value */function testRequired(){ const objAdjuster = adjuster.ipv4(); it("should cause error(s)", () => { expect(() => { objAdjuster.adjust(undefined); }).toThrow(adjuster.CAUSE.REQUIRED); });}
/** * default value */function testDefault(){ const objAdjuster = adjuster.ipv4().default("1.1.1.1"); it("should be adjusted", () => { expect(objAdjuster.adjust(undefined)).toEqual("1.1.1.1"); });}
/** * empty string */function testEmptyString(){ const objAdjuster = adjuster.ipv4(); it("should cause error(s)", () => { expect(() => { objAdjuster.adjust(""); }).toThrow(adjuster.CAUSE.EMPTY); });}
/** * empty string (allowd) */function testAllowEmptyString(){ const objAdjuster = adjuster.ipv4().allowEmptyString("1.1.1.1"); it("should be OK", () => { expect(objAdjuster.adjust("")).toEqual("1.1.1.1"); });}
/** * IPv4 pattern */function testPattern(){ const objAdjuster = adjuster.ipv4(); it("should be OK", () => { const values = [ "0.0.0.0", "192.168.0.1", "255.255.255.255", ]; for(const value of values) { expect(objAdjuster.adjust(value)).toEqual(value); } }); it("should cause error(s)", () => { const values = [ "0.0.0.", "0.0.0.0.", "255.255.255.256", "999.255.255.255", ]; for(const value of values) { expect(() => { objAdjuster.adjust(value); }).toThrow(adjuster.CAUSE.PATTERN); } });}