-
-
Notifications
You must be signed in to change notification settings - Fork 75
/
scripts.test.ts
52 lines (42 loc) 路 1.75 KB
/
scripts.test.ts
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
52
import { assertStrictEquals as equals } from "../../deps/assert.ts";
import Scripts from "../../core/scripts.ts";
import Logger from "../../core/logger.ts";
Deno.test("Scripts", async (t) => {
const scripts = new Scripts({
logger: new Logger({ quiet: true }),
options: {},
});
equals(scripts.scripts.size, 0);
await t.step("Add a script", () => {
scripts.set("script1", "script1-command");
equals(scripts.scripts.size, 1);
equals(scripts.scripts.has("script1"), true);
equals(scripts.scripts.get("script1")?.length, 1);
equals(scripts.scripts.get("script1")?.[0], "script1-command");
scripts.set("script2", "script2-command-1", "script2-command-2");
equals(scripts.scripts.size, 2);
equals(scripts.scripts.has("script2"), true);
equals(scripts.scripts.get("script2")?.length, 2);
equals(scripts.scripts.get("script2")?.[0], "script2-command-1");
equals(scripts.scripts.get("script2")?.[1], "script2-command-2");
scripts.set("script3", ["script3-command-1", "script3-command-2"]);
equals(scripts.scripts.size, 3);
equals(scripts.scripts.has("script3"), true);
equals(scripts.scripts.get("script3")?.length, 1);
const script3 = scripts.scripts.get("script3")?.[0] as string[];
equals(script3[0], "script3-command-1");
equals(script3[1], "script3-command-2");
});
await t.step("Add a function", async () => {
scripts.set("my-fn", () => "foo");
equals(scripts.scripts.size, 4);
const result = await scripts.run({}, "my-fn");
equals(result, true);
});
await t.step("Add a false function", async () => {
scripts.set("my-false-fn", () => false);
equals(scripts.scripts.size, 5);
const result = await scripts.run({}, "my-false-fn");
equals(result, false);
});
});