Filesystem: return all matching mounts in Mount::findById

This commit is contained in:
Robin Appelman 2013-01-28 00:59:43 +01:00
parent 4cae141673
commit 577e3b11d7
2 changed files with 10 additions and 5 deletions

View File

@ -174,14 +174,15 @@ class Mount {
/**
* @param string $id
* @return \OC\Files\Storage\Storage
* @return \OC\Files\Storage\Storage[]
*/
public static function findById($id) {
$result = array();
foreach (self::$mounts as $mount) {
if ($mount->getStorageId() === $id) {
return $mount;
$result[] = $mount;
}
}
return null;
return $result;
}
}

View File

@ -23,7 +23,8 @@ class Mount extends \PHPUnit_Framework_TestCase {
$this->assertEquals($rootMount, \OC\Files\Mount::find('/'));
$this->assertEquals($rootMount, \OC\Files\Mount::find('/foo/bar'));
$mount = new \OC\Files\Mount(new Temporary(array()), '/foo');
$storage = new Temporary(array());
$mount = new \OC\Files\Mount($storage, '/foo');
$this->assertEquals($rootMount, \OC\Files\Mount::find('/'));
$this->assertEquals($mount, \OC\Files\Mount::find('/foo/bar'));
@ -32,6 +33,9 @@ class Mount extends \PHPUnit_Framework_TestCase {
$this->assertEquals(2, count(\OC\Files\Mount::findIn('/')));
$id = $mount->getStorageId();
$this->assertEquals($mount, \OC\Files\Mount::findById($id));
$this->assertEquals(array($mount), \OC\Files\Mount::findById($id));
$mount2 = new \OC\Files\Mount($storage, '/foo/bar');
$this->assertEquals(array($mount, $mount2), \OC\Files\Mount::findById($id));
}
}