1 USING: tools.test sequences.parser unicode kernel accessors ;
2 IN: sequences.parser.tests
5 [ "hello" [ take-rest ] parse-sequence ] unit-test
7 { "hi" " how are you?" }
10 [ [ [ current blank? ] take-until ] [ take-rest ] bi ] parse-sequence
16 [ CHAR: ; take-until-object ] [ take-rest ] bi
23 [ "and" take-until-sequence ] [ take-rest ] bi
30 [ "and" take-until-sequence ]
31 [ "and" take-sequence drop ]
39 [ "and" take-until-sequence* ]
45 [ { 1 2 3 4 } <sequence-parser> { 3 4 } take-until-sequence ] unit-test
49 "aaaa" <sequence-parser>
50 [ "b" take-until-sequence ] [ take-rest ] bi
55 " foo " [ skip-whitespace n>> ] parse-sequence
59 [ { 1 2 3 } <sequence-parser> [ current 3 = ] take-until ] unit-test
62 [ "abcd" <sequence-parser> "ab" take-sequence ] unit-test
65 [ "abcd" <sequence-parser> "lol" take-sequence ] unit-test
69 "abcd" <sequence-parser>
70 [ "lol" take-sequence drop ] [ "ab" take-sequence ] bi
74 [ "abcd" <sequence-parser> "" take-sequence ] unit-test
77 [ "abcd" <sequence-parser> [ "ab" take-sequence drop ] [ "cd" take-sequence ] bi ] unit-test
80 [ "" <sequence-parser> take-rest ] unit-test
83 [ "abc" <sequence-parser> dup "abc" take-sequence drop take-rest ] unit-test
86 [ "abc" <sequence-parser> "abcdefg" take-sequence ] unit-test
89 [ "1234f" <sequence-parser> take-integer ] unit-test
93 "yes1234f" <sequence-parser>
94 [ take-integer drop ] [ "yes" take-sequence ] bi
97 { f } [ "" <sequence-parser> 4 take-n ] unit-test
98 { "abcd" } [ "abcd" <sequence-parser> 4 take-n ] unit-test
99 { "abcd" "efg" } [ "abcdefg" <sequence-parser> [ 4 take-n ] [ take-rest ] bi ] unit-test
102 [ "\n" <sequence-parser> take-integer ] unit-test
104 { "\n" } [ "\n" <sequence-parser> [ ] take-while ] unit-test
105 { f } [ "\n" <sequence-parser> [ not ] take-while ] unit-test