From 8f016488a3d25c4415ff06cfe187e45ec8e6a2dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Parafi=C5=84ski?= Date: Mon, 12 Feb 2024 12:32:17 +0100 Subject: [PATCH] IBX-7364: Ensured independent property assignment in setPreviewActive (#323) For more details see https://issues.ibexa.co/browse/IBX-7364 and https://github.com/ibexa/core/pull/323 Key changes: * Ensured independent property assignment in setPreviewActive method by using clone --- src/lib/Helper/ContentPreviewHelper.php | 1 + tests/lib/Helper/ContentPreviewHelperTest.php | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/src/lib/Helper/ContentPreviewHelper.php b/src/lib/Helper/ContentPreviewHelper.php index e381d2ad72..ae32cedc11 100644 --- a/src/lib/Helper/ContentPreviewHelper.php +++ b/src/lib/Helper/ContentPreviewHelper.php @@ -98,6 +98,7 @@ public function isPreviewActive() public function setPreviewActive($previewActive) { $this->previewActive = (bool)$previewActive; + $this->originalSiteAccess = clone $this->originalSiteAccess; } /** diff --git a/tests/lib/Helper/ContentPreviewHelperTest.php b/tests/lib/Helper/ContentPreviewHelperTest.php index 8a4ea1a5e7..c177ece44e 100644 --- a/tests/lib/Helper/ContentPreviewHelperTest.php +++ b/tests/lib/Helper/ContentPreviewHelperTest.php @@ -78,11 +78,16 @@ public function testRestoreConfigScope() public function testPreviewActive() { + $originalSiteAccess = new SiteAccess('foo', 'bar'); + $this->previewHelper->setSiteAccess($originalSiteAccess); + $this->assertFalse($this->previewHelper->isPreviewActive()); $this->previewHelper->setPreviewActive(true); $this->assertTrue($this->previewHelper->isPreviewActive()); $this->previewHelper->setPreviewActive(false); $this->assertFalse($this->previewHelper->isPreviewActive()); + + self::assertNotSame($originalSiteAccess, $this->previewHelper->getOriginalSiteAccess()); } public function testPreviewedContent()