-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcommand_test.ts
81 lines (71 loc) · 2.09 KB
/
command_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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import { assertEquals, assertThrows } from "@std/assert";
import {
buildCallCommand,
buildExCommand,
buildExprCommand,
buildNormalCommand,
buildRedrawCommand,
} from "./command.ts";
Deno.test("buildRedrawCommand", async (t) => {
await t.step("builds a redraw command", () => {
assertEquals(buildRedrawCommand(), ["redraw", ""]);
});
await t.step("builds a redraw command with force", () => {
assertEquals(buildRedrawCommand(true), ["redraw", "force"]);
});
});
Deno.test("buildExCommand", async (t) => {
await t.step("builds a ex command", () => {
assertEquals(buildExCommand("echo 'Hello'"), ["ex", "echo 'Hello'"]);
});
});
Deno.test("buildNormalCommand", async (t) => {
await t.step("builds a normal command", () => {
assertEquals(buildNormalCommand("iHello"), ["normal", "iHello"]);
});
});
Deno.test("buildExprCommand", async (t) => {
await t.step("builds a expr command", () => {
assertEquals(buildExprCommand("1 + 1"), ["expr", "1 + 1"]);
});
await t.step("builds a expr command with msgid", () => {
assertEquals(buildExprCommand("1 + 1", -1), ["expr", "1 + 1", -1]);
});
await t.step("throws an error when msgid is not negative", () => {
assertThrows(
() => buildExprCommand("1 + 1", 0),
Error,
"must be a negative number",
);
assertThrows(
() => buildExprCommand("1 + 1", 1),
Error,
"must be a negative number",
);
});
});
Deno.test("buildCallCommand", async (t) => {
await t.step("builds a call command", () => {
assertEquals(buildCallCommand("fn", [1, 2, 3]), ["call", "fn", [1, 2, 3]]);
});
await t.step("builds a call command with msgid", () => {
assertEquals(buildCallCommand("fn", [1, 2, 3], -1), [
"call",
"fn",
[1, 2, 3],
-1,
]);
});
await t.step("throws an error when msgid is not negative", () => {
assertThrows(
() => buildCallCommand("fn", [1, 2, 3], 0),
Error,
"must be a negative number",
);
assertThrows(
() => buildCallCommand("fn", [1, 2, 3], 1),
Error,
"must be a negative number",
);
});
});