make sure folders that are not fully scanned are at least shallow scanned when we open them

the fact that they are in the cache does not mean they are scanned
This commit is contained in:
Robin Appelman 2012-12-15 03:20:50 +01:00
parent 4be039e6cb
commit cf3665057c
2 changed files with 14 additions and 1 deletions

View File

@ -728,7 +728,7 @@ class View {
if ($storage) {
$cache = $storage->getCache();
if (!$cache->inCache($internalPath)) {
if ($cache->getStatus($internalPath) < Cache\Cache::COMPLETE) {
$scanner = $storage->getScanner();
$scanner->scan($internalPath, Cache\Scanner::SCAN_SHALLOW);
} else {

View File

@ -97,6 +97,19 @@ class View extends \PHPUnit_Framework_TestCase {
$this->assertEquals(array(), $rootView->getDirectoryContent('/non/existing'));
}
function testCacheIncompleteFolder() {
$storage1 = $this->getTestStorage(false);
\OC\Files\Filesystem::mount($storage1, array(), '/');
$rootView = new \OC\Files\View('');
$entries = $rootView->getDirectoryContent('/');
$this->assertEquals(3, count($entries));
// /folder will already be in the cache but not scanned
$entries = $rootView->getDirectoryContent('/folder');
$this->assertEquals(1, count($entries));
}
public function testAutoScan() {
$storage1 = $this->getTestStorage(false);
$storage2 = $this->getTestStorage(false);