summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2016-05-19 16:38:28 +0200
committerVincent Petry <pvince81@owncloud.com>2016-05-20 09:33:59 +0200
commite8d082208d241b3e25150222cacb8d1b4a5b6f12 (patch)
tree662f3c2dbba0518ec23eba656c84fe805d4576aa /tests
parentf8b2b954084c247d2edd70b56b17238fe7a8024e (diff)
downloadnextcloud-server-e8d082208d241b3e25150222cacb8d1b4a5b6f12.tar.gz
nextcloud-server-e8d082208d241b3e25150222cacb8d1b4a5b6f12.zip
Fixes for encoding wrapper
Improved label Fixed rename/copy/moveFromStorage/copyFromStorage and added tests Improved findPathToUse algo
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/files/storage/wrapper/Encoding.php49
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/lib/files/storage/wrapper/Encoding.php b/tests/lib/files/storage/wrapper/Encoding.php
index db0dfa66652..79b7a3bfb6e 100644
--- a/tests/lib/files/storage/wrapper/Encoding.php
+++ b/tests/lib/files/storage/wrapper/Encoding.php
@@ -151,4 +151,53 @@ class Encoding extends \Test\Files\Storage\Storage {
$this->assertEquals(8, $this->instance->file_put_contents('/' . self::NFC_NAME, 'barbaric'));
$this->assertEquals('barbaric', $this->instance->file_get_contents('//' . self::NFC_NAME));
}
+
+ public function sourceAndTargetDirectoryProvider() {
+ return [
+ [self::NFC_NAME . '1', self::NFC_NAME . '2'],
+ [self::NFD_NAME . '1', self::NFC_NAME . '2'],
+ [self::NFC_NAME . '1', self::NFD_NAME . '2'],
+ [self::NFD_NAME . '1', self::NFD_NAME . '2'],
+ ];
+ }
+
+ /**
+ * @dataProvider sourceAndTargetDirectoryProvider
+ */
+ public function testCopyAndMoveEncodedFolder($sourceDir, $targetDir) {
+ $this->sourceStorage->mkdir($sourceDir);
+ $this->sourceStorage->mkdir($targetDir);
+ $this->sourceStorage->file_put_contents($sourceDir . '/test.txt', 'bar');
+ $this->assertTrue($this->instance->copy(self::NFC_NAME . '1/test.txt', self::NFC_NAME . '2/test.txt'));
+
+ $this->assertTrue($this->instance->file_exists(self::NFC_NAME . '1/test.txt'));
+ $this->assertTrue($this->instance->file_exists(self::NFC_NAME . '2/test.txt'));
+ $this->assertEquals('bar', $this->instance->file_get_contents(self::NFC_NAME . '2/test.txt'));
+
+ $this->assertTrue($this->instance->rename(self::NFC_NAME . '1/test.txt', self::NFC_NAME . '2/test2.txt'));
+ $this->assertFalse($this->instance->file_exists(self::NFC_NAME . '1/test.txt'));
+ $this->assertTrue($this->instance->file_exists(self::NFC_NAME . '2/test2.txt'));
+
+ $this->assertEquals('bar', $this->instance->file_get_contents(self::NFC_NAME . '2/test2.txt'));
+ }
+
+ /**
+ * @dataProvider sourceAndTargetDirectoryProvider
+ */
+ public function testCopyAndMoveFromStorageEncodedFolder($sourceDir, $targetDir) {
+ $this->sourceStorage->mkdir($sourceDir);
+ $this->sourceStorage->mkdir($targetDir);
+ $this->sourceStorage->file_put_contents($sourceDir . '/test.txt', 'bar');
+ $this->assertTrue($this->instance->copyFromStorage($this->instance, self::NFC_NAME . '1/test.txt', self::NFC_NAME . '2/test.txt'));
+
+ $this->assertTrue($this->instance->file_exists(self::NFC_NAME . '1/test.txt'));
+ $this->assertTrue($this->instance->file_exists(self::NFC_NAME . '2/test.txt'));
+ $this->assertEquals('bar', $this->instance->file_get_contents(self::NFC_NAME . '2/test.txt'));
+
+ $this->assertTrue($this->instance->moveFromStorage($this->instance, self::NFC_NAME . '1/test.txt', self::NFC_NAME . '2/test2.txt'));
+ $this->assertFalse($this->instance->file_exists(self::NFC_NAME . '1/test.txt'));
+ $this->assertTrue($this->instance->file_exists(self::NFC_NAME . '2/test2.txt'));
+
+ $this->assertEquals('bar', $this->instance->file_get_contents(self::NFC_NAME . '2/test2.txt'));
+ }
}