From d83c8e02718f5ae555e75d8582904611a4d6766a Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Sat, 8 Apr 2017 20:48:57 -0500 Subject: [PATCH] ThemingDefaults append cacheBusterCounter to logo URL by default Signed-off-by: Morris Jobke --- apps/theming/lib/ThemingDefaults.php | 15 ++++----------- apps/theming/tests/ThemingDefaultsTest.php | 18 ++++++++++++++---- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/apps/theming/lib/ThemingDefaults.php b/apps/theming/lib/ThemingDefaults.php index d4dc56d3ba..073410da2c 100644 --- a/apps/theming/lib/ThemingDefaults.php +++ b/apps/theming/lib/ThemingDefaults.php @@ -138,11 +138,13 @@ class ThemingDefaults extends \OC_Defaults { $logoExists = false; } + $cacheBusterCounter = $this->config->getAppValue('theming', 'cachebuster', '0'); + if(!$logo || !$logoExists) { - return $this->urlGenerator->imagePath('core','logo.svg'); + return $this->urlGenerator->imagePath('core','logo.svg') . '?v=' . $cacheBusterCounter; } - return $this->urlGenerator->linkToRoute('theming.Theming.getLogo'); + return $this->urlGenerator->linkToRoute('theming.Theming.getLogo') . '?v=' . $cacheBusterCounter; } /** @@ -190,15 +192,6 @@ class ThemingDefaults extends \OC_Defaults { return $value; } - /** - * Gets the current cache buster count - * - * @return string - */ - public function getCacheBusterCounter() { - return $this->config->getAppValue('theming', 'cachebuster', '0'); - } - /** * Increases the cache buster key */ diff --git a/apps/theming/tests/ThemingDefaultsTest.php b/apps/theming/tests/ThemingDefaultsTest.php index 986b2f3426..ad8f86f1c1 100644 --- a/apps/theming/tests/ThemingDefaultsTest.php +++ b/apps/theming/tests/ThemingDefaultsTest.php @@ -417,25 +417,35 @@ class ThemingDefaultsTest extends TestCase { public function testGetLogoDefault() { $this->config - ->expects($this->once()) + ->expects($this->at(0)) ->method('getAppValue') ->with('theming', 'logoMime') ->willReturn(''); + $this->config + ->expects($this->at(1)) + ->method('getAppValue') + ->with('theming', 'cachebuster', '0') + ->willReturn('0'); $this->appData ->expects($this->once()) ->method('getFolder') ->with('images') ->willThrowException(new \Exception()); - $expected = $this->urlGenerator->imagePath('core','logo.svg'); + $expected = $this->urlGenerator->imagePath('core','logo.svg') . '?v=0'; $this->assertEquals($expected, $this->template->getLogo()); } public function testGetLogoCustom() { $this->config - ->expects($this->once()) + ->expects($this->at(0)) ->method('getAppValue') ->with('theming', 'logoMime') ->willReturn('image/svg+xml'); + $this->config + ->expects($this->at(1)) + ->method('getAppValue') + ->with('theming', 'cachebuster', '0') + ->willReturn('0'); $simpleFolder = $this->createMock(ISimpleFolder::class); $this->appData ->expects($this->once()) @@ -447,7 +457,7 @@ class ThemingDefaultsTest extends TestCase { ->method('getFile') ->with('logo') ->willReturn(''); - $expected = $this->urlGenerator->linkToRoute('theming.Theming.getLogo'); + $expected = $this->urlGenerator->linkToRoute('theming.Theming.getLogo') . '?v=0'; $this->assertEquals($expected, $this->template->getLogo()); } }