]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add tests for copying/moving between storages
authorMichael Gapczynski <mtgap@owncloud.com>
Sun, 19 May 2013 18:20:46 +0000 (14:20 -0400)
committerMichael Gapczynski <mtgap@owncloud.com>
Sun, 19 May 2013 18:20:46 +0000 (14:20 -0400)
tests/lib/files/view.php

index a064e44f3efdaea1850014f0193c1cf3145aa96c..554bc7291ad03f0eb6f0d85b7f4f85a5c8f893a5 100644 (file)
@@ -228,6 +228,40 @@ class View extends \PHPUnit_Framework_TestCase {
                $this->assertEquals(3, $cachedData['size']);
        }
 
+       function testCopyBetweenStorages() {
+               $storage1 = $this->getTestStorage();
+               $storage2 = $this->getTestStorage();
+               \OC\Files\Filesystem::mount($storage1, array(), '/');
+               \OC\Files\Filesystem::mount($storage2, array(), '/substorage');
+
+               $rootView = new \OC\Files\View('');
+               $rootView->copy('substorage', 'anotherfolder');
+               $this->assertTrue($rootView->is_dir('/anotherfolder'));
+               $this->assertTrue($rootView->is_dir('/substorage'));
+               $this->assertTrue($rootView->file_exists('/anotherfolder/foo.txt'));
+               $this->assertTrue($rootView->file_exists('/anotherfolder/foo.png'));
+               $this->assertTrue($rootView->file_exists('/anotherfolder/folder/bar.txt'));
+               $this->assertTrue($rootView->file_exists('/substorage/foo.txt'));
+               $this->assertTrue($rootView->file_exists('/substorage/foo.png'));
+               $this->assertTrue($rootView->file_exists('/substorage/folder/bar.txt'));
+       }
+
+       function testMoveBetweenStorages() {
+               $storage1 = $this->getTestStorage();
+               $storage2 = $this->getTestStorage();
+               \OC\Files\Filesystem::mount($storage1, array(), '/');
+               \OC\Files\Filesystem::mount($storage2, array(), '/substorage');
+
+               $rootView = new \OC\Files\View('');
+               $rootView->rename('foo.txt', 'substorage/folder/foo.txt');
+               $this->assertFalse($rootView->file_exists('foo.txt'));
+               $this->assertTrue($rootView->file_exists('substorage/folder/foo.txt'));
+               $rootView->rename('substorage/folder', 'anotherfolder');
+               $this->assertFalse($rootView->is_dir('substorage/folder'));
+               $this->assertTrue($rootView->file_exists('anotherfolder/foo.txt'));
+               $this->assertTrue($rootView->file_exists('anotherfolder/bar.txt'));
+       }
+
        /**
         * @param bool $scan
         * @return \OC\Files\Storage\Storage