UNPKG

clarity-pattern-parser

Version:

Parsing Library for Typescript and Javascript.

28 lines (23 loc) 935 B
import { patterns } from "../grammar/patterns"; import { Generator } from "./generator"; import { TypescriptVisitor } from "./typescriptVisitor"; describe("generator", () => { test("Every Pattern", () => { const { expression } = patterns` john = "John" names = john | "Jane" space = /\\s+/ comma = /\\s*,\\s*/ item = names | array items = (item, comma)+ array = "[" + space? + items? + space? + "]" prefix-expression = "pre" + expression postfix-expression = expression + "post" infix-expression = expression + " and " + expression expression = prefix-expression | postfix-expression | infix-expression | item `; const visitor = new TypescriptVisitor(); const result = new Generator(visitor).generate(expression); expect(result).toBe(result); }); });