Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2015-03-24 17:00:36 +0300
committerLukas Reschke <lukas@owncloud.com>2015-03-25 16:01:16 +0300
commit4c92aafc19944f613cb0a1f2aa1e3bd2020ad6cd (patch)
treeab92ca2cee85fb7b91262e7656cef388297454d9 /tests
parente4d8dc782513c9a725f79deb6a4cb725193a64a8 (diff)
Add `getNonExistingName()` to the node api
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/files/node/folder.php36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/lib/files/node/folder.php b/tests/lib/files/node/folder.php
index 54b26ebdfe1..4a88e2acd36 100644
--- a/tests/lib/files/node/folder.php
+++ b/tests/lib/files/node/folder.php
@@ -679,4 +679,40 @@ class Folder extends \Test\TestCase {
$this->assertEquals('/bar/foo/qwerty', $result[0]->getPath());
$this->assertEquals('/bar/foo/asd/foo/qwerty', $result[1]->getPath());
}
+
+ public function uniqueNameProvider() {
+ return [
+ // input, existing, expected
+ ['foo', [] , 'foo'],
+ ['foo', ['foo'] , 'foo (2)'],
+ ['foo', ['foo', 'foo (2)'] , 'foo (3)']
+ ];
+ }
+
+ /**
+ * @dataProvider uniqueNameProvider
+ */
+ public function testGetUniqueName($name, $existingFiles, $expected) {
+ $manager = $this->getMock('\OC\Files\Mount\Manager');
+ $folderPath = '/bar/foo';
+ /**
+ * @var \OC\Files\View | \PHPUnit_Framework_MockObject_MockObject $view
+ */
+ $view = $this->getMock('\OC\Files\View');
+ $root = $this->getMock('\OC\Files\Node\Root', array('getUser', 'getMountsIn', 'getMount'), array($manager, $view, $this->user));
+
+ $view->expects($this->any())
+ ->method('file_exists')
+ ->will($this->returnCallback(function ($path) use ($existingFiles, $folderPath) {
+ foreach ($existingFiles as $existing) {
+ if ($folderPath . '/' . $existing === $path){
+ return true;
+ }
+ }
+ return false;
+ }));
+
+ $node = new \OC\Files\Node\Folder($root, $view, $folderPath);
+ $this->assertEquals($expected, $node->getNonExistingName($name));
+ }
}