PhpParser\NodeTraverserTest::testMerge PHP Method

testMerge() public method

public testMerge ( )
    public function testMerge()
    {
        $strStart = new String_('Start');
        $strMiddle = new String_('End');
        $strEnd = new String_('Middle');
        $strR1 = new String_('Replacement 1');
        $strR2 = new String_('Replacement 2');
        $visitor = $this->getMockBuilder('PhpParser\\NodeVisitor')->getMock();
        // replace strMiddle with strR1 and strR2 by merge
        $visitor->expects($this->at(4))->method('leaveNode')->with($strMiddle)->will($this->returnValue(array($strR1, $strR2)));
        $traverser = new NodeTraverser();
        $traverser->addVisitor($visitor);
        $this->assertEquals(array($strStart, $strR1, $strR2, $strEnd), $traverser->traverse(array($strStart, $strMiddle, $strEnd)));
    }