test.govlab/quality/core/predicates/code-point.predicate.test.ts
test.govlab/quality/core/predicates/code-point.predicate.test.ts is a file in Codebase Testing. 55 lines of code and 0 definitions.
import {
isAsciiAlpha,
isAsciiDigit,
isAsciiLower,
isAsciiUpper,
isCssNameChar,
isDot,
isIdentChar,
isKebabChar,
isSnakeTail,
} from "@govlab/quality/core/predicates/code-point.predicate.ts";
import assert from "node:assert/strict";
import { test } from "vitest";
const codeOf = function codeOf(ch: string): number {
return ch.codePointAt(0) ?? 0;
};
test("isAsciiUpper and isAsciiLower split the ASCII letters by case", () => {
assert.equal(isAsciiUpper(codeOf("A")), true);
assert.equal(isAsciiUpper(codeOf("a")), false);
assert.equal(isAsciiLower(codeOf("z")), true);
assert.equal(isAsciiLower(codeOf("Z")), false);
});
test("isAsciiAlpha and isAsciiDigit separate letters from digits and reject a missing code", () => {
assert.equal(isAsciiAlpha(codeOf("q")), true);
assert.equal(isAsciiAlpha(codeOf("7")), false);
assert.equal(isAsciiDigit(codeOf("7")), true);
assert.equal(isAsciiDigit(), false);
});
test("isKebabChar accepts lowercase letters, digits and the hyphen only", () => {
assert.equal(isKebabChar(codeOf("a")), true);
assert.equal(isKebabChar(codeOf("-")), true);
assert.equal(isKebabChar(codeOf("A")), false);
assert.equal(isKebabChar(codeOf("_")), false);
});
test("isDot matches the full stop only", () => {
assert.equal(isDot(codeOf(".")), true);
assert.equal(isDot(codeOf(",")), false);
});
test("isIdentChar accepts identifier characters", () => {
assert.equal(isIdentChar(codeOf("9")), true);
assert.equal(isIdentChar(codeOf("_")), true);
assert.equal(isIdentChar(codeOf("$")), true);
assert.equal(isIdentChar(codeOf("-")), false);
});
test("isSnakeTail accepts digits and underscore", () => {
assert.equal(isSnakeTail(codeOf("0")), true);
assert.equal(isSnakeTail(codeOf("_")), true);
assert.equal(isSnakeTail(codeOf("a")), false);
});
test("isCssNameChar accepts css name characters", () => {
assert.equal(isCssNameChar(codeOf("a")), true);
assert.equal(isCssNameChar(codeOf("-")), true);
assert.equal(isCssNameChar(codeOf("_")), true);
assert.equal(isCssNameChar(codeOf("$")), false);
});