test.govlab/context/core/validators/grammar.validator.test.ts

test.govlab/context/core/validators/grammar.validator.test.ts is a file in Codebase Testing. 22 lines of code and 0 definitions.

import assert from "node:assert/strict";
import { grammarIssuesOf } from "@govlab/context/core/validators/grammar.validator.ts";
import { test } from "vitest";

test("a document type with no verb and a token defined twice are both reported", () => {
    const keyword = { keyword: "READ", roles: [{ category: "action", example: "", meaning: "" }] } as const;
    const issues = grammarIssuesOf(
        {
            documentTypes: [{ defaultVerb: "", purpose: "p", type: "BARE", verbs: [] }],
            keywords: [
                { keyword: keyword.keyword, roles: [{ ...keyword.roles[0] }] },
                { keyword: keyword.keyword, roles: [{ ...keyword.roles[0], category: "meta" }] },
            ],
            productions: [],
            templates: [],
            terminals: [],
        },
        new Map(),
    );
    assert.deepEqual(issues.docTypesWithoutVerb, ["BARE"]);
    assert.deepEqual(issues.duplicateKeywordIds, ["READ"]);
    assert.deepEqual(issues.unrecognizedDocumentTypes, ["BARE"]);
});