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