valia
Version:
A runtime data validator in TypeScript with advanced type inference, built-in validation functions, and seamless integration for server and client environments.
46 lines (35 loc) • 1.24 kB
JavaScript
import { describe, it, before } from "node:test";
import assert from "node:assert";
import { Schema } from "../../../dist/index.js";
describe("\nschema / formats / Symbol", () => {
const xSymbol = Symbol("x");
const ySymbol = Symbol("y");
describe("Default", () => {
let symbol_default;
before(() => {
symbol_default = new Schema({ type: "symbol" });
});
it("should invalidate incorrect values", () => {
assert.strictEqual(symbol_default.validate(0), false);
assert.strictEqual(symbol_default.validate({}), false);
assert.strictEqual(symbol_default.validate("x"), false);
});
it("should validate correct values", () => {
assert.strictEqual(symbol_default.validate(xSymbol), true);
});
});
describe("'symbol' parameter", () => {
let symbol_symbol;
before(() => {
symbol_symbol = new Schema({ type: "symbol", symbol: xSymbol });
});
it("should invalidate incorrect values", () => {
assert.strictEqual(symbol_symbol.validate(0), false);
assert.strictEqual(symbol_symbol.validate({}), false);
assert.strictEqual(symbol_symbol.validate(ySymbol), false);
});
it("should validate correct values", () => {
assert.strictEqual(symbol_symbol.validate(xSymbol), true);
});
});
});