From bab8c1f8e51a93443c29fdabfdc9951d0efde473 Mon Sep 17 00:00:00 2001 From: Vincent Petry 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'), + ); + } }