blob: 2d3d19326f208e23cff837a6725391ad2df4ee58 [file] [log] [blame] [edit]
#!/usr/bin/env deno
import { validate } from "npm:@hyperjump/json-schema/draft-07";
import { BASIC } from "npm:@hyperjump/json-schema/experimental";
const validateTestSuite = await validate("./annotations/test-suite.schema.json");
console.log("Validating annotation tests ...");
let isValid = true;
for await (const entry of Deno.readDir("./annotations/tests")) {
if (entry.isFile) {
const json = await Deno.readTextFile(`./annotations/tests/${entry.name}`);
const suite = JSON.parse(json);
const output = validateTestSuite(suite, BASIC);
if (output.valid) {
console.log(`\x1b[32m✔\x1b[0m ${entry.name}`);
} else {
isValid = false;
console.log(`\x1b[31m✖\x1b[0m ${entry.name}`);
console.log(output);
}
}
}
console.log("Done.");
if (!isValid) {
Deno.exit(1);
}