diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/Be/Security/IfAuthenticatedViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/Be/Security/IfAuthenticatedViewHelper.php index b63c2a885a70..01bba6df6155 100644 --- a/typo3/sysext/fluid/Classes/ViewHelpers/Be/Security/IfAuthenticatedViewHelper.php +++ b/typo3/sysext/fluid/Classes/ViewHelpers/Be/Security/IfAuthenticatedViewHelper.php @@ -59,15 +59,4 @@ protected static function evaluateCondition($arguments = null) { return isset($GLOBALS['BE_USER']) && $GLOBALS['BE_USER']->user['uid'] > 0; } - - /** - * @return mixed - */ - public function render() - { - if (static::evaluateCondition($this->arguments)) { - return $this->renderThenChild(); - } - return $this->renderElseChild(); - } } diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/Be/Security/IfHasRoleViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/Be/Security/IfHasRoleViewHelper.php index 3cf67851d9f6..f03b62542e3e 100644 --- a/typo3/sysext/fluid/Classes/ViewHelpers/Be/Security/IfHasRoleViewHelper.php +++ b/typo3/sysext/fluid/Classes/ViewHelpers/Be/Security/IfHasRoleViewHelper.php @@ -95,15 +95,4 @@ protected static function evaluateCondition($arguments = null) } return false; } - - /** - * @return mixed - */ - public function render() - { - if (static::evaluateCondition($this->arguments)) { - return $this->renderThenChild(); - } - return $this->renderElseChild(); - } } diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/Security/IfAuthenticatedViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/Security/IfAuthenticatedViewHelper.php index 8268ab739896..8f3b70a8e622 100644 --- a/typo3/sysext/fluid/Classes/ViewHelpers/Security/IfAuthenticatedViewHelper.php +++ b/typo3/sysext/fluid/Classes/ViewHelpers/Security/IfAuthenticatedViewHelper.php @@ -59,15 +59,4 @@ protected static function evaluateCondition($arguments = null) { return isset($GLOBALS['TSFE']) && $GLOBALS['TSFE']->loginUser; } - - /** - * @return mixed - */ - public function render() - { - if (static::evaluateCondition($this->arguments)) { - return $this->renderThenChild(); - } - return $this->renderElseChild(); - } } diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/Security/IfHasRoleViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/Security/IfHasRoleViewHelper.php index b9f61e3aa59b..704702bb3171 100644 --- a/typo3/sysext/fluid/Classes/ViewHelpers/Security/IfHasRoleViewHelper.php +++ b/typo3/sysext/fluid/Classes/ViewHelpers/Security/IfHasRoleViewHelper.php @@ -85,15 +85,4 @@ protected static function evaluateCondition($arguments = null) } return is_array($GLOBALS['TSFE']->fe_user->groupData['title']) && in_array($role, $GLOBALS['TSFE']->fe_user->groupData['title']); } - - /** - * @return mixed - */ - public function render() - { - if (static::evaluateCondition($this->arguments)) { - return $this->renderThenChild(); - } - return $this->renderElseChild(); - } } diff --git a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Be/Security/IfAuthenticatedViewHelperTest.php b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Be/Security/IfAuthenticatedViewHelperTest.php index 2587a6901546..89cafbd8ba51 100644 --- a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Be/Security/IfAuthenticatedViewHelperTest.php +++ b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Be/Security/IfAuthenticatedViewHelperTest.php @@ -17,6 +17,7 @@ use TYPO3\CMS\Fluid\ViewHelpers\Be\Security\IfAuthenticatedViewHelper; use TYPO3\TestingFramework\Fluid\Unit\ViewHelpers\ViewHelperBaseTestcase; +use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; /** * Testcase for be.security.ifAuthenticated view helper @@ -32,20 +33,30 @@ protected function setUp() { parent::setUp(); $GLOBALS['BE_USER'] = new \stdClass(); - $this->viewHelper = $this->getAccessibleMock(IfAuthenticatedViewHelper::class, ['renderThenChild', 'renderElseChild']); - $this->viewHelper->expects($this->any())->method('renderThenChild')->will($this->returnValue('then child')); - $this->viewHelper->expects($this->any())->method('renderElseChild')->will($this->returnValue('else child')); + $this->viewHelper = new IfAuthenticatedViewHelper(); $this->injectDependenciesIntoViewHelper($this->viewHelper); $this->viewHelper->initializeArguments(); } + protected function tearDown() + { + unset($GLOBALS['BE_USER']); + } + /** * @test */ public function viewHelperRendersThenChildIfBeUserIsLoggedIn() { $GLOBALS['BE_USER']->user = ['uid' => 1]; - $actualResult = $this->viewHelper->render(); + + $actualResult = $this->viewHelper->renderStatic( + ['then' => 'then child', 'else' => 'else child'], + function () { + }, + $this->prophesize(RenderingContextInterface::class)->reveal() + ); + $this->assertEquals('then child', $actualResult); } @@ -55,7 +66,14 @@ public function viewHelperRendersThenChildIfBeUserIsLoggedIn() public function viewHelperRendersElseChildIfBeUserIsNotLoggedIn() { $GLOBALS['BE_USER']->user = ['uid' => 0]; - $actualResult = $this->viewHelper->render(); + + $actualResult = $this->viewHelper->renderStatic( + ['then' => 'then child', 'else' => 'else child'], + function () { + }, + $this->prophesize(RenderingContextInterface::class)->reveal() + ); + $this->assertEquals('else child', $actualResult); } } diff --git a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Be/Security/IfHasRoleViewHelperTest.php b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Be/Security/IfHasRoleViewHelperTest.php index 13e668ba35b2..20f33182c7ce 100644 --- a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Be/Security/IfHasRoleViewHelperTest.php +++ b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Be/Security/IfHasRoleViewHelperTest.php @@ -14,7 +14,9 @@ * The TYPO3 project - inspiring people to share! */ +use TYPO3\CMS\Fluid\ViewHelpers\Be\Security\IfHasRoleViewHelper; use TYPO3\TestingFramework\Fluid\Unit\ViewHelpers\ViewHelperBaseTestcase; +use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; /** * Testcase for be.security.ifHasRole view helper @@ -40,22 +42,28 @@ protected function setUp() 'title' => 'OtherRole' ] ]; - $this->viewHelper = $this->getAccessibleMock(\TYPO3\CMS\Fluid\ViewHelpers\Be\Security\IfHasRoleViewHelper::class, ['renderThenChild', 'renderElseChild']); - $this->viewHelper->expects($this->any())->method('renderThenChild')->will($this->returnValue('then child')); - $this->viewHelper->expects($this->any())->method('renderElseChild')->will($this->returnValue('else child')); + $this->viewHelper = new IfHasRoleViewHelper(); $this->injectDependenciesIntoViewHelper($this->viewHelper); $this->viewHelper->initializeArguments(); } + protected function tearDown() + { + unset($GLOBALS['BE_USER']); + } + /** * @test */ public function viewHelperRendersThenChildIfBeUserWithSpecifiedRoleIsLoggedIn() { - $this->arguments['role'] = 'Editor'; - $this->injectDependenciesIntoViewHelper($this->viewHelper); + $actualResult = $this->viewHelper->renderStatic( + ['role' => 'Editor', 'then' => 'then child', 'else' => 'else child'], + function () { + }, + $this->prophesize(RenderingContextInterface::class)->reveal() + ); - $actualResult = $this->viewHelper->render('Editor'); $this->assertEquals('then child', $actualResult); } @@ -64,10 +72,13 @@ public function viewHelperRendersThenChildIfBeUserWithSpecifiedRoleIsLoggedIn() */ public function viewHelperRendersThenChildIfBeUserWithSpecifiedRoleIdIsLoggedIn() { - $this->arguments['role'] = 1; - $this->injectDependenciesIntoViewHelper($this->viewHelper); + $actualResult = $this->viewHelper->renderStatic( + ['role' => 1, 'then' => 'then child', 'else' => 'else child'], + function () { + }, + $this->prophesize(RenderingContextInterface::class)->reveal() + ); - $actualResult = $this->viewHelper->render(1); $this->assertEquals('then child', $actualResult); } @@ -76,10 +87,13 @@ public function viewHelperRendersThenChildIfBeUserWithSpecifiedRoleIdIsLoggedIn( */ public function viewHelperRendersElseChildIfBeUserWithSpecifiedRoleIsNotLoggedIn() { - $this->arguments['role'] = 'editor'; - $this->injectDependenciesIntoViewHelper($this->viewHelper); + $actualResult = $this->viewHelper->renderStatic( + ['role' => 'NonExistingRole', 'then' => 'then child', 'else' => 'else child'], + function () { + }, + $this->prophesize(RenderingContextInterface::class)->reveal() + ); - $actualResult = $this->viewHelper->render('editor'); $this->assertEquals('else child', $actualResult); } @@ -88,10 +102,13 @@ public function viewHelperRendersElseChildIfBeUserWithSpecifiedRoleIsNotLoggedIn */ public function viewHelperRendersElseChildIfBeUserWithSpecifiedRoleIdIsNotLoggedIn() { - $this->arguments['role'] = 123; - $this->injectDependenciesIntoViewHelper($this->viewHelper); + $actualResult = $this->viewHelper->renderStatic( + ['role' => 123, 'then' => 'then child', 'else' => 'else child'], + function () { + }, + $this->prophesize(RenderingContextInterface::class)->reveal() + ); - $actualResult = $this->viewHelper->render(123); $this->assertEquals('else child', $actualResult); } } diff --git a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Security/IfAuthenticatedViewHelperTest.php b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Security/IfAuthenticatedViewHelperTest.php index 8d2c46fe0df6..16b87fc43aa8 100644 --- a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Security/IfAuthenticatedViewHelperTest.php +++ b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Security/IfAuthenticatedViewHelperTest.php @@ -14,7 +14,9 @@ * The TYPO3 project - inspiring people to share! */ +use TYPO3\CMS\Fluid\ViewHelpers\Security\IfAuthenticatedViewHelper; use TYPO3\TestingFramework\Fluid\Unit\ViewHelpers\ViewHelperBaseTestcase; +use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; /** * Testcase for security.ifAuthenticated view helper @@ -30,20 +32,30 @@ protected function setUp() { parent::setUp(); $GLOBALS['TSFE'] = new \stdClass(); - $this->viewHelper = $this->getAccessibleMock(\TYPO3\CMS\Fluid\ViewHelpers\Security\IfAuthenticatedViewHelper::class, ['renderThenChild', 'renderElseChild']); - $this->viewHelper->expects($this->any())->method('renderThenChild')->will($this->returnValue('then child')); - $this->viewHelper->expects($this->any())->method('renderElseChild')->will($this->returnValue('else child')); + $this->viewHelper = new IfAuthenticatedViewHelper(); $this->injectDependenciesIntoViewHelper($this->viewHelper); $this->viewHelper->initializeArguments(); } + protected function tearDown() + { + unset($GLOBALS['TSFE']); + } + /** * @test */ public function viewHelperRendersThenChildIfFeUserIsLoggedIn() { $GLOBALS['TSFE']->loginUser = 1; - $actualResult = $this->viewHelper->render(); + + $actualResult = $this->viewHelper->renderStatic( + ['then' => 'then child', 'else' => 'else child'], + function () { + }, + $this->prophesize(RenderingContextInterface::class)->reveal() + ); + $this->assertEquals('then child', $actualResult); } @@ -53,7 +65,14 @@ public function viewHelperRendersThenChildIfFeUserIsLoggedIn() public function viewHelperRendersElseChildIfFeUserIsNotLoggedIn() { $GLOBALS['TSFE']->loginUser = 0; - $actualResult = $this->viewHelper->render(); + + $actualResult = $this->viewHelper->renderStatic( + ['then' => 'then child', 'else' => 'else child'], + function () { + }, + $this->prophesize(RenderingContextInterface::class)->reveal() + ); + $this->assertEquals('else child', $actualResult); } } diff --git a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Security/IfHasRoleViewHelperTest.php b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Security/IfHasRoleViewHelperTest.php index 8d214d6a73f5..3b95df95ff76 100644 --- a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Security/IfHasRoleViewHelperTest.php +++ b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Security/IfHasRoleViewHelperTest.php @@ -14,7 +14,9 @@ * The TYPO3 project - inspiring people to share! */ +use TYPO3\CMS\Fluid\ViewHelpers\Security\IfHasRoleViewHelper; use TYPO3\TestingFramework\Fluid\Unit\ViewHelpers\ViewHelperBaseTestcase; +use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; /** * Testcase for security.ifHasRole view helper @@ -36,22 +38,28 @@ protected function setUp() 'uid' => [1, 2], 'title' => ['Editor', 'OtherRole'] ]; - $this->viewHelper = $this->getAccessibleMock(\TYPO3\CMS\Fluid\ViewHelpers\Security\IfHasRoleViewHelper::class, ['renderThenChild', 'renderElseChild']); - $this->viewHelper->expects($this->any())->method('renderThenChild')->will($this->returnValue('then child')); - $this->viewHelper->expects($this->any())->method('renderElseChild')->will($this->returnValue('else child')); + $this->viewHelper = new IfHasRoleViewHelper(); $this->injectDependenciesIntoViewHelper($this->viewHelper); $this->viewHelper->initializeArguments(); } + protected function tearDown() + { + unset($GLOBALS['TSFE']); + } + /** * @test */ public function viewHelperRendersThenChildIfFeUserWithSpecifiedRoleIsLoggedIn() { - $this->arguments['role'] = 'Editor'; - $this->injectDependenciesIntoViewHelper($this->viewHelper); + $actualResult = $this->viewHelper->renderStatic( + ['role' => 'Editor', 'then' => 'then child', 'else' => 'else child'], + function () { + }, + $this->prophesize(RenderingContextInterface::class)->reveal() + ); - $actualResult = $this->viewHelper->render('Editor'); $this->assertEquals('then child', $actualResult); } @@ -60,10 +68,13 @@ public function viewHelperRendersThenChildIfFeUserWithSpecifiedRoleIsLoggedIn() */ public function viewHelperRendersThenChildIfFeUserWithSpecifiedRoleIdIsLoggedIn() { - $this->arguments['role'] = 1; - $this->injectDependenciesIntoViewHelper($this->viewHelper); + $actualResult = $this->viewHelper->renderStatic( + ['role' => 1, 'then' => 'then child', 'else' => 'else child'], + function () { + }, + $this->prophesize(RenderingContextInterface::class)->reveal() + ); - $actualResult = $this->viewHelper->render(1); $this->assertEquals('then child', $actualResult); } @@ -72,10 +83,13 @@ public function viewHelperRendersThenChildIfFeUserWithSpecifiedRoleIdIsLoggedIn( */ public function viewHelperRendersElseChildIfFeUserWithSpecifiedRoleIsNotLoggedIn() { - $this->arguments['role'] = 'NonExistingRole'; - $this->injectDependenciesIntoViewHelper($this->viewHelper); + $actualResult = $this->viewHelper->renderStatic( + ['role' => 'NonExistingRole', 'then' => 'then child', 'else' => 'else child'], + function () { + }, + $this->prophesize(RenderingContextInterface::class)->reveal() + ); - $actualResult = $this->viewHelper->render('NonExistingRole'); $this->assertEquals('else child', $actualResult); } @@ -84,10 +98,13 @@ public function viewHelperRendersElseChildIfFeUserWithSpecifiedRoleIsNotLoggedIn */ public function viewHelperRendersElseChildIfFeUserWithSpecifiedRoleIdIsNotLoggedIn() { - $this->arguments['role'] = 123; - $this->injectDependenciesIntoViewHelper($this->viewHelper); + $actualResult = $this->viewHelper->renderStatic( + ['role' => 123, 'then' => 'then child', 'else' => 'else child'], + function () { + }, + $this->prophesize(RenderingContextInterface::class)->reveal() + ); - $actualResult = $this->viewHelper->render(123); $this->assertEquals('else child', $actualResult); } }