diff options
author | Julius Härtl <jus@bitgrid.net> | 2018-02-03 12:41:21 +0100 |
---|---|---|
committer | Julius Härtl <jus@bitgrid.net> | 2018-02-03 15:21:51 +0100 |
commit | b87e5a0f2e158d7aad91ba8e58b246e3666f6cbf (patch) | |
tree | d3c06a29ae403ad2fc042c848931f32af77b8b16 | |
parent | 5460166ff5440e9750870470afbd861c65b2b41e (diff) | |
download | nextcloud-server-b87e5a0f2e158d7aad91ba8e58b246e3666f6cbf.tar.gz nextcloud-server-b87e5a0f2e158d7aad91ba8e58b246e3666f6cbf.zip |
Move depsCache clearing to SCSSCacher/JSCombiner
Signed-off-by: Julius Härtl <jus@bitgrid.net>
-rw-r--r-- | lib/private/Repair/ClearFrontendCaches.php | 10 | ||||
-rw-r--r-- | lib/private/Template/JSCombiner.php | 4 | ||||
-rw-r--r-- | lib/private/Template/SCSSCacher.php | 4 | ||||
-rw-r--r-- | tests/lib/Repair/ClearFrontendCachesTest.php | 16 | ||||
-rw-r--r-- | tests/lib/Template/JSCombinerTest.php | 21 | ||||
-rw-r--r-- | tests/lib/Template/SCSSCacherTest.php | 21 |
6 files changed, 45 insertions, 31 deletions
diff --git a/lib/private/Repair/ClearFrontendCaches.php b/lib/private/Repair/ClearFrontendCaches.php index 8d109462f6a..0a92aa8d201 100644 --- a/lib/private/Repair/ClearFrontendCaches.php +++ b/lib/private/Repair/ClearFrontendCaches.php @@ -23,15 +23,11 @@ namespace OC\Repair; -use OC\Core\Command\Maintenance\ClearCacheJSCSS; use OC\Template\JSCombiner; use OC\Template\SCSSCacher; -use OCP\AppFramework\QueryException; use OCP\ICacheFactory; use OCP\Migration\IOutput; use OCP\Migration\IRepairStep; -use Symfony\Component\Console\Input\StringInput; -use Symfony\Component\Console\Output\BufferedOutput; class ClearFrontendCaches implements IRepairStep { @@ -59,17 +55,13 @@ class ClearFrontendCaches implements IRepairStep { public function run(IOutput $output) { try { $c = $this->cacheFactory->createDistributed('imagePath'); - $c->clear(''); + $c->clear(); $output->info('Image cache cleared'); $this->scssCacher->resetCache(); - $c = $this->cacheFactory->createDistributed('SCSS'); - $c->clear(''); $output->info('SCSS cache cleared'); $this->jsCombiner->resetCache(); - $c = $this->cacheFactory->createDistributed('JS'); - $c->clear(''); $output->info('JS cache cleared'); } catch (\Exception $e) { $output->warning('Unable to clear the frontend cache'); diff --git a/lib/private/Template/JSCombiner.php b/lib/private/Template/JSCombiner.php index b95a59834a6..c5adcee6854 100644 --- a/lib/private/Template/JSCombiner.php +++ b/lib/private/Template/JSCombiner.php @@ -236,10 +236,8 @@ class JSCombiner { * @throws NotFoundException */ public function resetCache() { + $this->depsCache->clear(); $appDirectory = $this->appData->getDirectoryListing(); - if(empty($appDirectory)){ - return; - } foreach ($appDirectory as $folder) { foreach ($folder->getDirectoryListing() as $file) { $file->delete(); diff --git a/lib/private/Template/SCSSCacher.php b/lib/private/Template/SCSSCacher.php index eee437eaf62..433d5e5d0bf 100644 --- a/lib/private/Template/SCSSCacher.php +++ b/lib/private/Template/SCSSCacher.php @@ -263,10 +263,8 @@ class SCSSCacher { */ public function resetCache() { $this->injectedVariables = null; + $this->depsCache->clear(); $appDirectory = $this->appData->getDirectoryListing(); - if(empty($appDirectory)){ - return; - } foreach ($appDirectory as $folder) { foreach ($folder->getDirectoryListing() as $file) { $file->delete(); diff --git a/tests/lib/Repair/ClearFrontendCachesTest.php b/tests/lib/Repair/ClearFrontendCachesTest.php index 393e1de4f54..7c3a54cf1db 100644 --- a/tests/lib/Repair/ClearFrontendCachesTest.php +++ b/tests/lib/Repair/ClearFrontendCachesTest.php @@ -63,14 +63,6 @@ class ClearFrontendCachesTest extends \Test\TestCase { $imagePathCache->expects($this->once()) ->method('clear') ->with(''); - $jsCache = $this->createMock(ICache::class); - $jsCache->expects($this->once()) - ->method('clear') - ->with(''); - $cssCache = $this->createMock(ICache::class); - $cssCache->expects($this->once()) - ->method('clear') - ->with(''); $this->jsCombiner->expects($this->once()) ->method('resetCache'); $this->scssCacher->expects($this->once()) @@ -79,14 +71,6 @@ class ClearFrontendCachesTest extends \Test\TestCase { ->method('createDistributed') ->with('imagePath') ->willReturn($imagePathCache); - $this->cacheFactory->expects($this->at(1)) - ->method('createDistributed') - ->with('SCSS') - ->willReturn($cssCache); - $this->cacheFactory->expects($this->at(2)) - ->method('createDistributed') - ->with('JS') - ->willReturn($jsCache); $this->repair->run($this->outputMock); $this->assertTrue(true); diff --git a/tests/lib/Template/JSCombinerTest.php b/tests/lib/Template/JSCombinerTest.php index d6583d4a450..d5f7000e0a5 100644 --- a/tests/lib/Template/JSCombinerTest.php +++ b/tests/lib/Template/JSCombinerTest.php @@ -511,4 +511,25 @@ var b = \'world\'; $expected = []; $this->assertEquals($expected, $this->jsCombiner->getContent($pathInfo['dirname'], $pathInfo['basename'])); } + + public function testResetCache() { + $file = $this->createMock(ISimpleFile::class); + $file->expects($this->once()) + ->method('delete'); + + $folder = $this->createMock(ISimpleFolder::class); + $folder->expects($this->once()) + ->method('getDirectoryListing') + ->willReturn([$file]); + + $this->depsCache->expects($this->once()) + ->method('clear') + ->with(''); + $this->appData->expects($this->once()) + ->method('getDirectoryListing') + ->willReturn([$folder]); + + $this->jsCombiner->resetCache(); + } + } diff --git a/tests/lib/Template/SCSSCacherTest.php b/tests/lib/Template/SCSSCacherTest.php index 7b5300b99a9..94d3d5a610e 100644 --- a/tests/lib/Template/SCSSCacherTest.php +++ b/tests/lib/Template/SCSSCacherTest.php @@ -445,4 +445,25 @@ class SCSSCacherTest extends \Test\TestCase { $this->rrmdir($tmpDir.$path); } + public function testResetCache() { + $file = $this->createMock(ISimpleFile::class); + $file->expects($this->once()) + ->method('delete'); + + $folder = $this->createMock(ISimpleFolder::class); + $folder->expects($this->once()) + ->method('getDirectoryListing') + ->willReturn([$file]); + + $this->depsCache->expects($this->once()) + ->method('clear') + ->with(''); + $this->appData->expects($this->once()) + ->method('getDirectoryListing') + ->willReturn([$folder]); + + $this->scssCacher->resetCache(); + } + + } |