]> source.dussan.org Git - nextcloud-server.git/commitdiff
make \OC\Files\Node\Node implement the FileInfo interface
authorRobin Appelman <icewind@owncloud.com>
Thu, 4 Dec 2014 12:27:08 +0000 (13:27 +0100)
committerRobin Appelman <icewind@owncloud.com>
Thu, 4 Dec 2014 12:27:08 +0000 (13:27 +0100)
lib/private/files/node/file.php
lib/private/files/node/folder.php
lib/private/files/node/node.php
tests/lib/files/node/file.php
tests/lib/files/node/folder.php
tests/lib/files/node/node.php
tests/lib/files/node/root.php

index 81e251c20b88ef1ebc64f9decd79d250d81d7c90..1c47294cdaecb31b25a5fc0ba1eb299453b7de6d 100644 (file)
@@ -34,19 +34,13 @@ class File extends Node implements \OCP\Files\File {
                if ($this->checkPermissions(\OCP\Constants::PERMISSION_UPDATE)) {
                        $this->sendHooks(array('preWrite'));
                        $this->view->file_put_contents($this->path, $data);
+                       $this->fileInfo = null;
                        $this->sendHooks(array('postWrite'));
                } else {
                        throw new NotPermittedException();
                }
        }
 
-       /**
-        * @return string
-        */
-       public function getMimeType() {
-               return $this->view->getMimeType($this->path);
-       }
-
        /**
         * @param string $mode
         * @return resource
@@ -94,6 +88,7 @@ class File extends Node implements \OCP\Files\File {
                        $nonExisting = new NonExistingFile($this->root, $this->view, $this->path);
                        $this->root->emit('\OC\Files', 'postDelete', array($nonExisting));
                        $this->exists = false;
+                       $this->fileInfo = null;
                } else {
                        throw new NotPermittedException();
                }
@@ -138,6 +133,7 @@ class File extends Node implements \OCP\Files\File {
                        $this->root->emit('\OC\Files', 'postRename', array($this, $targetNode));
                        $this->root->emit('\OC\Files', 'postWrite', array($targetNode));
                        $this->path = $targetPath;
+                       $this->fileInfo = null;
                        return $targetNode;
                } else {
                        throw new NotPermittedException();
index 83e20871528ed866ed4f5c49033a258ae77a2051..54a699be532d9371bfcb95a0573316a53657d911 100644 (file)
@@ -321,13 +321,6 @@ class Folder extends Node implements \OCP\Files\Folder {
                return $this->view->free_space($this->path);
        }
 
-       /**
-        * @return bool
-        */
-       public function isCreatable() {
-               return $this->checkPermissions(\OCP\Constants::PERMISSION_CREATE);
-       }
-
        public function delete() {
                if ($this->checkPermissions(\OCP\Constants::PERMISSION_DELETE)) {
                        $this->sendHooks(array('preDelete'));
index c52f5bbd54fd783014664277f4f036eee928b30e..b80db28e8ec7cf6431c59cdca0daa8342faf50e3 100644 (file)
@@ -8,10 +8,10 @@
 
 namespace OC\Files\Node;
 
-use OCP\Files\NotFoundException;
+use OCP\Files\FileInfo;
 use OCP\Files\NotPermittedException;
 
-class Node implements \OCP\Files\Node {
+class Node implements \OCP\Files\Node, FileInfo {
        /**
         * @var \OC\Files\View $view
         */
@@ -27,6 +27,11 @@ class Node implements \OCP\Files\Node {
         */
        protected $path;
 
+       /**
+        * @var \OCP\Files\FileInfo
+        */
+       protected $fileInfo;
+
        /**
         * @param \OC\Files\View $view
         * @param \OC\Files\Node\Root $root
@@ -38,6 +43,13 @@ class Node implements \OCP\Files\Node {
                $this->path = $path;
        }
 
+       private function getFileInfo() {
+               if (!$this->fileInfo) {
+                       $this->fileInfo = $this->view->getFileInfo($this->path);
+               }
+               return $this->fileInfo;
+       }
+
        /**
         * @param string[] $hooks
         */
@@ -85,6 +97,12 @@ class Node implements \OCP\Files\Node {
                        $this->sendHooks(array('preTouch'));
                        $this->view->touch($this->path, $mtime);
                        $this->sendHooks(array('postTouch'));
+                       if ($this->fileInfo) {
+                               if (is_null($mtime)) {
+                                       $mtime = time();
+                               }
+                               $this->fileInfo['mtime'] = $mtime;
+                       }
                } else {
                        throw new NotPermittedException();
                }
@@ -118,8 +136,7 @@ class Node implements \OCP\Files\Node {
         * @return int
         */
        public function getId() {
-               $info = $this->view->getFileInfo($this->path);
-               return $info['fileid'];
+               return $this->getFileInfo()->getId();
        }
 
        /**
@@ -133,58 +150,60 @@ class Node implements \OCP\Files\Node {
         * @return int
         */
        public function getMTime() {
-               return $this->view->filemtime($this->path);
+               return $this->getFileInfo()->getMTime();
        }
 
        /**
         * @return int
         */
        public function getSize() {
-               return $this->view->filesize($this->path);
+               return $this->getFileInfo()->getSize();
        }
 
        /**
         * @return string
         */
        public function getEtag() {
-               $info = $this->view->getFileInfo($this->path);
-               return $info['etag'];
+               return $this->getFileInfo()->getEtag();
        }
 
        /**
         * @return int
         */
        public function getPermissions() {
-               $info = $this->view->getFileInfo($this->path);
-               return $info['permissions'];
+               return $this->getFileInfo()->getPermissions();
        }
 
        /**
         * @return bool
         */
        public function isReadable() {
-               return $this->checkPermissions(\OCP\Constants::PERMISSION_READ);
+               return $this->getFileInfo()->isReadable();
        }
 
        /**
         * @return bool
         */
        public function isUpdateable() {
-               return $this->checkPermissions(\OCP\Constants::PERMISSION_UPDATE);
+               return $this->getFileInfo()->isUpdateable();
        }
 
        /**
         * @return bool
         */
        public function isDeletable() {
-               return $this->checkPermissions(\OCP\Constants::PERMISSION_DELETE);
+               return $this->getFileInfo()->isDeletable();
        }
 
        /**
         * @return bool
         */
        public function isShareable() {
-               return $this->checkPermissions(\OCP\Constants::PERMISSION_SHARE);
+               return $this->getFileInfo()->isShareable();
+       }
+
+       public function isCreatable() {
+               return $this->getFileInfo()->isCreatable();
        }
 
        /**
@@ -240,4 +259,28 @@ class Node implements \OCP\Files\Node {
                }
                return true;
        }
+
+       public function isMounted() {
+               return $this->getFileInfo()->isMounted();
+       }
+
+       public function isShared() {
+               return $this->getFileInfo()->isShared();
+       }
+
+       public function getMimeType() {
+               return $this->getFileInfo()->getMimetype();
+       }
+
+       public function getMimePart() {
+               return $this->getFileInfo()->getMimePart();
+       }
+
+       public function getType() {
+               return $this->getFileInfo()->getType();
+       }
+
+       public function isEncrypted() {
+               return $this->getFileInfo()->isEncrypted();
+       }
 }
index 1ae312ab5a85301937a761c562986b339775329b..a1d2266edf7856be2b3b6d88c571e9765c46c453 100644 (file)
@@ -8,6 +8,7 @@
 
 namespace Test\Files\Node;
 
+use OC\Files\FileInfo;
 use OCP\Files\NotFoundException;
 use OCP\Files\NotPermittedException;
 use OC\Files\View;
@@ -20,6 +21,10 @@ class File extends \Test\TestCase {
                $this->user = new \OC\User\User('', new \OC_User_Dummy);
        }
 
+       protected function getFileInfo($data) {
+               return new FileInfo('', null, '', $data);
+       }
+
        public function testDelete() {
                $manager = $this->getMock('\OC\Files\Mount\Manager');
 
@@ -39,7 +44,7 @@ class File extends \Test\TestCase {
                $view->expects($this->once())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_ALL)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_ALL))));
 
                $view->expects($this->once())
                        ->method('unlink')
@@ -89,7 +94,7 @@ class File extends \Test\TestCase {
                $view->expects($this->any())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_ALL, 'fileid' => 1)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_ALL, 'fileid' => 1))));
 
                $view->expects($this->once())
                        ->method('unlink')
@@ -124,7 +129,7 @@ class File extends \Test\TestCase {
                $view->expects($this->once())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_READ)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_READ))));
 
                $node = new \OC\Files\Node\File($root, $view, '/bar/foo');
                $node->delete();
@@ -156,7 +161,7 @@ class File extends \Test\TestCase {
                $view->expects($this->once())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_READ)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_READ))));
 
                $node = new \OC\Files\Node\File($root, $view, '/bar/foo');
                $this->assertEquals('bar', $node->getContent());
@@ -180,7 +185,7 @@ class File extends \Test\TestCase {
                $view->expects($this->once())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => 0)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => 0))));
 
                $node = new \OC\Files\Node\File($root, $view, '/bar/foo');
                $node->getContent();
@@ -201,7 +206,7 @@ class File extends \Test\TestCase {
                $view->expects($this->once())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_ALL)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_ALL))));
 
                $view->expects($this->once())
                        ->method('file_put_contents')
@@ -226,7 +231,7 @@ class File extends \Test\TestCase {
                $view->expects($this->once())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_READ)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_READ))));
 
                $node = new \OC\Files\Node\File($root, $view, '/bar/foo');
                $node->putContent('bar');
@@ -241,9 +246,9 @@ class File extends \Test\TestCase {
                $root = $this->getMock('\OC\Files\Node\Root', array(), array($manager, $view, $this->user));
 
                $view->expects($this->once())
-                       ->method('getMimeType')
+                       ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue('text/plain'));
+                       ->will($this->returnValue($this->getFileInfo(array('mimetype' => 'text/plain'))));
 
                $node = new \OC\Files\Node\File($root, $view, '/bar/foo');
                $this->assertEquals('text/plain', $node->getMimeType());
@@ -279,7 +284,7 @@ class File extends \Test\TestCase {
                $view->expects($this->once())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_ALL)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_ALL))));
 
                $node = new \OC\Files\Node\File($root, $view, '/bar/foo');
                $fh = $node->fopen('r');
@@ -316,7 +321,7 @@ class File extends \Test\TestCase {
                $view->expects($this->once())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_ALL)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_ALL))));
 
                $node = new \OC\Files\Node\File($root, $view, '/bar/foo');
                $fh = $node->fopen('w');
@@ -348,7 +353,7 @@ class File extends \Test\TestCase {
                $view->expects($this->once())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => 0)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => 0))));
 
                $node = new \OC\Files\Node\File($root, $view, '/bar/foo');
                $node->fopen('r');
@@ -375,7 +380,7 @@ class File extends \Test\TestCase {
                $view->expects($this->once())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_UPDATE)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_UPDATE))));
 
                $node = new \OC\Files\Node\File($root, $view, '/bar/foo');
                $node->fopen('w');
@@ -402,7 +407,7 @@ class File extends \Test\TestCase {
                $view->expects($this->once())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_READ)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_READ))));
 
                $node = new \OC\Files\Node\File($root, $view, '/bar/foo');
                $node->fopen('w');
@@ -425,7 +430,7 @@ class File extends \Test\TestCase {
 
                $view->expects($this->any())
                        ->method('getFileInfo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_ALL, 'fileid' => 3)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_ALL, 'fileid' => 3))));
 
                $node = new \OC\Files\Node\File($root, $view, '/bar/foo');
                $parentNode = new \OC\Files\Node\Folder($root, $view, '/bar');
@@ -469,7 +474,7 @@ class File extends \Test\TestCase {
 
                $view->expects($this->any())
                        ->method('getFileInfo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_READ, 'fileid' => 3)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_READ, 'fileid' => 3))));
 
                $node = new \OC\Files\Node\File($root, $view, '/bar/foo');
                $parentNode = new \OC\Files\Node\Folder($root, $view, '/bar');
@@ -556,7 +561,7 @@ class File extends \Test\TestCase {
 
                $view->expects($this->any())
                        ->method('getFileInfo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_ALL, 'fileid' => 1)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_ALL, 'fileid' => 1))));
 
                $node = new \OC\Files\Node\File($root, $view, '/bar/foo');
                $parentNode = new \OC\Files\Node\Folder($root, $view, '/bar');
@@ -587,7 +592,7 @@ class File extends \Test\TestCase {
 
                $view->expects($this->any())
                        ->method('getFileInfo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_READ)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_READ))));
 
                $view->expects($this->never())
                        ->method('rename');
index 91aa3b82db29583b476dfed440ee7cdf0b5ffb69..4aa57aa937393195e9b7b2f1b3704110fe487bd7 100644 (file)
@@ -9,6 +9,7 @@
 namespace Test\Files\Node;
 
 use OC\Files\Cache\Cache;
+use OC\Files\FileInfo;
 use OC\Files\Mount\Mount;
 use OC\Files\Node\Node;
 use OCP\Files\NotFoundException;
@@ -23,6 +24,10 @@ class Folder extends \Test\TestCase {
                $this->user = new \OC\User\User('', new \OC_User_Dummy);
        }
 
+       protected function getFileInfo($data) {
+               return new FileInfo('', null, '', $data);
+       }
+
        public function testDelete() {
                $manager = $this->getMock('\OC\Files\Mount\Manager');
                /**
@@ -39,7 +44,7 @@ class Folder extends \Test\TestCase {
 
                $view->expects($this->any())
                        ->method('getFileInfo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_ALL)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_ALL))));
 
                $view->expects($this->once())
                        ->method('rmdir')
@@ -87,7 +92,7 @@ class Folder extends \Test\TestCase {
 
                $view->expects($this->any())
                        ->method('getFileInfo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_ALL, 'fileid' => 1)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_ALL, 'fileid' => 1))));
 
                $view->expects($this->once())
                        ->method('rmdir')
@@ -121,7 +126,7 @@ class Folder extends \Test\TestCase {
                $view->expects($this->once())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_READ)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_READ))));
 
                $node = new \OC\Files\Node\Folder($root, $view, '/bar/foo');
                $node->delete();
@@ -255,7 +260,7 @@ class Folder extends \Test\TestCase {
                $view->expects($this->once())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_ALL)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_ALL))));
 
                $view->expects($this->once())
                        ->method('mkdir')
@@ -285,7 +290,7 @@ class Folder extends \Test\TestCase {
                $view->expects($this->once())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_READ)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_READ))));
 
                $node = new \OC\Files\Node\Folder($root, $view, '/bar/foo');
                $node->newFolder('asd');
@@ -305,7 +310,7 @@ class Folder extends \Test\TestCase {
                $view->expects($this->once())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_ALL)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_ALL))));
 
                $view->expects($this->once())
                        ->method('touch')
@@ -335,7 +340,7 @@ class Folder extends \Test\TestCase {
                $view->expects($this->once())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_READ)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_READ))));
 
                $node = new \OC\Files\Node\Folder($root, $view, '/bar/foo');
                $node->newFile('asd');
index 8820be5b0b2095f7559b1aa339aad8acc5d6c02f..4697479ba95af0801a40221da1dfd9ed41a96b32 100644 (file)
@@ -8,6 +8,8 @@
 
 namespace Test\Files\Node;
 
+use OC\Files\FileInfo;
+
 class Node extends \Test\TestCase {
        private $user;
 
@@ -16,6 +18,10 @@ class Node extends \Test\TestCase {
                $this->user = new \OC\User\User('', new \OC_User_Dummy);
        }
 
+       protected function getFileInfo($data) {
+               return new FileInfo('', null, '', $data);
+       }
+
        public function testStat() {
                $manager = $this->getMock('\OC\Files\Mount\Manager');
                /**
@@ -55,12 +61,12 @@ class Node extends \Test\TestCase {
                        ->method('getUser')
                        ->will($this->returnValue($this->user));
 
-               $stat = array(
+               $stat = $this->getFileInfo(array(
                        'fileid' => 1,
                        'size' => 100,
                        'etag' => 'qwerty',
                        'mtime' => 50
-               );
+               ));
 
                $view->expects($this->once())
                        ->method('getFileInfo')
@@ -82,10 +88,18 @@ class Node extends \Test\TestCase {
                        ->method('getUser')
                        ->will($this->returnValue($this->user));
 
+
+               $stat = $this->getFileInfo(array(
+                       'fileid' => 1,
+                       'size' => 100,
+                       'etag' => 'qwerty',
+                       'mtime' => 50
+               ));
+
                $view->expects($this->once())
-                       ->method('filesize')
+                       ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(100));
+                       ->will($this->returnValue($stat));
 
                $node = new \OC\Files\Node\File($root, $view, '/bar/foo');
                $this->assertEquals(100, $node->getSize());
@@ -102,12 +116,12 @@ class Node extends \Test\TestCase {
                        ->method('getUser')
                        ->will($this->returnValue($this->user));
 
-               $stat = array(
+               $stat = $this->getFileInfo(array(
                        'fileid' => 1,
                        'size' => 100,
                        'etag' => 'qwerty',
                        'mtime' => 50
-               );
+               ));
 
                $view->expects($this->once())
                        ->method('getFileInfo')
@@ -128,15 +142,18 @@ class Node extends \Test\TestCase {
                $root->expects($this->any())
                        ->method('getUser')
                        ->will($this->returnValue($this->user));
-               /**
-                * @var \OC\Files\Storage\Storage | \PHPUnit_Framework_MockObject_MockObject $storage
-                */
-               $storage = $this->getMock('\OC\Files\Storage\Storage');
+
+               $stat = $this->getFileInfo(array(
+                       'fileid' => 1,
+                       'size' => 100,
+                       'etag' => 'qwerty',
+                       'mtime' => 50
+               ));
 
                $view->expects($this->once())
-                       ->method('filemtime')
+                       ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(50));
+                       ->will($this->returnValue($stat));
 
                $node = new \OC\Files\Node\File($root, $view, '/bar/foo');
                $this->assertEquals(50, $node->getMTime());
@@ -238,15 +255,10 @@ class Node extends \Test\TestCase {
                        ->with('/bar/foo', 100)
                        ->will($this->returnValue(true));
 
-               $view->expects($this->once())
-                       ->method('filemtime')
-                       ->with('/bar/foo')
-                       ->will($this->returnValue(100));
-
                $view->expects($this->once())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_ALL)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_ALL))));
 
                $node = new \OC\Files\Node\Node($root, $view, '/bar/foo');
                $node->touch(100);
@@ -299,7 +311,7 @@ class Node extends \Test\TestCase {
                $view->expects($this->any())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_ALL)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_ALL))));
 
                $node = new \OC\Files\Node\Node($root, $view, '/bar/foo');
                $node->touch(100);
