@flowscripter/mpeg-sdl-parser
Version:
ISO/IEC 14496-34 Syntactic Description Language (MPEG SDL) parser implemented in TypeScript
25 lines (19 loc) • 778 B
text/typescript
import fs from "node:fs";
import * as path from "path";
import { describe, test } from "bun:test";
import { createStrictSdlParser } from "../../src/lezer/createSdlParser.ts";
import { fileTests } from "@lezer/generator/dist/test";
const sdlParser = createStrictSdlParser();
const testCaseDir = path.join(__dirname, "./test_cases");
for (const filename of fs.readdirSync(testCaseDir)) {
if (!/\.txt$/.test(filename)) {
continue;
}
const scenarioName = /^[^\.]*/.exec(filename)?.[0] || "??";
describe(`${scenarioName} Tests`, () => {
const testCases = fs.readFileSync(path.join(testCaseDir, filename), "utf8");
for (const { name, run } of fileTests(testCases, filename)) {
test(`Test ${scenarioName} - ${name}`, () => run(sdlParser));
}
});
}