-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest.js
More file actions
51 lines (42 loc) · 1.6 KB
/
test.js
File metadata and controls
51 lines (42 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import pc from "picocolors";
import { isVerified } from "./dist/index.mjs";
async function runTests() {
const cases = [
{ name: "esbuild", expected: true, desc: "Known provenance" },
{ name: "@actions/core", expected: true, desc: "Scoped with provenance" },
{ name: "lodash", expected: false, desc: "No provenance" },
{ name: "invalid-pkg-999", expected: false, desc: "404 handling" },
];
console.log(pc.bold(pc.cyan("\n is-verified-pkg v1.0.0")));
console.log(pc.dim(" dist/index.mjs\n"));
let passedCount = 0;
const startTime = performance.now();
for (const { name, expected, desc } of cases) {
try {
const result = await isVerified(name);
const isOk = result === expected;
if (isOk) {
passedCount++;
console.log(
` ${pc.green("√")} ${pc.dim(name.padEnd(25))} ${pc.blue("→")} ${pc.dim(desc)}`,
);
} else {
console.log(
` ${pc.red("×")} ${pc.red(name.padEnd(25))} ${pc.red("| Expected " + expected + " but got " + result)}`,
);
}
} catch (err) {
console.log(` ${pc.red("×")} ${pc.red(name)} ${pc.yellow("fail")} ${pc.dim(err.message)}`);
}
}
const duration = (performance.now() - startTime).toFixed(2);
console.log(pc.bold(`\n Test Files ${pc.green("1 passed")} (1)`));
console.log(
pc.bold(
` Tests ${passedCount === cases.length ? pc.green(passedCount + " passed") : pc.red(passedCount + " passed")} (${cases.length})`,
),
);
console.log(pc.dim(` Duration ${duration}ms\n`));
if (passedCount !== cases.length) process.exit(1);
}
runTests();