-
Notifications
You must be signed in to change notification settings - Fork 0
/
test.ts
65 lines (61 loc) · 2.72 KB
/
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
import { assertEquals } from "https://deno.land/std@0.152.0/testing/asserts.ts";
import isMatch from "./index.ts";
Deno.test("wildcard-matching-1", () => {
// console.log("simple test");
assertEquals(true, isMatch("b", "b"));
assertEquals(true, isMatch("adceb", "*b"));
assertEquals(true, isMatch("adceb", "a*"));
assertEquals(true, isMatch("adceb", "a?*"));
});
Deno.test("wildcard-matching-3", () => {
// console.log("simple test");
assertEquals(false, isMatch("aa", "a"));
assertEquals(false, isMatch("cb", "?a"));
});
Deno.test("wildcard-matching-4", () => {
// console.log("simple test");
assertEquals(true, isMatch("aa", "*"));
assertEquals(true, isMatch("", "******"));
});
Deno.test("wildcard-matching-5", () => {
// console.log("hard test");
assertEquals(
true,
isMatch(
"baabbabababaabbabababbaabbbbaaabaaabbbbaaaaaabbbbaaabaaabbbbbabaabbbbbbbbabbbabbabbbbabbbbabbbbbbabababbaaaabbbbaabaaababbbabaaaabaabbbabbaabbabbbbabaababbbbbbbabbaaaabaaabbaaabaaaaababbbaaaabbbbbabbabb",
"ba*ba*bb*a********abaa*bb**abb**b***ab**b*b*babb***a*bb*aaabb*****b*aabb**aa**b*a***b*bb*b*bb*a*bbbbb**",
),
);
assertEquals(
false,
isMatch(
"abbaaababaaaabaaaaabaabbabababbaaabaaabaabaaaabbababaaaabababaabababbbbaabaabbbbbaababbbbbbbbaaababbbabbbbaabbbababbbabababbaabaaabaaabbbbbabaaaababababbbaabbaabbabbbaabbbaabaabaabbaabbbbbabbaabbbaabbb",
"***a****a***a*bba*a**aba******b**a*a*b***aa***b*ab*ab*aab*ab*b*abbaa***b**a*bb*b*ab*a*abba**bb*****a",
),
);
assertEquals(
false,
isMatch(
"abbabaaabbabbaababbabbbbbabbbabbbabaaaaababababbbabababaabbababaabbbbbbaaaabababbbaabbbbaabbbbababababbaabbaababaabbbababababbbbaaabbbbbabaaaabbababbbbaababaabbababbbbbababbbabaaaaaaaabbbbbaabaaababaaaabb",
"**aa*****ba*a*bb**aa*ab****a*aaaaaa***a*aaaa**bbabb*b*b**aaaaaaaaa*a********ba*bbb***a*ba*bb*bb**a*b*bb",
),
);
});
Deno.test("wildcard-matching-6", () => {
assertEquals(
false,
isMatch(
"aaaabaabaabbbabaabaabbbbaabaaabaaabbabbbaaabbbbbbabababbaabbabbbbaababaaabbbababbbaabbbaabbaaabbbaabbbbbaaaabaaabaabbabbbaabababbaabbbabababbaabaaababbbbbabaababbbabbabaaaaaababbbbaabbbbaaababbbbaabbbbb",
"**a*b*b**b*b****bb******b***babaab*ba*a*aaa***baa****b***bbbb*bbaa*a***a*a*****a*b*a*a**ba***aa*a**a*",
),
);
});
Deno.test("wildcard-matching-2", () => {
// console.log("simple test");
assertEquals(true, isMatch("dceb", "*b"));
assertEquals(true, isMatch("adceb", "a*b"));
});
Deno.test("wildcard-matching-7", () => {
assertEquals(true, isMatch("adce", "*a*"));
assertEquals(true, isMatch("adceb", "*a*b"));
});