From 2ca29f709bbd507fac0ae652631839374e346e30 Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Thu, 1 Dec 2016 18:52:32 +0100 Subject: [PATCH] Add tests Signed-off-by: Lukas Reschke --- tests/lib/Files/ViewTest.php | 71 ++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/tests/lib/Files/ViewTest.php b/tests/lib/Files/ViewTest.php index 4c26447238..8ec9619087 100644 --- a/tests/lib/Files/ViewTest.php +++ b/tests/lib/Files/ViewTest.php @@ -12,6 +12,7 @@ use OC\Files\Cache\Watcher; use OC\Files\Storage\Common; use OC\Files\Mount\MountPoint; use OC\Files\Storage\Temporary; +use OC\Files\View; use OCP\Files\Config\IMountProvider; use OCP\Files\FileInfo; use OCP\Lock\ILockingProvider; @@ -2499,4 +2500,74 @@ class ViewTest extends \Test\TestCase { $this->assertNotEquals($rootInfo->getEtag(), $newInfo->getEtag()); $this->assertEquals(0, $newInfo->getSize()); } + + public function testCreateParentDirectories() { + $view = $this->getMockBuilder(View::class) + ->disableOriginalConstructor() + ->setMethods([ + 'is_file', + 'file_exists', + 'mkdir', + ]) + ->getMock(); + + $view + ->expects($this->at(0)) + ->method('is_file') + ->with('/new') + ->willReturn(false); + $view + ->expects($this->at(1)) + ->method('file_exists') + ->with('/new') + ->willReturn(true); + $view + ->expects($this->at(2)) + ->method('is_file') + ->with('/new/folder') + ->willReturn(false); + $view + ->expects($this->at(3)) + ->method('file_exists') + ->with('/new/folder') + ->willReturn(false); + $view + ->expects($this->at(4)) + ->method('mkdir') + ->with('/new/folder'); + $view + ->expects($this->at(5)) + ->method('is_file') + ->with('/new/folder/structure') + ->willReturn(false); + $view + ->expects($this->at(6)) + ->method('file_exists') + ->with('/new/folder/structure') + ->willReturn(false); + $view + ->expects($this->at(7)) + ->method('mkdir') + ->with('/new/folder/structure'); + + $this->assertTrue(self::invokePrivate($view, 'createParentDirectories', ['/new/folder/structure'])); + } + + public function testCreateParentDirectoriesWithExistingFile() { + $view = $this->getMockBuilder(View::class) + ->disableOriginalConstructor() + ->setMethods([ + 'is_file', + 'file_exists', + 'mkdir', + ]) + ->getMock(); + + $view + ->expects($this->once()) + ->method('is_file') + ->with('/file.txt') + ->willReturn(true); + $this->assertFalse(self::invokePrivate($view, 'createParentDirectories', ['/file.txt/folder/structure'])); + } }