--- a/compiler/tests/PPCTokenVisitorTest.st Tue May 05 16:25:23 2015 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +0,0 @@
-"{ Package: 'stx:goodies/petitparser/compiler/tests' }"
-
-"{ NameSpace: Smalltalk }"
-
-TestCase subclass:#PPCTokenVisitorTest
- instanceVariableNames:'node result visitor'
- classVariableNames:''
- poolDictionaries:''
- category:'PetitCompiler-Tests-Visitors'
-!
-
-!PPCTokenVisitorTest methodsFor:'as yet unclassified'!
-
-asNode: aPPParser
- self error: 'deprecated'.
- ^ aPPParser asCompilerTree
-!
-
-assert: object type: class
- self assert: object class == class
-!
-
-setUp
- visitor := PPCTokenVisitor new.
-!
-
-testAction
- | letterNode |
- letterNode := PPCMessagePredicateNode new
- message: #isLetter;
- yourself.
-
- node := PPCActionNode new
- block: [ :nodes | #foo ];
- child: letterNode;
- yourself.
-
- result := visitor visit: node.
- self assert: result type: PPCMessagePredicateNode.
- self assert: result = letterNode.
-!
-
-testAction2
- | letterNode actionNode |
-
- letterNode := PPCMessagePredicateNode new
- predicate: #isLetter;
- yourself.
-
- actionNode := PPCActionNode new
- block: #boo;
- child: letterNode;
- yourself.
-
- node := PPCTokenNode new
- child: actionNode;
- yourself.
-
- result := visitor visit: node.
-
- self assert: result type: PPCMessagePredicateNode.
- self assert: result = letterNode.
-!
-
-testAction3
- | letterNode actionNode |
-
- letterNode := PPCMessagePredicateNode new
- predicate: #isLetter;
- yourself.
-
- actionNode := PPCActionNode new
- block: #foo;
- child: letterNode;
- yourself.
-
- node := PPCActionNode new
- block: #foo;
- child: actionNode;
- yourself.
-
- result := visitor visit: node.
-
- self assert: result type: PPCMessagePredicateNode.
- self assert: result = letterNode.
-!
-
-testNotAction
- | literalNode actionNode |
- literalNode := PPCLiteralNode new
- literal: 'foo';
- yourself.
-
- actionNode := PPCActionNode new
- block: #foo;
- child: literalNode;
- yourself.
-
- node := PPCNotNode new
- child: actionNode;
- yourself.
-
- result := visitor visit: node.
-
- self assert: result type: PPCNotNode.
- self assert: result child type: PPCLiteralNode.
-!
-
-testNotAction2
- | literalNode actionNode seqNode |
- literalNode := PPCLiteralNode new
- literal: 'foo';
- yourself.
-
- seqNode := PPCSequenceNode new
- children: { literalNode . literalNode };
- yourself.
-
- actionNode := PPCActionNode new
- block: #foo;
- child: seqNode;
- yourself.
-
- node := PPCNotNode new
- child: actionNode;
- yourself.
-
- result := visitor visit: node.
-
- self assert: result type: PPCNotNode.
-
- self assert: result child type: PPCTokenSequenceNode.
- self assert: result child firstChild type: PPCLiteralNode.
- self assert: result child secondChild type: PPCLiteralNode.
-!
-
-testNotAction3
- | literalNode actionNode seqNode |
- literalNode := PPCLiteralNode new
- literal: 'foo';
- yourself.
-
- seqNode := PPCSequenceNode new
- children: { literalNode . literalNode };
- yourself.
-
- actionNode := PPCSymbolActionNode new
- symbol: #second;
- child: seqNode;
- yourself.
-
- node := PPCNotNode new
- child: actionNode;
- yourself.
-
- result := visitor visit: node.
-
- self assert: result type: PPCNotNode.
-
- self assert: result child type: PPCTokenSequenceNode.
- self assert: result child firstChild type: PPCLiteralNode.
- self assert: result child secondChild type: PPCLiteralNode.
-!
-
-testStarMessagePredicate
- | starNode |
- starNode := PPCStarMessagePredicateNode new
- message: #isLetter;
- yourself.
-
- node := PPCTokenNode new
- child: starNode;
- yourself.
-
- result := visitor visit: node.
-
- self assert: result type: PPCTokenStarMessagePredicateNode.
-!
-
-testTokenSequence1
- | letterNode1 letterNode2 |
- letterNode1 := PPCCharacterNode new character: $a.
- letterNode2 := PPCCharacterNode new character: $b.
-
- node := PPCSequenceNode new
- children: { letterNode1 . letterNode2 };
- yourself.
- result := visitor visit: node.
-
- self assert: result type: PPCTokenSequenceNode.
- self assert: result firstChild = letterNode1.
- self assert: result secondChild = letterNode2.
-! !
-