UNPKG

valia

Version:

A runtime data validator in TypeScript with advanced type inference, built-in validation functions, and seamless integration for server and client environments.

121 lines (110 loc) 4.5 kB
import { describe, it } from "node:test"; import assert from "node:assert"; import { isBase16, isBase32, isBase32Hex, isBase64, isBase64Url } from "../../../dist/index.js"; describe("\ntesters / string / isBase16", () => { describe("Default", () => { it("should invalidate incorrect values", () => { assert.strictEqual(isBase16("*"), false); assert.strictEqual(isBase16("0"), false); assert.strictEqual(isBase16("0*"), false); assert.strictEqual(isBase16("*0"), false); assert.strictEqual(isBase16("000"), false); }); it("should validate correct values", () => { assert.strictEqual(isBase16(""), true); assert.strictEqual(isBase16("00"), true); assert.strictEqual(isBase16("FF"), true); assert.strictEqual(isBase16("FFFF"), true); }); }); }); describe("\ntesters / string / isBase32", () => { describe("Default", () => { it("should invalidate incorrect values", () => { assert.strictEqual(isBase32("*"), false); assert.strictEqual(isBase32("A"), false); assert.strictEqual(isBase32("A*"), false); assert.strictEqual(isBase32("*A"), false); assert.strictEqual(isBase32("A======="), false); assert.strictEqual(isBase32("AA====="), false); assert.strictEqual(isBase32("AA======="), false); }); it("should validate correct values", () => { assert.strictEqual(isBase32(""), true); assert.strictEqual(isBase32("MY======"), true); assert.strictEqual(isBase32("MZXQ===="), true); assert.strictEqual(isBase32("MZXW6==="), true); assert.strictEqual(isBase32("MZXW6YQ="), true); assert.strictEqual(isBase32("MZXW6YTB"), true); assert.strictEqual(isBase32("MZXW6YTBOI======"), true); }); }); }); describe("\ntesters / string / isBase32Hex", () => { describe("Default", () => { it("should invalidate incorrect values", () => { assert.strictEqual(isBase32Hex("*"), false); assert.strictEqual(isBase32Hex("A"), false); assert.strictEqual(isBase32Hex("A*"), false); assert.strictEqual(isBase32Hex("*A"), false); assert.strictEqual(isBase32Hex("A======="), false); assert.strictEqual(isBase32Hex("AA====="), false); assert.strictEqual(isBase32Hex("AA======="), false); }); it("should validate correct values", () => { assert.strictEqual(isBase32Hex(""), true); assert.strictEqual(isBase32Hex("CO======"), true); assert.strictEqual(isBase32Hex("CPNG===="), true); assert.strictEqual(isBase32Hex("CPNMU==="), true); assert.strictEqual(isBase32Hex("CPNMUOG="), true); assert.strictEqual(isBase32Hex("CPNMUOJ1"), true); assert.strictEqual(isBase32Hex("CPNMUOJ1E8======"), true); }); }); }); describe("\ntesters / string / isBase64", () => { describe("Default", () => { it("should invalidate incorrect values", () => { assert.strictEqual(isBase64("*"), false); assert.strictEqual(isBase64("A"), false); assert.strictEqual(isBase64("A*"), false); assert.strictEqual(isBase64("*A"), false); assert.strictEqual(isBase64("A===="), false); assert.strictEqual(isBase64("AA="), false); assert.strictEqual(isBase64("AA==="), false); }); it("should validate correct values", () => { assert.strictEqual(isBase64(""), true); assert.strictEqual(isBase64("Zg=="), true); assert.strictEqual(isBase64("Zm8="), true); assert.strictEqual(isBase64("Zm9v"), true); assert.strictEqual(isBase64("Zm9vYg=="), true); assert.strictEqual(isBase64("Zm9vYmE="), true); assert.strictEqual(isBase64("Zm9vYmFy"), true); assert.strictEqual(isBase64("Pz8/Pw=="), true); }); }); }); describe("\ntesters / string / isBase64Url", () => { describe("Default", () => { it("should invalidate incorrect values", () => { assert.strictEqual(isBase64Url("*"), false); assert.strictEqual(isBase64Url("A"), false); assert.strictEqual(isBase64Url("A*"), false); assert.strictEqual(isBase64Url("*A"), false); assert.strictEqual(isBase64Url("A===="), false); assert.strictEqual(isBase64Url("AA="), false); assert.strictEqual(isBase64Url("AA==="), false); }); it("should validate correct values", () => { assert.strictEqual(isBase64Url(""), true); assert.strictEqual(isBase64Url("Zg=="), true); assert.strictEqual(isBase64Url("Zm8="), true); assert.strictEqual(isBase64Url("Zm9v"), true); assert.strictEqual(isBase64Url("Zm9vYg=="), true); assert.strictEqual(isBase64Url("Zm9vYmE="), true); assert.strictEqual(isBase64Url("Zm9vYmFy"), true); assert.strictEqual(isBase64Url("Pz8_Pw=="), true); }); }); });