diff --git a/test_node/test-node.mjs b/test_node/test-node.mjs index 5362481..7e7c594 100644 --- a/test_node/test-node.mjs +++ b/test_node/test-node.mjs @@ -1,41 +1,31 @@ import assert from "node:assert/strict"; import fs from "node:fs/promises"; -import path from "node:path"; +import { basename } from "node:path"; +import { chdir } from "node:process"; import { test } from "node:test"; import { fileURLToPath } from "node:url"; + import init, { format } from "../zig_fmt_node.js"; await init(); -const test_root = fileURLToPath(new URL("../test_data", import.meta.url)); +const test_root = fileURLToPath(import.meta.resolve("../test_data")); +chdir(test_root); -for await (const dirent of await fs.opendir(test_root, { recursive: true })) { - if (!dirent.isFile()) { +for await (const input_path of fs.glob("**/*.input")) { + if (basename(input_path).startsWith(".")) { continue; } - const input_path = dirent.path; - const ext = path.extname(input_path); - - switch (ext) { - case ".input": - break; - - default: - continue; - } - - const expect_path = input_path.replace(ext, ".expect"); + const expect_path = input_path.slice(0, -".input".length) + ".expect"; const [input, expected] = await Promise.all([ fs.readFile(input_path, "utf-8"), fs.readFile(expect_path, "utf-8"), ]); - const test_name = path.relative(test_root, input_path); - - test(test_name, () => { - const actual = format(input); + test(input_path, () => { + const actual = format(input, input_path); assert.equal(actual, expected); }); }