From b6cbade9324e1761b0206559f7d7efe2812c23be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20B=C3=BCrk?= <stefan@buerk.tech> Date: Sat, 9 Oct 2021 14:49:26 +0200 Subject: [PATCH] [BUGFIX] PHP8.0 warning from ext:recycler tests Initializing LanguageService in $GLOBALS['LANG'] with Bootstrap::initalizeLanguageObject() needs a proper setup $GLOBALS['BE_USER']. The patch moves Bootstrap::initialzeLanguageObject() from abstract testcase to the corresponding setUp() methods user and admin recycler tests after the corresponding backend user is set up. Furthermore some assertions are fine tuned to prevent array access warnings in tests. Resolves: #95549 Releases: master Change-Id: I3a9fed0a6f83e9481b169fb4a476ba2e2235e483 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/71519 Tested-by: Nikita Hovratov <nikita.h@live.de> Tested-by: core-ci <typo3@b13.com> Tested-by: Jochen <rothjochen@gmail.com> Tested-by: Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by: Nikita Hovratov <nikita.h@live.de> Reviewed-by: Jochen <rothjochen@gmail.com> Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch> --- .../Functional/Recycle/AbstractRecycleTestCase.php | 2 -- .../Functional/Recycle/Pages/AdminRecycleTest.php | 10 ++++++++-- .../Tests/Functional/Recycle/Pages/UserRecycleTest.php | 10 ++++++++-- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/typo3/sysext/recycler/Tests/Functional/Recycle/AbstractRecycleTestCase.php b/typo3/sysext/recycler/Tests/Functional/Recycle/AbstractRecycleTestCase.php index 5d0927d3baad..202156cf652f 100644 --- a/typo3/sysext/recycler/Tests/Functional/Recycle/AbstractRecycleTestCase.php +++ b/typo3/sysext/recycler/Tests/Functional/Recycle/AbstractRecycleTestCase.php @@ -17,7 +17,6 @@ declare(strict_types=1); namespace TYPO3\CMS\Recycler\Tests\Functional\Recycle; -use TYPO3\CMS\Core\Core\Bootstrap; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Recycler\Domain\Model\DeletedRecords; use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase; @@ -47,7 +46,6 @@ abstract class AbstractRecycleTestCase extends FunctionalTestCase { parent::setUp(); $this->importDataSet(__DIR__ . '/../Fixtures/Database/be_groups.xml'); - Bootstrap::initializeLanguageObject(); } /** diff --git a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/AdminRecycleTest.php b/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/AdminRecycleTest.php index d1f57d8e59f0..aec524ace5e2 100644 --- a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/AdminRecycleTest.php +++ b/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/AdminRecycleTest.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Recycler\Tests\Functional\Recycle\Pages; +use TYPO3\CMS\Core\Core\Bootstrap; use TYPO3\CMS\Recycler\Tests\Functional\Recycle\AbstractRecycleTestCase; /** @@ -40,6 +41,7 @@ class AdminRecycleTest extends AbstractRecycleTestCase $this->importDataSet(__DIR__ . '/../../Fixtures/Database/pages.xml'); // Set up "admin" user $this->setUpBackendUserFromFixture(1); + Bootstrap::initializeLanguageObject(); } /** @@ -52,7 +54,9 @@ class AdminRecycleTest extends AbstractRecycleTestCase self::assertCount(1, $deletedPages); self::assertArrayHasKey('pages', $deletedPages); self::assertCount(3, $deletedPages['pages']); - self::assertSame($assertData[0]['uid'], $deletedPages[0]['uid']); + self::assertTrue(0 < (int)($assertData['pages'][0]['uid'] ?? 0)); + self::assertTrue(0 < (int)($deletedPages['pages'][0]['uid'] ?? 0)); + self::assertSame((int)$assertData['pages'][0]['uid'], (int)$deletedPages['pages'][0]['uid']); } /** @@ -65,6 +69,8 @@ class AdminRecycleTest extends AbstractRecycleTestCase self::assertCount(1, $deletedPages); self::assertArrayHasKey('pages', $deletedPages); self::assertCount(4, $deletedPages['pages']); - self::assertSame($assertData[0]['uid'], $deletedPages[0]['uid']); + self::assertTrue(0 < (int)($assertData['pages'][0]['uid'] ?? 0)); + self::assertTrue(0 < (int)($deletedPages['pages'][0]['uid'] ?? 0)); + self::assertSame((int)$assertData['pages'][0]['uid'], (int)$deletedPages['pages'][0]['uid']); } } diff --git a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/UserRecycleTest.php b/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/UserRecycleTest.php index 0095db576e3c..58ec1390f53b 100644 --- a/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/UserRecycleTest.php +++ b/typo3/sysext/recycler/Tests/Functional/Recycle/Pages/UserRecycleTest.php @@ -17,6 +17,7 @@ declare(strict_types=1); namespace TYPO3\CMS\Recycler\Tests\Functional\Recycle\Pages; +use TYPO3\CMS\Core\Core\Bootstrap; use TYPO3\CMS\Recycler\Tests\Functional\Recycle\AbstractRecycleTestCase; /** @@ -40,6 +41,7 @@ class UserRecycleTest extends AbstractRecycleTestCase $this->importDataSet(__DIR__ . '/../../Fixtures/Database/pages.xml'); // Set up "editor" user $this->setUpBackendUserFromFixture(2); + Bootstrap::initializeLanguageObject(); } /** @@ -52,7 +54,9 @@ class UserRecycleTest extends AbstractRecycleTestCase self::assertCount(1, $deletedPages); self::assertArrayHasKey('pages', $deletedPages); self::assertCount(2, $deletedPages['pages']); - self::assertSame($assertData[0]['uid'], $deletedPages[0]['uid']); + self::assertTrue(0 < (int)($assertData['pages'][0]['uid'] ?? 0)); + self::assertTrue(0 < (int)($deletedPages['pages'][0]['uid'] ?? 0)); + self::assertSame((int)$assertData['pages'][0]['uid'], (int)$deletedPages['pages'][0]['uid']); } /** @@ -65,7 +69,9 @@ class UserRecycleTest extends AbstractRecycleTestCase self::assertCount(1, $deletedPages); self::assertArrayHasKey('pages', $deletedPages); self::assertCount(3, $deletedPages['pages']); - self::assertSame($assertData[0]['uid'], $deletedPages[0]['uid']); + self::assertTrue(0 < (int)($assertData['pages'][0]['uid'] ?? 0)); + self::assertTrue(0 < (int)($deletedPages['pages'][0]['uid'] ?? 0)); + self::assertSame((int)$assertData['pages'][0]['uid'], (int)$deletedPages['pages'][0]['uid']); } /** -- GitLab