2025-04-01 15:31:19 -07:00
|
|
|
import { KclLanguage } from '../src/index'
|
2025-01-04 13:57:24 -05:00
|
|
|
import { fileTests } from '@lezer/generator/dist/test'
|
2025-04-01 15:31:19 -07:00
|
|
|
|
2025-01-04 13:57:24 -05:00
|
|
|
import * as fs from 'fs'
|
|
|
|
import * as path from 'path'
|
|
|
|
|
|
|
|
let caseDir = path.dirname(__filename)
|
|
|
|
|
|
|
|
for (let file of fs.readdirSync(caseDir)) {
|
|
|
|
if (!/\.txt$/.test(file)) continue
|
|
|
|
|
|
|
|
let fname = /^[^\.]*/.exec(file)?.at(0)
|
|
|
|
if (fname) {
|
|
|
|
let tests = fileTests(
|
|
|
|
fs.readFileSync(path.join(caseDir, file), 'utf8'),
|
|
|
|
file
|
|
|
|
)
|
|
|
|
describe(fname, () => {
|
|
|
|
for (let { name, run } of tests) it(name, () => run(KclLanguage.parser))
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|