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
remotes/origin/stable5
Robin Appelman 14 years ago
parent 4be039e6cb
commit cf3665057c
  1. 2
      lib/files/view.php
  2. 13
      tests/lib/files/view.php

@ -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 {

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

Loading…
Cancel
Save