|
1 "{ Encoding: utf8 }" |
|
2 |
|
3 "{ Package: 'stx:goodies/petitparser/parsers/java' }" |
|
4 |
|
5 "{ NameSpace: Smalltalk }" |
|
6 |
|
7 PPJavaSyntaxTest subclass:#PPJavaParserTest |
|
8 instanceVariableNames:'' |
|
9 classVariableNames:'' |
|
10 poolDictionaries:'' |
|
11 category:'PetitJava-Tests' |
|
12 ! |
|
13 |
|
14 PPJavaParserTest comment:'' |
|
15 ! |
|
16 |
|
17 !PPJavaParserTest methodsFor:'accessing'! |
|
18 |
|
19 parserClass |
|
20 ^ PPJavaParser |
|
21 ! ! |
|
22 |
|
23 !PPJavaParserTest methodsFor:'as yet unclassified'! |
|
24 |
|
25 testCharacterLiteral1 |
|
26 super testCharacterLiteral1. |
|
27 self assert: result class equals: PJCharacterLiteralNode. |
|
28 self assert: result literalValue equals: 'a' |
|
29 ! |
|
30 |
|
31 testCharacterLiteral2 |
|
32 super testCharacterLiteral2. |
|
33 self assert: result class equals: PJCharacterLiteralNode. |
|
34 self assert: result literalValue equals: '%' |
|
35 ! |
|
36 |
|
37 testCharacterLiteral3 |
|
38 super testCharacterLiteral3. |
|
39 self assert: result class equals: PJCharacterLiteralNode. |
|
40 self assert: result literalValue equals: '\t' |
|
41 ! |
|
42 |
|
43 testCharacterLiteral4 |
|
44 super testCharacterLiteral4. |
|
45 self assert: result class equals: PJCharacterLiteralNode. |
|
46 self assert: result literalValue equals: '\\' |
|
47 ! |
|
48 |
|
49 testCharacterLiteral5 |
|
50 super testCharacterLiteral5. |
|
51 self assert: result class equals: PJCharacterLiteralNode. |
|
52 self assert: result literalValue equals: '\''' |
|
53 ! |
|
54 |
|
55 testCharacterLiteral8 |
|
56 super testCharacterLiteral8. |
|
57 self assert: result class equals: PJCharacterLiteralNode. |
|
58 self assert: result literalValue equals: '\177' |
|
59 ! |
|
60 |
|
61 testComment1 |
|
62 super testComment1. |
|
63 self assert: result class equals: PJEndOfLineCommentsNode. |
|
64 self assert: (result comment ) equals: '' . |
|
65 ! |
|
66 |
|
67 testComment2 |
|
68 super testComment2. |
|
69 self assert: result class equals: PJEndOfLineCommentsNode. |
|
70 self assert: (result comment ) equals: 'comment' . |
|
71 |
|
72 |
|
73 ! |
|
74 |
|
75 testComment3 |
|
76 super testComment3. |
|
77 self assert: result class equals: PJEndOfLineCommentsNode . |
|
78 self assert: (result comment ) equals: ' comment' . |
|
79 ! |
|
80 |
|
81 testComment4 |
|
82 super testComment4. |
|
83 self assert: result class equals: PJTraditionalCommentsNode. |
|
84 self assert: (result comment) equals: ' comment ' . |
|
85 ! |
|
86 |
|
87 testComment6 |
|
88 super testComment6. |
|
89 self assert: result class equals: PJTraditionalCommentsNode. |
|
90 self assert: (result comment) equals: ' this comment /* // /** ends here: ' . |
|
91 |
|
92 ! |
|
93 |
|
94 testComment7 |
|
95 super testComment7. |
|
96 self assert: result class equals: PJTraditionalCommentsNode . |
|
97 self assert: (result comment) equals: '* * @param args * @return void '. |
|
98 ! |
|
99 |
|
100 testSeparator1 |
|
101 super testSeparator1. |
|
102 self assert: result class equals: PJSeparatorNode . |
|
103 self assert: result separatorValue equals: '{' . |
|
104 ! ! |
|
105 |
|
106 !PPJavaParserTest methodsFor:'testing'! |
|
107 |
|
108 testBlock1 |
|
109 super testBlock1. |
|
110 self assert: result class equals: PJBlockNode. |
|
111 self assert: result statements isEmpty |
|
112 ! |
|
113 |
|
114 testBlock2 |
|
115 super testBlock2. |
|
116 self assert: result class equals: PJBlockNode. |
|
117 self assert: result statements size equals: 2 |
|
118 ! |
|
119 |
|
120 testFloatLiteral1 |
|
121 super testFloatLiteral1. |
|
122 self assert: result class equals: PJFloatLiteralNode. |
|
123 self assert: result literalValue equals: '1e1'. |
|
124 self assert: result isFloat |
|
125 ! |
|
126 |
|
127 testFloatLiteral10 |
|
128 super testFloatLiteral10. |
|
129 self assert: result class equals: PJFloatLiteralNode. |
|
130 self assert: result literalValue equals: '0.0'. |
|
131 self assert: result isFloat not. |
|
132 ! |
|
133 |
|
134 testFloatLiteral11 |
|
135 super testFloatLiteral11. |
|
136 self assert: result class equals: PJFloatLiteralNode. |
|
137 self assert: result literalValue equals: '3.14'. |
|
138 self assert: result isFloat not. |
|
139 ! |
|
140 |
|
141 testFloatLiteral12 |
|
142 super testFloatLiteral12. |
|
143 self assert: result class equals: PJFloatLiteralNode. |
|
144 self assert: result literalValue equals: '1e-9d'. |
|
145 self assert: result isFloat not. |
|
146 ! |
|
147 |
|
148 testFloatLiteral13 |
|
149 super testFloatLiteral13. |
|
150 self assert: result class equals: PJFloatLiteralNode. |
|
151 self assert: result literalValue equals: '1e137'. |
|
152 self assert: result isFloat not. |
|
153 ! |
|
154 |
|
155 testFloatLiteral2 |
|
156 super testFloatLiteral2. |
|
157 self assert: result class equals: PJFloatLiteralNode. |
|
158 self assert: result literalValue equals: '2.'. |
|
159 self assert: result isFloat |
|
160 ! |
|
161 |
|
162 testFloatLiteral3 |
|
163 super testFloatLiteral3. |
|
164 self assert: result class equals: PJFloatLiteralNode. |
|
165 self assert: result literalValue equals: '.3'. |
|
166 self assert: result isFloat |
|
167 ! |
|
168 |
|
169 testFloatLiteral4 |
|
170 super testFloatLiteral4. |
|
171 self assert: result class equals: PJFloatLiteralNode. |
|
172 self assert: result literalValue equals: '0'. |
|
173 self assert: result isFloat |
|
174 ! |
|
175 |
|
176 testFloatLiteral5 |
|
177 super testFloatLiteral5. |
|
178 self assert: result class equals: PJFloatLiteralNode. |
|
179 self assert: result literalValue equals: '3.14'. |
|
180 self assert: result isFloat |
|
181 ! |
|
182 |
|
183 testFloatLiteral6 |
|
184 super testFloatLiteral6. |
|
185 self assert: result class equals: PJFloatLiteralNode. |
|
186 self assert: result literalValue equals: '6.022137e+23'. |
|
187 self assert: result isFloat |
|
188 ! |
|
189 |
|
190 testFloatLiteral7 |
|
191 super testFloatLiteral7. |
|
192 self assert: result class equals: PJFloatLiteralNode. |
|
193 self assert: result literalValue equals: '1e1'. |
|
194 self assert: result isFloat not. |
|
195 ! |
|
196 |
|
197 testFloatLiteral8 |
|
198 super testFloatLiteral8. |
|
199 self assert: result class equals: PJFloatLiteralNode. |
|
200 self assert: result literalValue equals: '2.'. |
|
201 self assert: result isFloat not. |
|
202 ! |
|
203 |
|
204 testFloatLiteral9 |
|
205 super testFloatLiteral9. |
|
206 self assert: result class equals: PJFloatLiteralNode. |
|
207 self assert: result literalValue equals: '.3'. |
|
208 self assert: result isFloat not. |
|
209 ! |
|
210 |
|
211 testMethodDeclaration3 |
|
212 super testMethodDeclaration3. |
|
213 self assert: result class equals: PJMethodDeclarationNode. |
|
214 self assert: result body class equals: PJBlockNode |
|
215 ! |
|
216 |
|
217 testMethodDeclaration4 |
|
218 super testMethodDeclaration4. |
|
219 self assert: result class equals: PJMethodDeclarationNode. |
|
220 self assert: result body class equals: PJBlockNode. |
|
221 self assert: result parameters size equals: 2 |
|
222 ! |
|
223 |
|
224 testNormalParameterDecl1 |
|
225 super testNormalParameterDecl1. |
|
226 self assert: result class equals: PJParameterDeclaratorNode. |
|
227 self assert: result identifier class equals: PJIdentifierNode. |
|
228 self assert: result arrayLevel equals: 1. |
|
229 self assert: result modifiers size equals: 1 |
|
230 ! |
|
231 |
|
232 testNormalParameterDecl2 |
|
233 super testNormalParameterDecl2. |
|
234 self assert: result class equals: PJParameterDeclaratorNode. |
|
235 self assert: result identifier class equals: PJIdentifierNode. |
|
236 self assert: result arrayLevel equals: 0. |
|
237 self assert: result modifiers size equals: 0 |
|
238 ! |
|
239 |
|
240 testStatement1 |
|
241 super testStatement1. |
|
242 self assert: result class equals: PJExpressionStatementNode |
|
243 ! |
|
244 |
|
245 testStatement3 |
|
246 super testStatement3. |
|
247 self assert: result class equals: PJBlockNode. |
|
248 self assert: result statements isEmpty |
|
249 ! |
|
250 |
|
251 testWhileStatement1 |
|
252 super testWhileStatement1. |
|
253 self assert: result class equals: PJWhileStatementNode. |
|
254 self assert: result expression class equals: PJBooleanLiteralNode. |
|
255 ! |
|
256 |
|
257 testWhileStatement2 |
|
258 super testWhileStatement2. |
|
259 self assert: result class equals: PJWhileStatementNode. |
|
260 self assert: result statement class equals: PJBlockNode |
|
261 ! ! |
|
262 |
|
263 !PPJavaParserTest methodsFor:'testing-classes'! |
|
264 |
|
265 testLiteral13 |
|
266 super testLiteral13. |
|
267 self assert: result class equals: PJStringLiteralNode |
|
268 ! |
|
269 |
|
270 testMethodDeclaration1 |
|
271 super testMethodDeclaration1. |
|
272 self assert: result class equals: PJMethodDeclarationNode. |
|
273 self assert: result body class equals: PJBlockNode |
|
274 ! |
|
275 |
|
276 testMethodDeclaration2 |
|
277 super testMethodDeclaration2. |
|
278 self assert: result class equals: PJConstructorDeclarationNode. |
|
279 self assert: result statements isEmpty |
|
280 ! ! |
|
281 |
|
282 !PPJavaParserTest methodsFor:'testing-literals'! |
|
283 |
|
284 testAdditiveExpression1 |
|
285 super testAdditiveExpression1. |
|
286 self assert: result class equals: PJBooleanLiteralNode |
|
287 ! |
|
288 |
|
289 testAdditiveExpression2 |
|
290 super testAdditiveExpression2. |
|
291 self assert: result class equals: PJInfixOperationNode. |
|
292 self assert: result left class equals: PJIntegerLiteralNode. |
|
293 self assert: result left literalValue equals: 3. |
|
294 self assert: result operator equals: #+. |
|
295 self assert: result right class equals: PJIntegerLiteralNode. |
|
296 self assert: result right literalValue equals: 5. |
|
297 ! |
|
298 |
|
299 testAdditiveExpression3 |
|
300 super testAdditiveExpression3. |
|
301 self assert: result class equals: PJInfixOperationNode. |
|
302 |
|
303 self assert: result left left left class equals: PJIntegerLiteralNode. |
|
304 self assert: result left left left literalValue equals: 4. |
|
305 |
|
306 self assert: result left left right class equals: PJIntegerLiteralNode. |
|
307 self assert: result left left right literalValue equals: 8. |
|
308 self assert: result left left operator equals: #+. |
|
309 |
|
310 self assert: result left right class equals: PJIntegerLiteralNode. |
|
311 self assert: result left right literalValue equals: 2. |
|
312 self assert: result left operator equals: #-. |
|
313 |
|
314 self assert: result right class equals: PJIntegerLiteralNode. |
|
315 self assert: result right literalValue equals: 9. |
|
316 self assert: result operator equals: #+. |
|
317 |
|
318 ! |
|
319 |
|
320 testAndExpression1 |
|
321 super testAndExpression1. |
|
322 self assert: result class equals: PJBooleanLiteralNode |
|
323 ! |
|
324 |
|
325 testBooleanLiteral1 |
|
326 super testBooleanLiteral1. |
|
327 self assert: result class equals: PJBooleanLiteralNode. |
|
328 self assert: result booleanValue equals: true |
|
329 ! |
|
330 |
|
331 testBooleanLiteral2 |
|
332 super testBooleanLiteral2. |
|
333 self assert: result class equals: PJBooleanLiteralNode. |
|
334 self assert: result booleanValue equals: false |
|
335 ! |
|
336 |
|
337 testConditionalAndExpression1 |
|
338 super testConditionalAndExpression1. |
|
339 self assert: result class equals: PJBooleanLiteralNode |
|
340 ! |
|
341 |
|
342 testConditionalOrExpression1 |
|
343 super testConditionalOrExpression1. |
|
344 self assert: result class equals: PJBooleanLiteralNode |
|
345 ! |
|
346 |
|
347 testEqualityExpression1 |
|
348 super testEqualityExpression1. |
|
349 self assert: result class equals: PJBooleanLiteralNode |
|
350 ! |
|
351 |
|
352 testExclusiveOrExpression1 |
|
353 super testExclusiveOrExpression1. |
|
354 self assert: result class equals: PJBooleanLiteralNode |
|
355 ! |
|
356 |
|
357 testExpression2 |
|
358 super testExpression2. |
|
359 self assert: result class equals: PJBooleanLiteralNode |
|
360 ! |
|
361 |
|
362 testExpression4 |
|
363 super testExpression4. |
|
364 self assert: result class equals: PJIdentifierNode |
|
365 ! |
|
366 |
|
367 testExpression5 |
|
368 super testExpression5. |
|
369 self assert: result class equals: PJInfixOperationNode. |
|
370 self assert: result left class equals: PJIdentifierNode. |
|
371 self assert: result operator equals: #+=. |
|
372 self assert: result right class equals: PJIntegerLiteralNode |
|
373 ! |
|
374 |
|
375 testFormalParameters1 |
|
376 super testFormalParameters1. |
|
377 self assert: (result isKindOf: Collection). |
|
378 self assert: result size equals: 2 |
|
379 ! |
|
380 |
|
381 testFormalParameters4 |
|
382 super testFormalParameters4. |
|
383 self assert: (result isKindOf: Collection). |
|
384 self assert: result size equals: 4 |
|
385 ! |
|
386 |
|
387 testFormalParameters5 |
|
388 super testFormalParameters5. |
|
389 self assert: result isNil |
|
390 ! |
|
391 |
|
392 testIdentifier1 |
|
393 super testIdentifier1. |
|
394 self assert: result class equals: PJIdentifierNode. |
|
395 self assert: result name equals: 'String' |
|
396 |
|
397 ! |
|
398 |
|
399 testIdentifier2 |
|
400 super testIdentifier2. |
|
401 self assert: result class equals: PJIdentifierNode. |
|
402 self assert: result name equals: 'i3' |
|
403 |
|
404 ! |
|
405 |
|
406 testIdentifier3 |
|
407 super testIdentifier3. |
|
408 self assert: result class equals: PJIdentifierNode. |
|
409 self assert: result name equals: 'αρετη' |
|
410 |
|
411 ! |
|
412 |
|
413 testIdentifier4 |
|
414 super testIdentifier4. |
|
415 self assert: result class equals: PJIdentifierNode. |
|
416 self assert: result name equals: 'MAX_VALUE' |
|
417 |
|
418 ! |
|
419 |
|
420 testIdentifier5 |
|
421 super testIdentifier5. |
|
422 self assert: result class equals: PJIdentifierNode. |
|
423 self assert: result name equals: 'isLetterOrDigit' |
|
424 ! |
|
425 |
|
426 testInclusiveOrExpression1 |
|
427 super testInclusiveOrExpression1. |
|
428 self assert: result class equals: PJBooleanLiteralNode |
|
429 ! |
|
430 |
|
431 testInstanceofExpression1 |
|
432 super testInstanceofExpression1. |
|
433 self assert: result class equals: PJBooleanLiteralNode |
|
434 ! |
|
435 |
|
436 testLiteral2 |
|
437 super testLiteral2. |
|
438 self assert: result class equals: PJBooleanLiteralNode |
|
439 ! |
|
440 |
|
441 testLocalVariableDeclarationStatement1 |
|
442 super testLocalVariableDeclarationStatement1. |
|
443 self assert: result class equals: PJLocalVariableDeclarationStatementNode. |
|
444 self assert: result type notNil. |
|
445 self assert: result declarators size equals: 1. |
|
446 ! |
|
447 |
|
448 testLocalVariableDeclarationStatement2 |
|
449 super testLocalVariableDeclarationStatement2. |
|
450 self assert: result class equals: PJLocalVariableDeclarationStatementNode. |
|
451 self assert: result type notNil. |
|
452 self assert: result declarators size equals: 2. |
|
453 ! |
|
454 |
|
455 testLocalVariableDeclarationStatement3 |
|
456 super testLocalVariableDeclarationStatement3. |
|
457 self assert: result class equals: PJLocalVariableDeclarationStatementNode. |
|
458 self assert: result type notNil. |
|
459 self assert: result declarators size equals: 3. |
|
460 ! |
|
461 |
|
462 testMultiplicativeExpression1 |
|
463 super testMultiplicativeExpression1. |
|
464 self assert: result class equals: PJBooleanLiteralNode |
|
465 ! |
|
466 |
|
467 testMultiplicativeExpression2 |
|
468 super testMultiplicativeExpression2. |
|
469 self assert: result class equals: PJInfixOperationNode. |
|
470 self assert: result left class equals: PJIntegerLiteralNode. |
|
471 self assert: result left literalValue equals: 3. |
|
472 self assert: result operator equals: #*. |
|
473 self assert: result right class equals: PJIntegerLiteralNode. |
|
474 self assert: result right literalValue equals: 5. |
|
475 ! |
|
476 |
|
477 testMultiplicativeExpression3 |
|
478 super testMultiplicativeExpression3. |
|
479 self assert: result class equals: PJInfixOperationNode. |
|
480 |
|
481 self assert: result left left left class equals: PJIntegerLiteralNode. |
|
482 self assert: result left left left literalValue equals: 4. |
|
483 |
|
484 self assert: result left left right class equals: PJIntegerLiteralNode. |
|
485 self assert: result left left right literalValue equals: 8. |
|
486 self assert: result left left operator equals: #*. |
|
487 |
|
488 self assert: result left right class equals: PJIntegerLiteralNode. |
|
489 self assert: result left right literalValue equals: 2. |
|
490 self assert: result left operator equals: #/. |
|
491 |
|
492 self assert: result right class equals: PJIntegerLiteralNode. |
|
493 self assert: result right literalValue equals: 9. |
|
494 self assert: result operator equals: #*. |
|
495 |
|
496 ! |
|
497 |
|
498 testNullLiteral1 |
|
499 |
|
500 super testNullLiteral1 |
|
501 . |
|
502 self assert: result class equals: PJNullLiteralNode . |
|
503 self assert: result literalValue equals: 'null' |
|
504 ! |
|
505 |
|
506 testPrimary1 |
|
507 super testPrimary1. |
|
508 self assert: result class equals: PJBooleanLiteralNode |
|
509 ! |
|
510 |
|
511 testPrimary2 |
|
512 super testPrimary2. |
|
513 self assert: result class equals: PJStringLiteralNode |
|
514 ! |
|
515 |
|
516 testPrimaryWithselectors1 |
|
517 super testPrimaryWithselectors1. |
|
518 self assert: result class equals: PJBooleanLiteralNode |
|
519 ! |
|
520 |
|
521 testPrimaryWithselectors2 |
|
522 super testPrimaryWithselectors2. |
|
523 " |
|
524 JK: Seems the functionality is not finished or broken |
|
525 see rule primaryWithselectors, calling #object: that throws DNU |
|
526 " |
|
527 "self assert: result size = 2." |
|
528 ! |
|
529 |
|
530 testRelationalExpression1 |
|
531 super testRelationalExpression1. |
|
532 self assert: result class equals: PJBooleanLiteralNode |
|
533 ! |
|
534 |
|
535 testRelationalExpression2 |
|
536 super testRelationalExpression2. |
|
537 self assert: result class equals: PJInfixOperationNode |
|
538 ! |
|
539 |
|
540 testReturnStatement1 |
|
541 super testReturnStatement1. |
|
542 self assert: result class equals: PJReturnStatementNode. |
|
543 self assert: (result expression isKindOf: PJExpressionNode) |
|
544 ! |
|
545 |
|
546 testReturnStatement2 |
|
547 super testReturnStatement2. |
|
548 self assert: result class equals: PJReturnStatementNode. |
|
549 self assert: result expression isNil |
|
550 ! |
|
551 |
|
552 testShiftExpression1 |
|
553 super testShiftExpression1. |
|
554 self assert: result class equals: PJBooleanLiteralNode |
|
555 ! |
|
556 |
|
557 testStringLiteral1 |
|
558 super testStringLiteral1. |
|
559 self assert: result class equals: PJStringLiteralNode. |
|
560 self assert: result literalValue equals: String empty |
|
561 ! |
|
562 |
|
563 testStringLiteral11 |
|
564 super testStringLiteral11. |
|
565 self assert: result class equals: PJStringLiteralNode. |
|
566 self assert: result literalValue equals: 'null' |
|
567 ! |
|
568 |
|
569 testStringLiteral2 |
|
570 super testStringLiteral2. |
|
571 self assert: result class equals: PJStringLiteralNode. |
|
572 self assert: result literalValue equals: '\"' |
|
573 ! |
|
574 |
|
575 testStringLiteral3 |
|
576 super testStringLiteral3. |
|
577 self assert: result class equals: PJStringLiteralNode. |
|
578 self assert: result literalValue equals: 'This is a Java string' |
|
579 ! |
|
580 |
|
581 testUnaryExpression2 |
|
582 super testUnaryExpression2. |
|
583 self assert: result class equals: PJBooleanLiteralNode |
|
584 ! |
|
585 |
|
586 testUnaryExpressionNotPlusMinus1 |
|
587 super testUnaryExpressionNotPlusMinus1. |
|
588 self assert: result class equals: PJBooleanLiteralNode |
|
589 ! |
|
590 |
|
591 testVariableDeclarator1 |
|
592 super testVariableDeclarator1. |
|
593 self assert: result class equals: PJVariableDeclaratorNode. |
|
594 self assert: result variable class equals: PJIdentifierNode. |
|
595 self assert: result arrayLevel equals: 0. |
|
596 self assert: result initializer isNil |
|
597 ! |
|
598 |
|
599 testVariableDeclarator2 |
|
600 super testVariableDeclarator2. |
|
601 self assert: result class equals: PJVariableDeclaratorNode. |
|
602 self assert: result variable class equals: PJIdentifierNode. |
|
603 self assert: result arrayLevel equals: 2. |
|
604 self assert: result initializer isNil |
|
605 ! |
|
606 |
|
607 testVariableDeclarator3 |
|
608 super testVariableDeclarator3. |
|
609 self assert: result class equals: PJVariableDeclaratorNode. |
|
610 self assert: result variable class equals: PJIdentifierNode. |
|
611 self assert: result arrayLevel equals: 0. |
|
612 self assert: result initializer notNil |
|
613 ! ! |
|
614 |
|
615 !PPJavaParserTest methodsFor:'testing-literals-integer'! |
|
616 |
|
617 testIfStatement1 |
|
618 super testIfStatement1. |
|
619 self assert: result class equals: PJIfStatementNode. |
|
620 self assert: result condition class equals: PJBooleanLiteralNode. |
|
621 self assert: result thenPart class equals: PJBlockNode. |
|
622 self assert: result elsePart isNil |
|
623 ! |
|
624 |
|
625 testIfStatement2 |
|
626 super testIfStatement2. |
|
627 self assert: result class equals: PJIfStatementNode. |
|
628 self assert: result condition class equals: PJBooleanLiteralNode. |
|
629 self assert: result thenPart class equals: PJBlockNode. |
|
630 self assert: result elsePart class equals: PJBlockNode. |
|
631 ! |
|
632 |
|
633 testIfStatement3 |
|
634 super testIfStatement3. |
|
635 self assert: result class equals: PJIfStatementNode. |
|
636 self assert: result condition class equals: PJBooleanLiteralNode. |
|
637 self assert: result thenPart class equals: PJBlockNode. |
|
638 self assert: result elsePart class equals: PJBlockNode. |
|
639 ! |
|
640 |
|
641 testIfStatement4 |
|
642 super testIfStatement4. |
|
643 self assert: result class equals: PJIfStatementNode. |
|
644 self assert: result condition class equals: PJBooleanLiteralNode. |
|
645 self assert: result thenPart class equals: PJExpressionStatementNode. |
|
646 self assert: result elsePart isNil |
|
647 ! |
|
648 |
|
649 testIfStatement5 |
|
650 super testIfStatement5. |
|
651 self assert: result class equals: PJIfStatementNode. |
|
652 self assert: result condition class equals: PJInfixOperationNode. |
|
653 self assert: result thenPart class equals: PJBlockNode. |
|
654 self assert: result elsePart isNil |
|
655 ! |
|
656 |
|
657 testIntegerLiteral1 |
|
658 super testIntegerLiteral1. |
|
659 self assert: result class equals: PJIntegerLiteralNode. |
|
660 self assert: result literalValue equals: 0. |
|
661 self assert: result isLong not |
|
662 ! |
|
663 |
|
664 testIntegerLiteral10 |
|
665 super testIntegerLiteral10. |
|
666 self assert: result class equals: PJIntegerLiteralNode. |
|
667 self assert: result literalValue equals: 1996. |
|
668 self assert: result isLong not |
|
669 ! |
|
670 |
|
671 testIntegerLiteral11 |
|
672 super testIntegerLiteral11. |
|
673 self assert: result class equals: PJIntegerLiteralNode. |
|
674 self assert: result literalValue equals: 16711935. |
|
675 self assert: result isLong not |
|
676 ! |
|
677 |
|
678 testIntegerLiteral2 |
|
679 super testIntegerLiteral2. |
|
680 self assert: result class equals: PJIntegerLiteralNode. |
|
681 self assert: result literalValue equals: 0. |
|
682 self assert: result isLong |
|
683 ! |
|
684 |
|
685 testIntegerLiteral3 |
|
686 super testIntegerLiteral3. |
|
687 self assert: result class equals: PJIntegerLiteralNode. |
|
688 self assert: result literalValue equals: 511. |
|
689 self assert: result isLong |
|
690 ! |
|
691 |
|
692 testIntegerLiteral4 |
|
693 super testIntegerLiteral4. |
|
694 self assert: result class equals: PJIntegerLiteralNode. |
|
695 self assert: result literalValue equals: 4294967296. |
|
696 self assert: result isLong |
|
697 ! |
|
698 |
|
699 testIntegerLiteral5 |
|
700 super testIntegerLiteral5. |
|
701 self assert: result class equals: PJIntegerLiteralNode. |
|
702 self assert: result literalValue equals: 2147483648. |
|
703 self assert: result isLong |
|
704 ! |
|
705 |
|
706 testIntegerLiteral6 |
|
707 super testIntegerLiteral6. |
|
708 self assert: result class equals: PJIntegerLiteralNode. |
|
709 self assert: result literalValue equals: 49328. |
|
710 self assert: result isLong |
|
711 ! |
|
712 |
|
713 testIntegerLiteral7 |
|
714 super testIntegerLiteral7. |
|
715 self assert: result class equals: PJIntegerLiteralNode. |
|
716 self assert: result literalValue equals: 2. |
|
717 self assert: result isLong not |
|
718 ! |
|
719 |
|
720 testIntegerLiteral8 |
|
721 super testIntegerLiteral8. |
|
722 self assert: result class equals: PJIntegerLiteralNode. |
|
723 self assert: result literalValue equals: 250. |
|
724 self assert: result isLong not |
|
725 ! |
|
726 |
|
727 testIntegerLiteral9 |
|
728 super testIntegerLiteral9. |
|
729 self assert: result class equals: PJIntegerLiteralNode. |
|
730 self assert: result literalValue equals: 3671771902. |
|
731 self assert: result isLong not |
|
732 ! ! |
|
733 |