@@ -323,7 +335,7 @@ class Node extends \Test\TestCase {
                $view->expects($this->any())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('permissions' => \OCP\Constants::PERMISSION_READ)));
+                       ->will($this->returnValue($this->getFileInfo(array('permissions' => \OCP\Constants::PERMISSION_READ))));
 
                $node = new \OC\Files\Node\Node($root, $view, '/bar/foo');
                $node->touch(100);
index fcce7070f5dbe341da6cdef85d4b37359bddcb4e..35bd462157ebc26e2df6617c94a64aaf2f89e65d 100644 (file)
@@ -8,6 +8,7 @@
 
 namespace Test\Files\Node;
 
+use OC\Files\FileInfo;
 use OCP\Files\NotPermittedException;
 use OC\Files\Mount\Manager;
 
@@ -19,6 +20,10 @@ class Root extends \Test\TestCase {
                $this->user = new \OC\User\User('', new \OC_User_Dummy);
        }
 
+       protected function getFileInfo($data) {
+               return new FileInfo('', null, '', $data);
+       }
+
        public function testGet() {
                $manager = new Manager();
                /**
@@ -34,7 +39,7 @@ class Root extends \Test\TestCase {
                $view->expects($this->once())
                        ->method('getFileInfo')
                        ->with('/bar/foo')
-                       ->will($this->returnValue(array('fileid' => 10, 'path' => 'bar/foo', 'name', 'mimetype' => 'text/plain')));
+                       ->will($this->returnValue($this->getFileInfo(array('fileid' => 10, 'path' => 'bar/foo', 'name', 'mimetype' => 'text/plain'))));
 
                $view->expects($this->once())
                        ->method('is_dir')