41 result := self optimize: parser. |
41 result := self optimize: parser. |
42 |
42 |
43 self assert: result type: PPCTokenizingParserNode. |
43 self assert: result type: PPCTokenizingParserNode. |
44 self assert: result parser type: PPCTokenConsumeNode. |
44 self assert: result parser type: PPCTokenConsumeNode. |
45 self assert: result parser child type: PPCTrimmingTokenNode. |
45 self assert: result parser child type: PPCTrimmingTokenNode. |
46 self assert: result whitespace type: PPCTokenStarSeparatorNode. |
46 self assert: result whitespace type: PPCStarNode. |
47 ! |
47 ! |
48 |
48 |
49 testCompileTrimmingToken |
49 testCompileTrimmingToken |
50 parser := 'foo' asParser trimmingToken. |
50 parser := 'foo' asParser trimmingToken. |
51 result := self optimize: parser. |
51 result := self optimize: parser. |
52 |
52 |
53 self assert: result type: PPCTokenizingParserNode. |
53 self assert: result type: PPCTokenizingParserNode. |
54 self assert: result parser type: PPCTokenConsumeNode. |
54 self assert: result parser type: PPCTokenConsumeNode. |
55 self assert: result parser child type: PPCTrimmingTokenNode. |
55 self assert: result parser child type: PPCTrimmingTokenNode. |
56 self assert: result whitespace type: PPCTokenStarSeparatorNode. |
56 self assert: result whitespace type: PPCStarNode. |
57 |
57 |
58 self assert: result tokens children size = 1. |
58 self assert: result tokens children size = 1. |
59 self assert: (result tokens children anySatisfy: [ :e | e isKindOf: PPCTrimmingTokenNode ]) |
59 self assert: (result tokens children anySatisfy: [ :e | e isKindOf: PPCTrimmingTokenNode ]) |
60 ! |
60 ! |
61 |
61 |