diff --git a/lib/files/cache/scanner.php b/lib/files/cache/scanner.php index 9d180820e9..dcc5d8c558 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 f6deb93a49..4c90119814 100644 --- a/tests/lib/files/cache/scanner.php +++ b/tests/lib/files/cache/scanner.php @@ -184,6 +184,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);