Theming: Fix tests for favicon containing multiple sizes

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl 2017-09-23 11:35:45 +02:00
parent 31b9fc9eac
commit d70e9059a5
No known key found for this signature in database
GPG Key ID: 4C614C6ED2CDE6DF
2 changed files with 18 additions and 3 deletions

View File

@ -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");

View File

@ -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())