Browse Source

Replace null return with NotFoundException

Signed-off-by: Julius Haertl <jus@bitgrid.net>
tags/v11.0RC2
Julius Haertl 7 years ago
parent
commit
3a400f92d1
No account linked to committer's email address

+ 11
- 7
apps/theming/lib/Controller/IconController.php View File

@@ -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;
}
}
}

+ 3
- 6
apps/theming/lib/ImageManager.php View File

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

/**

+ 7
- 0
apps/theming/tests/Controller/IconControllerTest.php View File

@@ -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;
@@ -130,6 +131,9 @@ class IconControllerTest extends TestCase {
->with('core')
->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);
@@ -171,6 +175,9 @@ class IconControllerTest extends TestCase {
->with('core')
->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);

+ 6
- 8
apps/theming/tests/ImageManagerTest.php View File

@@ -85,10 +85,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')
@@ -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() {

Loading…
Cancel
Save