Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2013-11-29 15:58:57 +0400
committerVincent Petry <pvince81@owncloud.com>2013-12-02 14:12:09 +0400
commit3b18c1bae4fd038c378010e76d4946313f23f2ef (patch)
tree494fe145fe218f901ae290b3fe1e2a11e894b34c /tests
parente079d34f5af344e432f0d4aa7f128d02e69336f2 (diff)
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. Backport of d69243e
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/files/storage/storage.php24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/lib/files/storage/storage.php b/tests/lib/files/storage/storage.php
index 4587a3b2d06..ea3ca7d19e0 100644
--- a/tests/lib/files/storage/storage.php
+++ b/tests/lib/files/storage/storage.php
@@ -286,4 +286,28 @@ abstract class Storage extends \PHPUnit_Framework_TestCase {
$this->instance->touch('foo');
$this->assertTrue($this->instance->file_exists('foo'));
}
+
+ public function testRecursiveRmdir() {
+ $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->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'));
+ $this->assertFalse($this->instance->file_exists('folder'));
+ }
}