From bab8c1f8e51a93443c29fdabfdc9951d0efde473 Mon Sep 17 00:00:00 2001
From: Vincent Petry <pvince81@owncloud.com>
Date: Tue, 13 May 2014 14:17:51 +0200
Subject: [PATCH] Fixed getAbsolutePath case when path is "0"

Make sure to correctly check for string emptiness when the passed path
is "0".
---
 lib/private/files/view.php |  2 +-
 tests/lib/files/view.php   | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/lib/private/files/view.php b/lib/private/files/view.php
index 407f598195..39c71cfc0b 100644
--- a/lib/private/files/view.php
+++ b/lib/private/files/view.php
@@ -37,7 +37,7 @@ class View {
 	}
 
 	public function getAbsolutePath($path = '/') {
-		if (!$path) {
+		if ($path === '') {
 			$path = '/';
 		}
 		if ($path[0] !== '/') {
diff --git a/tests/lib/files/view.php b/tests/lib/files/view.php
index f80dd06e1c..a51b15857d 100644
--- a/tests/lib/files/view.php
+++ b/tests/lib/files/view.php
@@ -585,4 +585,22 @@ class View extends \PHPUnit_Framework_TestCase {
 		$info2 = $view->getFileInfo('/test/test');
 		$this->assertSame($info['etag'], $info2['etag']);
 	}
+
+	/**
+	 * @dataProvider absolutePathProvider
+	 */
+	public function testGetAbsolutePath($expectedPath, $relativePath) {
+		$view = new \OC\Files\View('/files');
+		$this->assertEquals($expectedPath, $view->getAbsolutePath($relativePath));
+	}
+
+	function absolutePathProvider() {
+		return array(
+			array('/files/', ''),
+			array('/files/0', '0'),
+			array('/files/', '/'),
+			array('/files/test', 'test'),
+			array('/files/test', '/test'),
+		);
+	}
 }
-- 
GitLab