forked from rosa/hakurei
Compare commits
10 Commits
85bb66154f
...
dcf70a458b
| Author | SHA1 | Date | |
|---|---|---|---|
|
dcf70a458b
|
|||
|
e491546ca4
|
|||
|
aab9fceb85
|
|||
|
bfe6ca8158
|
|||
|
d4490ed1ba
|
|||
|
18ca3a0fe5
|
|||
|
0c58a28faa
|
|||
|
6c739a9f30
|
|||
|
4ff4bd2613
|
|||
|
17ec31e12a
|
@@ -1,7 +1,40 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
// Many editors have terminal emulators built in, so running tests with NodeJS
|
||||
// provides faster iteration, especially for those acclimated to test-driven
|
||||
// development.
|
||||
|
||||
import "./all_tests.js";
|
||||
import { StreamReporter, TESTS } from "./test.js";
|
||||
TESTS.run(new StreamReporter({ writeln: console.log }));
|
||||
|
||||
// TypeScript doesn't like process and Deno as their type definitions aren't
|
||||
// installed, but doesn't seem to complain if they're accessed through
|
||||
// globalThis.
|
||||
const process: any = globalThis.process;
|
||||
const Deno: any = globalThis.Deno;
|
||||
|
||||
function getArgs(): string[] {
|
||||
if (process) {
|
||||
const [runtime, program, ...args] = process.argv;
|
||||
return args;
|
||||
}
|
||||
if (Deno) return Deno.args;
|
||||
return [];
|
||||
}
|
||||
|
||||
const args = getArgs();
|
||||
let verbose = false;
|
||||
if (args.length > 1) {
|
||||
console.error("Too many arguments");
|
||||
(Deno ? Deno : process).exit(1);
|
||||
}
|
||||
if (args.length === 1) {
|
||||
if (args[0] === "-v" || args[0] === "--verbose" || args[0] === "-verbose") {
|
||||
verbose = true;
|
||||
} else if (args[0] !== "--") {
|
||||
console.error(`Unknown argument '${args[0]}'`);
|
||||
(Deno ? Deno : process).exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
TESTS.run(new StreamReporter({ writeln: console.log }, verbose));
|
||||
|
||||
Reference in New Issue
Block a user