aboutsummaryrefslogtreecommitdiffstats
path: root/apps/theming
diff options
context:
space:
mode:
authorJulius Haertl <jus@bitgrid.net>2016-10-17 16:31:07 +0200
committerJulius Haertl <jus@bitgrid.net>2016-11-18 10:23:25 +0100
commit3a400f92d1936b2b752d813cbb27632d6acb9904 (patch)
tree3b9ab6f150ab8f54f457cb4eb0ec3a1e56a7049f /apps/theming
parentcc8b1d382910e13c0825e5a3fdb33276f65cf2bd (diff)
downloadnextcloud-server-3a400f92d1936b2b752d813cbb27632d6acb9904.tar.gz
nextcloud-server-3a400f92d1936b2b752d813cbb27632d6acb9904.zip
Replace null return with NotFoundException
Signed-off-by: Julius Haertl <jus@bitgrid.net>
Diffstat (limited to 'apps/theming')
-rw-r--r--apps/theming/lib/Controller/IconController.php18
-rw-r--r--apps/theming/lib/ImageManager.php9
-rw-r--r--apps/theming/tests/Controller/IconControllerTest.php7
-rw-r--r--apps/theming/tests/ImageManagerTest.php14
4 files changed, 27 insertions, 21 deletions
diff --git a/apps/theming/lib/Controller/IconController.php b/apps/theming/lib/Controller/IconController.php
index 887dba8a68a..08d5b50120f 100644
--- a/apps/theming/lib/Controller/IconController.php
+++ b/apps/theming/lib/Controller/IconController.php
@@ -30,6 +30,7 @@ use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataDisplayResponse;
use OCP\AppFramework\Http\FileDisplayResponse;
use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\Files\NotFoundException;
use OCP\IRequest;
use OCA\Theming\Util;
use OCP\IConfig;
@@ -89,8 +90,9 @@ class IconController extends Controller {
* @return FileDisplayResponse
*/
public function getThemedIcon($app, $image) {
- $iconFile = $this->imageManager->getCachedImage("icon-" . $app . '-' . str_replace("/","_",$image));
- if ($iconFile === null) {
+ try {
+ $iconFile = $this->imageManager->getCachedImage("icon-" . $app . '-' . str_replace("/","_",$image));
+ } catch (NotFoundException $exception) {
$icon = $this->iconBuilder->colorSvg($app, $image);
$iconFile = $this->imageManager->setCachedImage("icon-" . $app . '-' . str_replace("/","_",$image), $icon);
}
@@ -115,8 +117,9 @@ class IconController extends Controller {
*/
public function getFavicon($app = "core") {
if ($this->themingDefaults->shouldReplaceIcons()) {
- $iconFile = $this->imageManager->getCachedImage('favIcon-' . $app);
- if($iconFile === null) {
+ try {
+ $iconFile = $this->imageManager->getCachedImage('favIcon-' . $app);
+ } catch (NotFoundException $exception) {
$icon = $this->iconBuilder->getFavicon($app);
$iconFile = $this->imageManager->setCachedImage('favIcon-' . $app, $icon);
}
@@ -146,8 +149,9 @@ class IconController extends Controller {
*/
public function getTouchIcon($app = "core") {
if ($this->themingDefaults->shouldReplaceIcons()) {
- $iconFile = $this->imageManager->getCachedImage('touchIcon-' . $app);
- if ($iconFile === null) {
+ try {
+ $iconFile = $this->imageManager->getCachedImage('touchIcon-' . $app);
+ } catch (NotFoundException $exception) {
$icon = $this->iconBuilder->getTouchIcon($app);
$iconFile = $this->imageManager->setCachedImage('touchIcon-' . $app, $icon);
}
@@ -165,4 +169,4 @@ class IconController extends Controller {
}
return $response;
}
-} \ No newline at end of file
+}
diff --git a/apps/theming/lib/ImageManager.php b/apps/theming/lib/ImageManager.php
index 5e1b61e3a92..e7dcfa92190 100644
--- a/apps/theming/lib/ImageManager.php
+++ b/apps/theming/lib/ImageManager.php
@@ -71,15 +71,12 @@ class ImageManager {
* Get a file from AppData
*
* @param string $filename
- * @return null|\OCP\Files\SimpleFS\ISimpleFile
+ * @throws NotFoundException
+ * @return \OCP\Files\SimpleFS\ISimpleFile
*/
public function getCachedImage($filename) {
$currentFolder = $this->getCacheFolder();
- if($currentFolder->fileExists($filename)) {
- return $currentFolder->getFile($filename);
- } else {
- return null;
- }
+ return $currentFolder->getFile($filename);
}
/**
diff --git a/apps/theming/tests/Controller/IconControllerTest.php b/apps/theming/tests/Controller/IconControllerTest.php
index 98fa4f1a243..69bbfa0e45e 100644
--- a/apps/theming/tests/Controller/IconControllerTest.php
+++ b/apps/theming/tests/Controller/IconControllerTest.php
@@ -28,6 +28,7 @@ use OCA\Theming\ImageManager;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataDisplayResponse;
use OCP\Files\IRootFolder;
+use OCP\Files\NotFoundException;
use OCP\IConfig;
use OCP\IL10N;
use OCP\IRequest;
@@ -131,6 +132,9 @@ class IconControllerTest extends TestCase {
->willReturn('filecontent');
$file = $this->iconFileMock('filename', 'filecontent');
$this->imageManager->expects($this->once())
+ ->method('getCachedImage')
+ ->will($this->throwException(new NotFoundException()));
+ $this->imageManager->expects($this->once())
->method('setCachedImage')
->willReturn($file);
@@ -172,6 +176,9 @@ class IconControllerTest extends TestCase {
->willReturn('filecontent');
$file = $this->iconFileMock('filename', 'filecontent');
$this->imageManager->expects($this->once())
+ ->method('getCachedImage')
+ ->will($this->throwException(new NotFoundException()));
+ $this->imageManager->expects($this->once())
->method('setCachedImage')
->willReturn($file);
diff --git a/apps/theming/tests/ImageManagerTest.php b/apps/theming/tests/ImageManagerTest.php
index b52d557ab67..4df49633d80 100644
--- a/apps/theming/tests/ImageManagerTest.php
+++ b/apps/theming/tests/ImageManagerTest.php
@@ -86,10 +86,6 @@ class ImageManager extends TestCase {
public function testGetCachedImage() {
$folder = $this->setupCacheFolder();
$folder->expects($this->once())
- ->method('fileExists')
- ->with('filename')
- ->willReturn(true);
- $folder->expects($this->once())
->method('getFile')
->with('filename')
->willReturn('filecontent');
@@ -97,14 +93,16 @@ class ImageManager extends TestCase {
$this->assertEquals($expected, $this->imageManager->getCachedImage('filename'));
}
+ /**
+ * @expectedException \OCP\Files\NotFoundException
+ */
public function testGetCachedImageNotFound() {
$folder = $this->setupCacheFolder();
$folder->expects($this->once())
- ->method('fileExists')
+ ->method('getFile')
->with('filename')
- ->willReturn(false);
- $expected = null;
- $this->assertEquals($expected, $this->imageManager->getCachedImage('filename'));
+ ->will($this->throwException(new \OCP\Files\NotFoundException()));
+ $image = $this->imageManager->getCachedImage('filename');
}
public function testSetCachedImage() {