]>
git.kianting.info Git - uann/blob - index.js
ad27d2799728993b66841e82fe8d8a6f1029b29c
2 let assert
= require("assert");
3 let tokenize
= require("../src/tokenize");
4 let a
= tokenize
.match1Char("我");
5 let example1
= a({ matched
: "", remained
: "我的" });
6 assert(example1
._tag
== "Some");
7 assert(example1
.value
.matched
== "我");
8 assert(example1
.value
.remained
== "的");
9 let example2
= a({ matched
: "", remained
: "妳的" });
10 assert(example2
._tag
== "None");
11 let thenDo
= tokenize
.thenDo
;
12 let orDo
= tokenize
.orDo
;
13 let zeroOrMoreDo
= tokenize
.zeroOrMoreDo
;
14 let notDo
= tokenize
.notDo
;
15 let matchAny
= tokenize
.matchAny
;
17 let compPart1
= tokenize
.match1Char("我");
18 let compPart2
= tokenize
.match1Char("的");
19 let doThenTestee1
= { _tag
: "Some", value
: { matched
: "", remained
: "我的貓" } };
20 let doTestRes1
= thenDo(thenDo(doThenTestee1
, compPart1
), compPart2
);
21 assert(doTestRes1
._tag
== "Some");
22 assert(doTestRes1
.value
.matched
== "我的");
23 assert(doTestRes1
.value
.remained
== "貓");
24 let doThenTestee2
= { _tag
: "Some", value
: { matched
: "", remained
: "我們" } };
25 let doTestRes2
= thenDo(thenDo(doThenTestee2
, compPart1
), compPart2
);
26 assert(doTestRes2
._tag
== "None");
27 let doThenTestee3
= { _tag
: "Some", value
: { matched
: "", remained
: "我的貓" } };
28 let doTestRes3
= thenDo(thenDo(doThenTestee3
, orDo(compPart1
, compPart2
)), compPart2
);
29 assert(doTestRes3
._tag
== "Some");
30 assert(doTestRes3
.value
.matched
== "我的");
31 assert(doTestRes3
.value
.remained
== "貓");
32 let doThenTestee4
= { _tag
: "Some", value
: { matched
: "", remained
: "的的貓" } };
33 let doTestRes4
= thenDo(thenDo(doThenTestee4
, orDo(compPart1
, compPart2
)), compPart2
);
34 assert(doTestRes4
._tag
== "Some");
35 assert(doTestRes4
.value
.matched
== "的的");
36 assert(doTestRes4
.value
.remained
== "貓");
37 let doThenTestee5
= { _tag
: "Some", value
: { matched
: "", remained
: "的貓" } };
38 let doTestRes5
= thenDo(thenDo(doThenTestee5
, zeroOrMoreDo(compPart1
)), compPart2
);
39 assert(doTestRes5
._tag
== "Some");
40 assert(doTestRes5
.value
.matched
== "的");
41 assert(doTestRes5
.value
.remained
== "貓");
42 let doThenTestee6
= { _tag
: "Some", value
: { matched
: "", remained
: "我我我的貓" } };
43 let doTestRes6
= thenDo(thenDo(doThenTestee6
, zeroOrMoreDo(compPart1
)), compPart2
);
44 assert(doTestRes6
._tag
== "Some");
45 assert(doTestRes6
.value
.matched
== "我我我的");
46 assert(doTestRes6
.value
.remained
== "貓");
47 let doThenTestee7
= { _tag
: "Some", value
: { matched
: "", remained
: "我的" } };
48 let doTestRes7
= thenDo(thenDo(doThenTestee7
, notDo(compPart1
)), compPart2
);
49 assert(doTestRes7
._tag
== "None");
50 let doThenTestee8
= { _tag
: "Some", value
: { matched
: "", remained
: "妳的" } };
51 let doTestRes8
= thenDo(thenDo(doThenTestee8
, notDo(compPart1
)), compPart2
);
52 assert(doTestRes8
._tag
== "Some");
53 assert(doTestRes8
.value
.matched
== "妳的");
54 let doThenTestee9
= { _tag
: "Some", value
: { matched
: "", remained
: "妳的" } };
55 let doTestRes9
= thenDo(doThenTestee9
, matchAny
);
56 assert(doTestRes9
._tag
== "Some");
57 assert(doTestRes9
.value
.matched
== "妳");
58 assert(doTestRes9
.value
.remained
== "的");
59 tokenize
.tokenize("+123");
60 tokenize
.tokenize("123");
61 tokenize
.tokenize("-123");
62 tokenize
.tokenize(" 123");
64 tokenize
.tokenize("c123");
69 tokenize
.tokenize(" ");
70 tokenize
.tokenize(" ");
71 tokenize
.tokenize(" \t");
72 tokenize
.tokenize(" \t123");
74 tokenize
.tokenize(" \t123aaa456");
79 tokenize
.tokenize(" \t123\n456");
80 tokenize
.tokenize("\"\"");
81 tokenize
.tokenize("\"123\"");
82 tokenize
.tokenize("\"1\\\"23\"");
83 tokenize
.tokenize("\"1\\\"23\" abc123");
84 tokenize
.tokenize("+0.012");
85 tokenize
.tokenize("0.0");
86 tokenize
.tokenize("-222.0");
87 tokenize
.tokenize("1+1 ==2; 3+8 foo(12)");
88 console
.log(tokenize
.tokenize("2+2"));
90 let harfbuzz
= require("../src/harfbuzz.js");
91 harfbuzz
.harfbuzzTest("123.abc");
93 let pdfManipulate
= require("../src/pdfManipulate.js");
94 pdfManipulate
.pdfGenerate("123.abc");
95 console
.log("/tmp/test.pdf產出ah");