compiler/tests/PPCMergingVisitorTest.st
changeset 438 20598d7ce9fa
child 452 9f4558b3be66
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compiler/tests/PPCMergingVisitorTest.st	Thu Apr 30 23:43:14 2015 +0200
@@ -0,0 +1,75 @@
+"{ Package: 'stx:goodies/petitparser/compiler/tests' }"
+
+"{ NameSpace: Smalltalk }"
+
+TestCase subclass:#PPCMergingVisitorTest
+	instanceVariableNames:'node result visitor node1 node2'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'PetitCompiler-Tests-Visitors'
+!
+
+
+!PPCMergingVisitorTest methodsFor:'as yet unclassified'!
+
+javaWsNode
+	^ PPCUnknownNode new
+		parser: PPJavaWhitespaceParser new;
+		yourself
+!
+
+nilNode
+	^ PPCNilNode new
+!
+
+setUp
+	visitor := PPCMergingVisitor new
+!
+
+testJavaWS
+	node1 := self javaWsNode.
+	node2 := self javaWsNode.
+	
+	node := PPCSequenceNode new
+		children: { node1 . node2 }.
+		
+	self assert: (node children first == node children second) not.
+	node := visitor visit: node.
+	self assert: (node children first == node children second).
+!
+
+testNilNode
+	node1 := self nilNode.
+	node2 := self nilNode.
+	
+	node := PPCSequenceNode new
+		children: { node1 . node2 }.
+		
+	self assert: (node children first == node children second) not.
+	node := visitor visit: node.
+	self assert: (node children first == node children second).
+!
+
+testNilNode2
+	node1 := self nilNode
+		name: #foo;
+		yourself.
+	node2 := self nilNode
+		name: #bar;
+		yourself.
+	
+	node := PPCSequenceNode new
+		children: { node1 . node2 }.
+		
+	self assert: (node children first == node children second) not.
+	node := visitor visit: node.
+	self assert: (node children first == node children second) not.
+! !
+
+!PPCMergingVisitorTest class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+