/** * @test */ public function setChildNodesAddsChildNodesToWidgetContext() { $this->widgetContext = new \TYPO3\Fluid\Core\Widget\WidgetContext(); $this->viewHelper->injectWidgetContext($this->widgetContext); $node1 = $this->getMock(\TYPO3\Fluid\Core\Parser\SyntaxTree\AbstractNode::class); $node2 = $this->getMock(\TYPO3\Fluid\Core\Parser\SyntaxTree\TextNode::class, array(), array(), '', FALSE); $node3 = $this->getMock(\TYPO3\Fluid\Core\Parser\SyntaxTree\AbstractNode::class); $rootNode = new \TYPO3\Fluid\Core\Parser\SyntaxTree\RootNode(); $rootNode->addChildNode($node1); $rootNode->addChildNode($node2); $rootNode->addChildNode($node3); $this->objectManager->expects($this->once())->method('get')->with(\TYPO3\Fluid\Core\Parser\SyntaxTree\RootNode::class)->will($this->returnValue($rootNode)); $renderingContext = $this->getMock(\TYPO3\Fluid\Core\Rendering\RenderingContextInterface::class); $this->viewHelper->_set('renderingContext', $renderingContext); $this->viewHelper->setChildNodes(array($node1, $node2, $node3)); $this->assertEquals($rootNode, $this->widgetContext->getViewHelperChildNodes()); }
/** * @test */ public function objectsAreComparedStrictlyInUnequalComparison() { $object1 = new \stdClass(); $object2 = new \stdClass(); $rootNode = new \TYPO3\Fluid\Core\Parser\SyntaxTree\RootNode(); $object1Node = $this->getMock(\TYPO3\Fluid\Core\Parser\SyntaxTree\ObjectAccessorNode::class, array('evaluate'), array('foo')); $object1Node->expects($this->any())->method('evaluate')->will($this->returnValue($object1)); $object2Node = $this->getMock(\TYPO3\Fluid\Core\Parser\SyntaxTree\ObjectAccessorNode::class, array('evaluate'), array('foo')); $object2Node->expects($this->any())->method('evaluate')->will($this->returnValue($object2)); $rootNode->addChildNode($object1Node); $rootNode->addChildNode(new \TYPO3\Fluid\Core\Parser\SyntaxTree\TextNode('!=')); $rootNode->addChildNode($object2Node); $booleanNode = new \TYPO3\Fluid\Core\Parser\SyntaxTree\BooleanNode($rootNode); $this->assertTrue($booleanNode->evaluate($this->renderingContext)); }