/** * __test */ public function renderDoesNotModifySourceIfItIsAnObjectThatCantBeConvertedToAString() { $user = new UserWithoutToString('Xaver <b>Cross-Site</b>'); $this->viewHelper->setArguments(array('value' => $user)); $actualResult = $this->viewHelper->initializeArgumentsAndRender(); $this->assertSame($user, $actualResult); }
/** * @param array $arguments * @param mixed $expected * @test * @dataProvider getRenderStaticTestValues */ public function testRenderStatic(array $arguments, $expected) { $this->viewHelper->setArguments($arguments); $result = call_user_func_array([$this->viewHelper, 'renderStatic'], [$arguments, function () { return ''; }, new RenderingContextFixture()]); $this->assertEquals($expected, $result); }
/** * @test */ public function standardTagAttributesAreRegistered() { $mockTagBuilder = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\TagBuilder', array('addAttribute'), array(), '', FALSE); $mockTagBuilder->expects($this->at(0))->method('addAttribute')->with('class', 'classAttribute'); $mockTagBuilder->expects($this->at(1))->method('addAttribute')->with('dir', 'dirAttribute'); $mockTagBuilder->expects($this->at(2))->method('addAttribute')->with('id', 'idAttribute'); $mockTagBuilder->expects($this->at(3))->method('addAttribute')->with('lang', 'langAttribute'); $mockTagBuilder->expects($this->at(4))->method('addAttribute')->with('style', 'styleAttribute'); $mockTagBuilder->expects($this->at(5))->method('addAttribute')->with('title', 'titleAttribute'); $mockTagBuilder->expects($this->at(6))->method('addAttribute')->with('accesskey', 'accesskeyAttribute'); $mockTagBuilder->expects($this->at(7))->method('addAttribute')->with('tabindex', 'tabindexAttribute'); $this->viewHelper->_set('tag', $mockTagBuilder); $arguments = array('class' => 'classAttribute', 'dir' => 'dirAttribute', 'id' => 'idAttribute', 'lang' => 'langAttribute', 'style' => 'styleAttribute', 'title' => 'titleAttribute', 'accesskey' => 'accesskeyAttribute', 'tabindex' => 'tabindexAttribute'); $this->viewHelper->_call('registerUniversalTagAttributes'); $this->viewHelper->setArguments($arguments); $this->viewHelper->initializeArguments(); $this->viewHelper->initialize(); }
/** * @test */ public function renderDoesNotModifySourceIfItIsAnObjectThatCantBeConvertedToAString() { $user = new UserWithoutToString('Xaver <b>Cross-Site</b>'); $this->viewHelper->expects($this->once())->method('buildRenderChildrenClosure')->willReturn(function () { throw new \Exception('rendderChildrenClosure was invoked but should not have been'); }); $this->viewHelper->setArguments(['value' => $user]); $actualResult = $this->viewHelper->render(); $this->assertSame($user, $actualResult); }
/** * @test */ public function buildTypolinkConfigurationConvertsDomainObjects() { $mockDomainObject1 = $this->getAccessibleMock(AbstractEntity::class, array('dummy')); $mockDomainObject1->_set('uid', '123'); $mockDomainObject2 = $this->getAccessibleMock(AbstractEntity::class, array('dummy')); $mockDomainObject2->_set('uid', '321'); $this->uriBuilder->setTargetPageUid(123); $this->uriBuilder->setArguments(array('someDomainObject' => $mockDomainObject1, 'baz' => array('someOtherDomainObject' => $mockDomainObject2))); $expectedConfiguration = array('parameter' => 123, 'useCacheHash' => 1, 'additionalParams' => '&someDomainObject=123&baz[someOtherDomainObject]=321'); $actualConfiguration = $this->uriBuilder->_call('buildTypolinkConfiguration'); $this->assertEquals($expectedConfiguration, $actualConfiguration); }
/** * @test */ public function viewHelperUsesSpecifiedAccountForCheck() { $mockAccount = $this->createMock(\Neos\Flow\Security\Account::class); $mockAccount->expects($this->any())->method('hasRole')->will($this->returnCallback(function (Role $role) { switch ($role->getIdentifier()) { case 'Neos.FluidAdaptor:Administrator': return true; } })); $this->mockViewHelper->expects($this->any())->method('renderThenChild')->will($this->returnValue('true')); $this->mockViewHelper->expects($this->any())->method('renderElseChild')->will($this->returnValue('false')); $arguments = ['role' => new Role('Neos.FluidAdaptor:Administrator'), 'packageKey' => null, 'account' => $mockAccount]; $this->mockViewHelper->setArguments($arguments); $actualResult = $this->mockViewHelper->render(); $this->assertEquals('true', $actualResult, 'Full role identifier in role argument is accepted'); }
/** * @test */ public function setArgumentsSetsArgumentsCorrectly() { $this->task->setArguments(array('Foo')); $this->assertSame(array('Foo'), $this->task->_get('arguments')); }