Skip to content

Commit

Permalink
refactor(tests): simplify test scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
magic-akari committed Nov 5, 2024
1 parent 51a338c commit 29f4da9
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 36 deletions.
20 changes: 9 additions & 11 deletions crates/lua_fmt/test_bun/bun.spec.ts
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
import { Glob } from "bun";
import { expect, test } from "bun:test";
import path from "node:path";
import { chdir } from "node:process";
import { fileURLToPath } from "node:url";

import init, { format } from "../pkg/lua_fmt";

await init();

const test_root = Bun.fileURLToPath(new URL("../test_data", import.meta.url));
const glob = new Glob("**/*.lua");

for await (const input_path of glob.scan(test_root)) {
if (path.basename(input_path).startsWith(".")) {
continue;
}
const test_root = fileURLToPath(import.meta.resolve("../test_data"));
chdir(test_root);

const full_path = path.join(test_root, input_path);
const glob = new Glob("**/*.lua");

for await (const input_path of glob.scan()) {
const [input, expected] = await Promise.all([
Bun.file(full_path).text(),
Bun.file(full_path + ".snap").text(),
Bun.file(input_path).text(),
Bun.file(input_path + ".snap").text(),
]);

test(input_path, () => {
Expand Down
39 changes: 14 additions & 25 deletions crates/lua_fmt/test_node/test-node.mjs
Original file line number Diff line number Diff line change
@@ -1,42 +1,31 @@
import init, { format } from "../pkg/lua_fmt_node.js";
import { test } from "node:test";
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 "../pkg/lua_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("**/*.lua")) {
if (basename(input_path).startsWith(".")) {
continue;
}

if (dirent.name.startsWith(".")) {
continue;
}

const input_path = path.join(dirent.path, dirent.name);
const ext = path.extname(input_path);

switch (ext) {
case ".lua":
break;

default:
continue;
}
const expect_path = input_path + ".snap";

const test_name = path.relative(test_root, input_path);
const [input, expected] = await Promise.all([
fs.readFile(input_path, { encoding: "utf-8" }),
fs.readFile(input_path + ".snap", { encoding: "utf-8" }),
fs.readFile(input_path, "utf-8"),
fs.readFile(expect_path, "utf-8"),
]);

test(test_name, () => {
const actual = format(input, input_path);
test(input_path, () => {
const actual = format(input, input_path);
assert.equal(actual, expected);
});
}

0 comments on commit 29f4da9

Please sign in to comment.