19 lines
545 B
JavaScript
19 lines
545 B
JavaScript
|
import {run} from "../target/js/ludus.js"
|
||
|
import * as fs from "node:fs/promises"
|
||
|
import t from "tap"
|
||
|
|
||
|
const case_path = "./cases"
|
||
|
const files = await fs.readdir(case_path)
|
||
|
|
||
|
for (const file of files) {
|
||
|
const script = await fs.readFile(`${case_path}/${file}`, {encoding: "utf8"})
|
||
|
const first_line = script.split("\n")[0]
|
||
|
const expected = first_line.split("EXPECT")[1].trim()
|
||
|
const result = run(script).result
|
||
|
t.test(`testing ${file}: EXPECT ${expected}, GOT ${result}`,
|
||
|
t => {
|
||
|
t.equal(expected, result)
|
||
|
t.end()
|
||
|
})
|
||
|
}
|