summaryrefslogtreecommitdiffstats
path: root/tests/lib
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2013-11-29 12:58:57 +0100
committerVincent Petry <pvince81@owncloud.com>2013-11-29 13:01:01 +0100
commitd69243ee5144afeed57f513b0b50f9f2dbcdd36a (patch)
treedd96718d8dae5b51423fdc05c8e59b09fdd5dde2 /tests/lib
parent41a1a32e5ad19c041e22b20873e769ecfa6aa8c8 (diff)
downloadnextcloud-server-d69243ee5144afeed57f513b0b50f9f2dbcdd36a.tar.gz
nextcloud-server-d69243ee5144afeed57f513b0b50f9f2dbcdd36a.zip
Fixed FTP and SMB to use rmdir() when deleting folders
Some storages need to use different calls for deleting files or folders, usually unlink() and rmdir(). Fixes #4532 (SMB dir deletion) Fixes #5941 (FTP dir deletion) Note that the extra is_dir() should be fast because it's read from the stat cache.
Diffstat (limited to 'tests/lib')
-rw-r--r--tests/lib/files/storage/storage.php14
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/lib/files/storage/storage.php b/tests/lib/files/storage/storage.php
index 19113f52623..5a0581665a2 100644
--- a/tests/lib/files/storage/storage.php
+++ b/tests/lib/files/storage/storage.php
@@ -254,7 +254,19 @@ abstract class Storage extends \PHPUnit_Framework_TestCase {
$this->instance->mkdir('folder/bar');
$this->instance->file_put_contents('folder/asd.txt', 'foobar');
$this->instance->file_put_contents('folder/bar/foo.txt', 'asd');
- $this->instance->rmdir('folder');
+ $this->assertTrue($this->instance->rmdir('folder'));
+ $this->assertFalse($this->instance->file_exists('folder/asd.txt'));
+ $this->assertFalse($this->instance->file_exists('folder/bar/foo.txt'));
+ $this->assertFalse($this->instance->file_exists('folder/bar'));
+ $this->assertFalse($this->instance->file_exists('folder'));
+ }
+
+ public function testRecursiveUnlink() {
+ $this->instance->mkdir('folder');
+ $this->instance->mkdir('folder/bar');
+ $this->instance->file_put_contents('folder/asd.txt', 'foobar');
+ $this->instance->file_put_contents('folder/bar/foo.txt', 'asd');
+ $this->assertTrue($this->instance->unlink('folder'));
$this->assertFalse($this->instance->file_exists('folder/asd.txt'));
$this->assertFalse($this->instance->file_exists('folder/bar/foo.txt'));
$this->assertFalse($this->instance->file_exists('folder/bar'));