From 3e7a86c6ecd332c268e690399a015ab618e87754 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 6 Aug 2013 15:59:06 +0200 Subject: [PATCH] remove deleted files while scanning --- lib/files/cache/scanner.php | 2 ++ tests/lib/files/cache/scanner.php | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/lib/files/cache/scanner.php b/lib/files/cache/scanner.php index adecc2bb90..3349245616 100644 --- a/lib/files/cache/scanner.php +++ b/lib/files/cache/scanner.php @@ -112,6 +112,8 @@ class Scanner extends BasicEmitter { if (!empty($newData)) { $this->cache->put($file, $newData); } + } else { + $this->cache->remove($file); } return $data; } diff --git a/tests/lib/files/cache/scanner.php b/tests/lib/files/cache/scanner.php index 263ceadccc..bb90adce5c 100644 --- a/tests/lib/files/cache/scanner.php +++ b/tests/lib/files/cache/scanner.php @@ -166,6 +166,16 @@ class Scanner extends \PHPUnit_Framework_TestCase { $this->assertFalse($this->cache->inCache('folder/bar.txt')); } + public function testScanRemovedFile(){ + $this->fillTestFolders(); + + $this->scanner->scan(''); + $this->assertTrue($this->cache->inCache('folder/bar.txt')); + $this->storage->unlink('folder/bar.txt'); + $this->scanner->scanFile('folder/bar.txt'); + $this->assertFalse($this->cache->inCache('folder/bar.txt')); + } + function setUp() { $this->storage = new \OC\Files\Storage\Temporary(array()); $this->scanner = new \OC\Files\Cache\Scanner($this->storage);