19 visitor := PPCTokenizingVisitor new. |
19 visitor := PPCTokenizingVisitor new. |
20 ! |
20 ! |
21 |
21 |
22 testTokenNode1 |
22 testTokenNode1 |
23 | nilNode | |
23 | nilNode | |
24 nilNode := PPCNilNode new. |
24 nilNode := PPCCharacterNode new. |
25 node := PPCTokenNode new |
25 node := PPCTokenNode new |
26 child: nilNode. |
26 child: nilNode. |
27 result := visitor visit: node. |
27 result := visitor visit: node. |
28 |
28 |
29 self assert: result type: PPCTokenizingParserNode. |
29 self assert: result type: PPCTokenizingParserNode. |
30 self assert: result parser type: PPCTokenConsumeNode. |
30 self assert: result parser type: PPCTokenConsumeNode. |
31 self assert: result parser child = node. |
31 self assert: result parser child = node. |
32 |
32 |
33 self assert: result tokenizer children size = 2. |
33 self assert: result tokens children size = 1. |
34 self assert: (result tokenizer children anySatisfy: [ :e | e = node ]). |
34 self assert: (result tokens children anySatisfy: [ :e | e = node ]). |
35 ! |
35 ! |
36 |
36 |
37 testTokenizingParserNode |
37 testTokenizingParserNode |
38 node := PPCNilNode new. |
38 node := PPCNilNode new. |
39 result := visitor visit: node. |
39 result := visitor visit: node. |
40 |
40 |
41 self assert: result type: PPCTokenizingParserNode. |
41 self assert: result type: PPCTokenizingParserNode. |
42 self assert: result parser = node. |
42 self assert: result parser = node. |
43 self assert: result tokenizer children size = 1. |
43 self assert: result tokens children size = 0. |
44 ! |
44 ! |
45 |
45 |
46 testTokenizingParserNode2 |
46 testTokenizingParserNode2 |
47 | nilNode | |
47 | nilNode | |
48 nilNode := PPCNilNode new. |
48 nilNode := PPCCharacterNode new. |
49 node := PPCTokenNode new |
49 node := PPCTokenNode new |
50 child: nilNode. |
50 child: nilNode. |
51 result := visitor visit: node. |
51 result := visitor visit: node. |
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 = node. |
55 self assert: result parser child = node. |
56 |
56 |
57 self assert: result tokenizer children size = 2. |
57 self assert: result tokens children size = 1. |
58 self assert: (result tokenizer children anySatisfy: [ :e | e = node ]). |
58 self assert: (result tokens children anySatisfy: [ :e | e = node ]). |
59 ! |
59 ! |
60 |
60 |
61 testTrimmingTokenNode1 |
61 testTrimmingTokenNode1 |
62 | nilNode tokenNode | |
62 | nilNode tokenNode | |
63 nilNode := PPCNilNode new. |
63 nilNode := PPCNilNode new. |
71 |
71 |
72 self assert: result type: PPCTokenizingParserNode. |
72 self assert: result type: PPCTokenizingParserNode. |
73 self assert: result parser type: PPCTokenConsumeNode. |
73 self assert: result parser type: PPCTokenConsumeNode. |
74 self assert: result parser child = node. |
74 self assert: result parser child = node. |
75 |
75 |
76 self assert: result tokenizer children size = 2. |
76 self assert: result tokens children size = 1. |
77 self assert: (result tokenizer children anySatisfy: [ :e | e = node ]). |
77 self assert: (result tokens children anySatisfy: [ :e | e = node ]). |
78 ! ! |
78 ! ! |
79 |
79 |