summaryrefslogtreecommitdiffstats
path: root/tests/lib/connector/sabre/directory.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/connector/sabre/directory.php')
-rw-r--r--tests/lib/connector/sabre/directory.php54
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/lib/connector/sabre/directory.php b/tests/lib/connector/sabre/directory.php
index d8dca35cd71..e9bfea81b77 100644
--- a/tests/lib/connector/sabre/directory.php
+++ b/tests/lib/connector/sabre/directory.php
@@ -101,4 +101,58 @@ class Test_OC_Connector_Sabre_Directory extends \Test\TestCase {
$dir = $this->getRootDir();
$dir->delete();
}
+
+ public function testGetChildren() {
+ $info1 = $this->getMockBuilder('OC\Files\FileInfo')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $info2 = $this->getMockBuilder('OC\Files\FileInfo')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $info1->expects($this->any())
+ ->method('getName')
+ ->will($this->returnValue('first'));
+ $info1->expects($this->any())
+ ->method('getEtag')
+ ->will($this->returnValue('abc'));
+ $info2->expects($this->any())
+ ->method('getName')
+ ->will($this->returnValue('second'));
+ $info2->expects($this->any())
+ ->method('getEtag')
+ ->will($this->returnValue('def'));
+
+ $this->view->expects($this->once())
+ ->method('getDirectoryContent')
+ ->with('')
+ ->will($this->returnValue(array($info1, $info2)));
+
+ $this->view->expects($this->any())
+ ->method('getRelativePath')
+ ->will($this->returnValue(''));
+
+ $dir = new OC_Connector_Sabre_Directory($this->view, $this->info);
+ $nodes = $dir->getChildren();
+
+ $this->assertEquals(2, count($nodes));
+
+ // calling a second time just returns the cached values,
+ // does not call getDirectoryContents again
+ $nodes = $dir->getChildren();
+
+ $properties = array('testprop', OC_Connector_Sabre_Node::GETETAG_PROPERTYNAME);
+ $this->assertEquals(2, count($nodes));
+ $this->assertEquals(
+ array(
+ OC_Connector_Sabre_Node::GETETAG_PROPERTYNAME => '"abc"'
+ ),
+ $nodes[0]->getProperties($properties)
+ );
+ $this->assertEquals(
+ array(
+ OC_Connector_Sabre_Node::GETETAG_PROPERTYNAME => '"def"'
+ ),
+ $nodes[1]->getProperties($properties)
+ );
+ }
}