From d70e9059a5d08c1606d716e0c1b0e0662733b5cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Sat, 23 Sep 2017 11:35:45 +0200 Subject: [PATCH] Theming: Fix tests for favicon containing multiple sizes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- apps/theming/lib/IconBuilder.php | 3 +++ apps/theming/tests/IconBuilderTest.php | 18 +++++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/apps/theming/lib/IconBuilder.php b/apps/theming/lib/IconBuilder.php index 9669768737..ad44dd7ed6 100644 --- a/apps/theming/lib/IconBuilder.php +++ b/apps/theming/lib/IconBuilder.php @@ -55,6 +55,9 @@ class IconBuilder { * @return string|false image blob */ public function getFavicon($app) { + if (!$this->themingDefaults->shouldReplaceIcons()) { + return false; + } try { $favicon = new Imagick(); $favicon->setFormat("ico"); diff --git a/apps/theming/tests/IconBuilderTest.php b/apps/theming/tests/IconBuilderTest.php index b301fa0620..4f5078d4c5 100644 --- a/apps/theming/tests/IconBuilderTest.php +++ b/apps/theming/tests/IconBuilderTest.php @@ -149,17 +149,23 @@ class IconBuilderTest extends TestCase { */ public function testGetFavicon($app, $color, $file) { $this->checkImagick(); + $this->themingDefaults->expects($this->once()) + ->method('shouldReplaceIcons') + ->willReturn(true); $this->themingDefaults->expects($this->once()) ->method('getColorPrimary') ->willReturn($color); $expectedIcon = new \Imagick(realpath(dirname(__FILE__)). "/data/" . $file); + $actualIcon = $this->iconBuilder->getFavicon($app); + $icon = new \Imagick(); - $icon->readImageBlob($this->iconBuilder->getFavicon($app)); + $icon->setFormat('ico'); + $icon->readImageBlob($actualIcon); $this->assertEquals(true, $icon->valid()); - $this->assertEquals(32, $icon->getImageWidth()); - $this->assertEquals(32, $icon->getImageHeight()); + $this->assertEquals(128, $icon->getImageWidth()); + $this->assertEquals(128, $icon->getImageHeight()); $icon->destroy(); $expectedIcon->destroy(); // FIXME: We may need some comparison of the generated and the test images @@ -170,8 +176,12 @@ class IconBuilderTest extends TestCase { * @expectedException \PHPUnit_Framework_Error_Warning */ public function testGetFaviconNotFound() { + $this->checkImagick(); $util = $this->getMockBuilder(Util::class)->disableOriginalConstructor()->getMock(); $iconBuilder = new IconBuilder($this->themingDefaults, $util); + $this->themingDefaults->expects($this->once()) + ->method('shouldReplaceIcons') + ->willReturn(true); $util->expects($this->once()) ->method('getAppIcon') ->willReturn('notexistingfile'); @@ -182,6 +192,7 @@ class IconBuilderTest extends TestCase { * @expectedException \PHPUnit_Framework_Error_Warning */ public function testGetTouchIconNotFound() { + $this->checkImagick(); $util = $this->getMockBuilder(Util::class)->disableOriginalConstructor()->getMock(); $iconBuilder = new IconBuilder($this->themingDefaults, $util); $util->expects($this->once()) @@ -194,6 +205,7 @@ class IconBuilderTest extends TestCase { * @expectedException \PHPUnit_Framework_Error_Warning */ public function testColorSvgNotFound() { + $this->checkImagick(); $util = $this->getMockBuilder(Util::class)->disableOriginalConstructor()->getMock(); $iconBuilder = new IconBuilder($this->themingDefaults, $util); $util->expects($this->once())