Browse Source

Move depsCache clearing to SCSSCacher/JSCombiner

Signed-off-by: Julius Härtl <jus@bitgrid.net>
tags/v14.0.0beta1
Julius Härtl 6 years ago
parent
commit
b87e5a0f2e
No account linked to committer's email address

+ 1
- 9
lib/private/Repair/ClearFrontendCaches.php View File

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

+ 1
- 3
lib/private/Template/JSCombiner.php View File

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

+ 1
- 3
lib/private/Template/SCSSCacher.php View File

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

+ 0
- 16
tests/lib/Repair/ClearFrontendCachesTest.php View File

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

+ 21
- 0
tests/lib/Template/JSCombinerTest.php View File

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

}

+ 21
- 0
tests/lib/Template/SCSSCacherTest.php View File

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


}

Loading…
Cancel
Save