@player-ui/player
Version:
33 lines (28 loc) • 1.06 kB
text/typescript
import { describe, test, expect } from "vitest";
import {
VALID_AST_PARSER_TESTS,
INVALID_AST_PARSER_TESTS,
VALID_AST_PARSER_CUSTOM_TESTS,
} from "./test-utils/ast-cases";
import type { ParserSuccessResult, ParserFailureResult } from "../ast";
import { parse as parseCustom } from "../custom";
describe("custom", () => {
test.each(VALID_AST_PARSER_TESTS)("Custom Valid: %s", (binding, AST) => {
const result = parseCustom(binding);
expect(result.status).toBe(true);
expect((result as ParserSuccessResult).path).toStrictEqual(AST);
});
test.each(INVALID_AST_PARSER_TESTS)("Custom Invalid: %s", (binding) => {
const result = parseCustom(binding);
expect(result.status).toBe(false);
expect((result as ParserFailureResult).error.length > 0).toBe(true);
});
test.each(VALID_AST_PARSER_CUSTOM_TESTS)(
"Custom Unicode Valid: %s",
(binding, AST) => {
const result = parseCustom(binding);
expect(result.status).toBe(true);
expect((result as ParserSuccessResult).path).toStrictEqual(AST);
},
);
});