From 709aacfa0fef29692bff231f09625db5ba0bef6f Mon Sep 17 00:00:00 2001
From: Robin Appelman <icewind@owncloud.com>
Date: Sat, 24 Nov 2012 23:41:39 +0100
Subject: [PATCH] change behaviour of Filesystem::getMountPoint when a
 mountpoint is passed as path without trailing slash

---
 lib/files/filesystem.php       |  8 +-------
 tests/lib/files/filesystem.php |  2 +-
 tests/lib/files/view.php       | 12 ++++++++++++
 3 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/lib/files/filesystem.php b/lib/files/filesystem.php
index 9e8ce3ec18..4e3eb1989b 100644
--- a/lib/files/filesystem.php
+++ b/lib/files/filesystem.php
@@ -144,13 +144,7 @@ class Filesystem {
 	 */
 	static public function getMountPoint($path) {
 		\OC_Hook::emit(self::CLASSNAME, 'get_mountpoint', array('path' => $path));
-		if (!$path) {
-			$path = '/';
-		}
-		if ($path[0] !== '/') {
-			$path = '/' . $path;
-		}
-		$path = str_replace('//', '/', $path);
+		$path = self::normalizePath($path) . '/';
 		$foundMountPoint = '';
 		$mountPoints = array_keys(self::$mounts);
 		foreach ($mountPoints as $mountpoint) {
diff --git a/tests/lib/files/filesystem.php b/tests/lib/files/filesystem.php
index 363426511b..5837093fdd 100644
--- a/tests/lib/files/filesystem.php
+++ b/tests/lib/files/filesystem.php
@@ -60,7 +60,7 @@ class Filesystem extends \PHPUnit_Framework_TestCase {
 		$this->assertEquals('/',\OC\Files\Filesystem::getMountPoint('/'));
 		$this->assertEquals('/some/',\OC\Files\Filesystem::getMountPoint('/some/folder'));
 		$this->assertEquals('/some/',\OC\Files\Filesystem::getMountPoint('/some/'));
-		$this->assertEquals('/',\OC\Files\Filesystem::getMountPoint('/some'));
+		$this->assertEquals('/some/',\OC\Files\Filesystem::getMountPoint('/some'));
 		list( , $internalPath)=\OC\Files\Filesystem::resolvePath('/some/folder');
 		$this->assertEquals('folder',$internalPath);
 	}
diff --git a/tests/lib/files/view.php b/tests/lib/files/view.php
index ecfc803dc2..6f8d29c25b 100644
--- a/tests/lib/files/view.php
+++ b/tests/lib/files/view.php
@@ -71,6 +71,18 @@ class View extends \PHPUnit_Framework_TestCase {
 		$this->assertEquals($storageSize + $textSize, $folderData[2]['size']);
 		$this->assertEquals($storageSize, $folderData[3]['size']);
 
+		$folderData = $rootView->getDirectoryContent('/substorage');
+		/**
+		 * expected entries:
+		 * foo.png
+		 * foo.txt
+		 * folder
+		 */
+		$this->assertEquals(3, count($folderData));
+		$this->assertEquals('foo.png', $folderData[0]['name']);
+		$this->assertEquals('foo.txt', $folderData[1]['name']);
+		$this->assertEquals('folder', $folderData[2]['name']);
+
 		$folderView = new \OC\Files\View('/folder');
 		$this->assertEquals($rootView->getFileInfo('/folder'), $folderView->getFileInfo('/'));
 
-- 
GitLab