From 97f203c9800b3de7bbffc428073880eb16ffcde2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Uzna=C5=84ski?= <l.uznanski@macopedia.pl> Date: Sat, 17 Mar 2018 13:30:55 +0100 Subject: [PATCH] [TASK] Make BackendUserAuthenticationTest notice free Resolves: #84425 Releases: master Change-Id: I2bc6e04b96e1db7b9bf5ddbd03ad0c4fe30f4449 Reviewed-on: https://review.typo3.org/56296 Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl> Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Stefan Neufeind <typo3.neufeind@speedpartner.de> Tested-by: Stefan Neufeind <typo3.neufeind@speedpartner.de> Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch> Tested-by: Christian Kuhn <lolli@schwarzbu.ch> --- .../BackendUserAuthentication.php | 2 +- .../BackendUserAuthenticationTest.php | 47 +++++++++---------- 2 files changed, 23 insertions(+), 26 deletions(-) diff --git a/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php b/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php index 74cf4798d625..c153fc68f0be 100644 --- a/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php +++ b/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php @@ -1863,7 +1863,7 @@ class BackendUserAuthentication extends AbstractUserAuthentication if ($this->isAdmin()) { $filePermissions = array_map('is_bool', $filePermissions); } else { - $userGroupRecordPermissions = GeneralUtility::trimExplode(',', $this->groupData['file_permissions'], true); + $userGroupRecordPermissions = GeneralUtility::trimExplode(',', $this->groupData['file_permissions'] ?? '', true); array_walk( $userGroupRecordPermissions, function ($permission) use (&$filePermissions) { diff --git a/typo3/sysext/core/Tests/Unit/Authentication/BackendUserAuthenticationTest.php b/typo3/sysext/core/Tests/Unit/Authentication/BackendUserAuthenticationTest.php index 6f52979fb92f..a30290757ff3 100644 --- a/typo3/sysext/core/Tests/Unit/Authentication/BackendUserAuthenticationTest.php +++ b/typo3/sysext/core/Tests/Unit/Authentication/BackendUserAuthenticationTest.php @@ -1,4 +1,5 @@ <?php +declare(strict_types = 1); namespace TYPO3\CMS\Core\Tests\Unit\Authentication; /* @@ -22,6 +23,7 @@ use TYPO3\CMS\Core\Database\Connection; use TYPO3\CMS\Core\Database\ConnectionPool; use TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder; use TYPO3\CMS\Core\Database\Query\QueryBuilder; +use TYPO3\CMS\Core\FormProtection\BackendFormProtection; use TYPO3\CMS\Core\FormProtection\FormProtectionFactory; use TYPO3\CMS\Core\Resource\ResourceStorage; use TYPO3\CMS\Core\Tests\Unit\Database\Mocks\MockPlatform; @@ -34,11 +36,6 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase; */ class BackendUserAuthenticationTest extends UnitTestCase { - /** - * Subject is not notice free, disable E_NOTICES - */ - protected static $suppressNotices = true; - /** * @var array */ @@ -65,7 +62,7 @@ class BackendUserAuthenticationTest extends UnitTestCase /** * Tear down */ - protected function tearDown() + protected function tearDown(): void { FormProtectionFactory::purgeInstances(); parent::tearDown(); @@ -77,7 +74,7 @@ class BackendUserAuthenticationTest extends UnitTestCase /** * @test */ - public function logoffCleansFormProtectionIfBackendUserIsLoggedIn() + public function logoffCleansFormProtectionIfBackendUserIsLoggedIn(): void { /** @var ObjectProphecy|Connection $connection */ $connection = $this->prophesize(Connection::class); @@ -90,7 +87,7 @@ class BackendUserAuthenticationTest extends UnitTestCase GeneralUtility::addInstance(ConnectionPool::class, $connectionPool->reveal()); /** @var ObjectProphecy|\TYPO3\CMS\Core\FormProtection\AbstractFormProtection $formProtection */ - $formProtection = $this->prophesize(\TYPO3\CMS\Core\FormProtection\BackendFormProtection::class); + $formProtection = $this->prophesize(BackendFormProtection::class); $formProtection->clean()->shouldBeCalled(); FormProtectionFactory::set( @@ -115,7 +112,7 @@ class BackendUserAuthenticationTest extends UnitTestCase /** * @return array */ - public function getTSConfigDataProvider() + public function getTSConfigDataProvider(): array { $completeConfiguration = [ 'value' => 'oneValue', @@ -257,7 +254,7 @@ class BackendUserAuthenticationTest extends UnitTestCase * @dataProvider getTSConfigDataProvider * @test */ - public function getTSConfigReturnsCorrectArrayForGivenObjectString(array $completeConfiguration, $objectString, array $expectedConfiguration) + public function getTSConfigReturnsCorrectArrayForGivenObjectString(array $completeConfiguration, $objectString, array $expectedConfiguration): void { /** @var BackendUserAuthentication|\PHPUnit_Framework_MockObject_MockObject $subject */ $subject = $this->getMockBuilder(BackendUserAuthentication::class) @@ -274,7 +271,7 @@ class BackendUserAuthenticationTest extends UnitTestCase /** * @return array */ - public function getFilePermissionsTakesUserDefaultAndStoragePermissionsIntoAccountIfUserIsNotAdminDataProvider() + public function getFilePermissionsTakesUserDefaultAndStoragePermissionsIntoAccountIfUserIsNotAdminDataProvider(): array { return [ 'Only read permissions' => [ @@ -328,7 +325,7 @@ class BackendUserAuthenticationTest extends UnitTestCase * @test * @dataProvider getFilePermissionsTakesUserDefaultAndStoragePermissionsIntoAccountIfUserIsNotAdminDataProvider */ - public function getFilePermissionsTakesUserDefaultPermissionsFromTsConfigIntoAccountIfUserIsNotAdmin(array $userTsConfiguration) + public function getFilePermissionsTakesUserDefaultPermissionsFromTsConfigIntoAccountIfUserIsNotAdmin(array $userTsConfiguration): void { /** @var BackendUserAuthentication|\PHPUnit_Framework_MockObject_MockObject $subject */ $subject = $this->getMockBuilder(BackendUserAuthentication::class) @@ -363,7 +360,7 @@ class BackendUserAuthenticationTest extends UnitTestCase /** * @return array */ - public function getFilePermissionsFromStorageDataProvider() + public function getFilePermissionsFromStorageDataProvider(): array { $defaultPermissions = [ 'addFile' => true, @@ -467,7 +464,7 @@ class BackendUserAuthenticationTest extends UnitTestCase * @test * @dataProvider getFilePermissionsFromStorageDataProvider */ - public function getFilePermissionsFromStorageOverwritesDefaultPermissions(array $defaultPermissions, $storageUid, array $storagePermissions, array $expectedPermissions) + public function getFilePermissionsFromStorageOverwritesDefaultPermissions(array $defaultPermissions, $storageUid, array $storagePermissions, array $expectedPermissions): void { /** @var BackendUserAuthentication|\PHPUnit_Framework_MockObject_MockObject $subject */ $subject = $this->getMockBuilder(BackendUserAuthentication::class) @@ -506,7 +503,7 @@ class BackendUserAuthenticationTest extends UnitTestCase * @test * @dataProvider getFilePermissionsFromStorageDataProvider */ - public function getFilePermissionsFromStorageAlwaysReturnsDefaultPermissionsForAdmins(array $defaultPermissions, $storageUid, array $storagePermissions) + public function getFilePermissionsFromStorageAlwaysReturnsDefaultPermissionsForAdmins(array $defaultPermissions, $storageUid, array $storagePermissions): void { /** @var BackendUserAuthentication|\PHPUnit_Framework_MockObject_MockObject $subject */ $subject = $this->getMockBuilder(BackendUserAuthentication::class) @@ -541,7 +538,7 @@ class BackendUserAuthenticationTest extends UnitTestCase /** * @return array */ - public function getFilePermissionsTakesUserDefaultPermissionsFromRecordIntoAccountIfUserIsNotAdminDataProvider() + public function getFilePermissionsTakesUserDefaultPermissionsFromRecordIntoAccountIfUserIsNotAdminDataProvider(): array { return [ 'No permission' => [ @@ -655,7 +652,7 @@ class BackendUserAuthenticationTest extends UnitTestCase * * @dataProvider getFilePermissionsTakesUserDefaultPermissionsFromRecordIntoAccountIfUserIsNotAdminDataProvider */ - public function getFilePermissionsTakesUserDefaultPermissionsFromRecordIntoAccountIfUserIsNotAdmin(string $permissionValue, array $expectedPermissions) + public function getFilePermissionsTakesUserDefaultPermissionsFromRecordIntoAccountIfUserIsNotAdmin(string $permissionValue, array $expectedPermissions): void { /** @var BackendUserAuthentication|\PHPUnit_Framework_MockObject_MockObject $subject */ $subject = $this->getMockBuilder(BackendUserAuthentication::class) @@ -675,7 +672,7 @@ class BackendUserAuthenticationTest extends UnitTestCase /** * @test */ - public function getFilePermissionsGrantsAllPermissionsToAdminUsers() + public function getFilePermissionsGrantsAllPermissionsToAdminUsers(): void { /** @var BackendUserAuthentication|\PHPUnit_Framework_MockObject_MockObject $subject */ $subject = $this->getMockBuilder(BackendUserAuthentication::class) @@ -711,7 +708,7 @@ class BackendUserAuthenticationTest extends UnitTestCase /** * @test */ - public function jsConfirmationReturnsTrueIfPassedValueEqualsConfiguration() + public function jsConfirmationReturnsTrueIfPassedValueEqualsConfiguration(): void { /** @var BackendUserAuthentication|\PHPUnit_Framework_MockObject_MockObject $subject */ $subject = $this->getMockBuilder(BackendUserAuthentication::class) @@ -726,7 +723,7 @@ class BackendUserAuthenticationTest extends UnitTestCase /** * @test */ - public function jsConfirmationAllowsSettingMultipleBitsInValue() + public function jsConfirmationAllowsSettingMultipleBitsInValue(): void { /** @var BackendUserAuthentication|\PHPUnit_Framework_MockObject_MockObject $subject */ $subject = $this->getMockBuilder(BackendUserAuthentication::class) @@ -749,7 +746,7 @@ class BackendUserAuthenticationTest extends UnitTestCase * @param int $feEditAllowed * @param int $otherAllowed */ - public function jsConfirmationAllowsUnsettingBitsInValue($jsConfirmation, $typeChangeAllowed, $copyMovePasteAllowed, $deleteAllowed, $feEditAllowed, $otherAllowed) + public function jsConfirmationAllowsUnsettingBitsInValue($jsConfirmation, $typeChangeAllowed, $copyMovePasteAllowed, $deleteAllowed, $feEditAllowed, $otherAllowed): void { $subject = $this->getMockBuilder(BackendUserAuthentication::class) ->setMethods(['getTSConfig']) @@ -766,7 +763,7 @@ class BackendUserAuthenticationTest extends UnitTestCase /** * @return array */ - public function jsConfirmationsWithUnsetBits() + public function jsConfirmationsWithUnsetBits(): array { return [ 'All except "type change" and "copy/move/paste"' => [ @@ -791,7 +788,7 @@ class BackendUserAuthenticationTest extends UnitTestCase /** * @test */ - public function jsConfirmationAlwaysReturnsFalseIfNoConfirmationIsSet() + public function jsConfirmationAlwaysReturnsFalseIfNoConfirmationIsSet(): void { /** @var BackendUserAuthentication|\PHPUnit_Framework_MockObject_MockObject $subject */ $subject = $this->getMockBuilder(BackendUserAuthentication::class) @@ -806,7 +803,7 @@ class BackendUserAuthenticationTest extends UnitTestCase /** * @test */ - public function jsConfirmationReturnsTrueIfConfigurationIsMissing() + public function jsConfirmationReturnsTrueIfConfigurationIsMissing(): void { /** @var BackendUserAuthentication|\PHPUnit_Framework_MockObject_MockObject $subject */ $subject = $this->getMockBuilder(BackendUserAuthentication::class) @@ -867,7 +864,7 @@ class BackendUserAuthenticationTest extends UnitTestCase * @param string $groups * @param string $expected */ - public function getPagePermissionsClauseWithValidUser(int $perms, bool $admin, string $groups, string $expected) + public function getPagePermissionsClauseWithValidUser(int $perms, bool $admin, string $groups, string $expected): void { // We only need to setup the mocking for the non-admin cases // If this setup is done for admin cases the FIFO behavior -- GitLab