equal
deleted
inserted
replaced
1 "{ Package: 'squeak:petitparser' }" |
1 "{ Package: 'stx:goodies/petitparser' }" |
2 |
2 |
3 PPAbstractParseTest subclass:#PPObjectTest |
3 PPAbstractParseTest subclass:#PPObjectTest |
4 instanceVariableNames:'' |
4 instanceVariableNames:'' |
5 classVariableNames:'' |
5 classVariableNames:'' |
6 poolDictionaries:'' |
6 poolDictionaries:'' |
36 |
36 |
37 !PPObjectTest methodsFor:'testing-fancy'! |
37 !PPObjectTest methodsFor:'testing-fancy'! |
38 |
38 |
39 testFibonacci |
39 testFibonacci |
40 "This parser accepts fibonacci sequences with arbitrary start pairs." |
40 "This parser accepts fibonacci sequences with arbitrary start pairs." |
41 |
41 |
42 | parser | |
42 | parser | |
43 parser := ((self integer , self integer) end ==> [ :pair | pair first + pair last ]) |
43 parser := ((self integer , self integer) end ==> [ :pair | pair first + pair last ]) |
44 / (self integer , (self integer , self integer) and >=> [ :stream :continuation | |
44 / (self integer , (self integer , self integer) and >=> [ :stream :continuation | |
45 | result | |
45 | result | |
46 result := continuation value. |
46 result := continuation value. |
54 self assert: parser parse: #(1 1 2 3 5 8) to: 13. |
54 self assert: parser parse: #(1 1 2 3 5 8) to: 13. |
55 self assert: parser parse: #(1 1 2 3 5 8 13) to: 21. |
55 self assert: parser parse: #(1 1 2 3 5 8 13) to: 21. |
56 self assert: parser fail: #(). |
56 self assert: parser fail: #(). |
57 self assert: parser fail: #(1). |
57 self assert: parser fail: #(1). |
58 self assert: parser fail: #(1 2 3 4) end: 2 |
58 self assert: parser fail: #(1 2 3 4) end: 2 |
59 |
59 |
60 ! ! |
60 ! ! |
61 |
61 |
62 !PPObjectTest methodsFor:'testing-operators'! |
62 !PPObjectTest methodsFor:'testing-operators'! |
63 |
63 |
64 testChoice |
64 testChoice |
73 parser := self integer , self string. |
73 parser := self integer , self string. |
74 self assert: parser parse: #(123 'abc') to: #(123 'abc'). |
74 self assert: parser parse: #(123 'abc') to: #(123 'abc'). |
75 self assert: parser fail: #(123 456). |
75 self assert: parser fail: #(123 456). |
76 self assert: parser fail: #('abc' 'def'). |
76 self assert: parser fail: #('abc' 'def'). |
77 self assert: parser fail: #('abc' 123) |
77 self assert: parser fail: #('abc' 123) |
78 |
78 |
79 ! ! |
79 ! ! |
80 |
80 |
81 !PPObjectTest class methodsFor:'documentation'! |
81 !PPObjectTest class methodsFor:'documentation'! |
82 |
82 |
83 version_SVN |
83 version_SVN |
84 ^ '$Id: PPObjectTest.st,v 1.1 2011-08-18 18:56:17 cg Exp $' |
84 ^ '$Id: PPObjectTest.st,v 1.2 2012-01-13 11:22:50 cg Exp $' |
85 ! ! |
85 ! ! |