]> gitweb.factorcode.org Git - factor.git/blob - basis/peg/parsers/parsers-tests.factor
20d19c9a6444c5aeae2041723fcbdb79e4b234ac
[factor.git] / basis / peg / parsers / parsers-tests.factor
1 USING: kernel peg peg.parsers tools.test accessors ;
2 IN: peg.parsers.tests
3
4 { V{ "a" } }
5 [ "a" "a" token "," token list-of parse ] unit-test
6
7 { V{ "a" "a" "a" "a" } }
8 [ "a,a,a,a" "a" token "," token list-of parse ] unit-test
9
10 [ "a" "a" token "," token list-of-many parse ] must-fail
11
12 { V{ "a" "a" "a" "a" } }
13 [ "a,a,a,a" "a" token "," token list-of-many parse ] unit-test
14
15 [ "aaa" "a" token 4 exactly-n parse ] must-fail
16
17 { V{ "a" "a" "a" "a" } }
18 [ "aaaa" "a" token 4 exactly-n parse ] unit-test
19
20 [ "aaa" "a" token 4 at-least-n parse ] must-fail
21
22 { V{ "a" "a" "a" "a" } }
23 [ "aaaa" "a" token 4 at-least-n parse ] unit-test
24
25 { V{ "a" "a" "a" "a" "a" } }
26 [ "aaaaa" "a" token 4 at-least-n parse ] unit-test
27
28 { V{ "a" "a" "a" "a" } }
29 [ "aaaa" "a" token 4 at-most-n parse ] unit-test
30
31 { V{ "a" "a" "a" "a" } }
32 [ "aaaaa" "a" token 4 at-most-n parse ] unit-test
33
34 { V{ "a" "a" "a" } }
35 [ "aaa" "a" token 3 4 from-m-to-n parse ] unit-test
36
37 { V{ "a" "a" "a" "a" } }
38 [ "aaaa" "a" token 3 4 from-m-to-n parse ] unit-test
39
40 { V{ "a" "a" "a" "a" } }
41 [ "aaaaa" "a" token 3 4 from-m-to-n parse ] unit-test
42
43 { 97 }
44 [ "a" any-char parse ] unit-test
45
46 { V{ } }
47 [ "" epsilon parse ] unit-test
48
49 { "a" } [
50   "a" "a" token just parse
51 ] unit-test