summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2016-07-20 20:56:59 +0200
committerGitHub <noreply@github.com>2016-07-20 20:56:59 +0200
commite08278494d0ccc785065dfb6666e2e67e4cda705 (patch)
treed96ea941074eeda5d557d01fc411aa9b0e8dbd91
parent1088916edaf5166e5dd4cf57a796ddb38b9c1477 (diff)
parent631af42b3afdbea58e49cb85685cc8951f6375b4 (diff)
downloadnextcloud-server-e08278494d0ccc785065dfb6666e2e67e4cda705.tar.gz
nextcloud-server-e08278494d0ccc785065dfb6666e2e67e4cda705.zip
Merge pull request #471 from nextcloud/storage-fopenspecialchars
Added storage tests for fopen with special chars
-rwxr-xr-xapps/files_external/tests/env/start-swift-ceph.sh2
-rw-r--r--tests/lib/Files/Storage/Storage.php26
2 files changed, 21 insertions, 7 deletions
diff --git a/apps/files_external/tests/env/start-swift-ceph.sh b/apps/files_external/tests/env/start-swift-ceph.sh
index b73fa899a6d..3a299a6fa85 100755
--- a/apps/files_external/tests/env/start-swift-ceph.sh
+++ b/apps/files_external/tests/env/start-swift-ceph.sh
@@ -80,7 +80,7 @@ if ! "$thisFolder"/env/wait-for-connection ${host} 80 600; then
exit 1
fi
echo "Waiting another 15 seconds"
-sleep 15
+sleep 15
cat > $thisFolder/config.swift.php <<DELIM
<?php
diff --git a/tests/lib/Files/Storage/Storage.php b/tests/lib/Files/Storage/Storage.php
index ed2ea87f9d9..04aafece2e3 100644
--- a/tests/lib/Files/Storage/Storage.php
+++ b/tests/lib/Files/Storage/Storage.php
@@ -105,6 +105,17 @@ abstract class Storage extends \Test\TestCase {
$this->assertEquals(array(), $content);
}
+ public function fileNameProvider() {
+ return [
+ ['file.txt'],
+ [' file.txt'],
+ ['folder .txt'],
+ ['file with space.txt'],
+ ['spéciäl fäile'],
+ ['test single\'quote.txt'],
+ ];
+ }
+
public function directoryProvider() {
return [
['folder'],
@@ -336,22 +347,25 @@ abstract class Storage extends \Test\TestCase {
$this->assertFalse($this->instance->file_exists('/lorem.txt'));
}
- public function testFOpen() {
+ /**
+ * @dataProvider fileNameProvider
+ */
+ public function testFOpen($fileName) {
$textFile = \OC::$SERVERROOT . '/tests/data/lorem.txt';
- $fh = @$this->instance->fopen('foo', 'r');
+ $fh = @$this->instance->fopen($fileName, 'r');
if ($fh) {
fclose($fh);
}
$this->assertFalse($fh);
- $this->assertFalse($this->instance->file_exists('foo'));
+ $this->assertFalse($this->instance->file_exists($fileName));
- $fh = $this->instance->fopen('foo', 'w');
+ $fh = $this->instance->fopen($fileName, 'w');
fwrite($fh, file_get_contents($textFile));
fclose($fh);
- $this->assertTrue($this->instance->file_exists('foo'));
+ $this->assertTrue($this->instance->file_exists($fileName));
- $fh = $this->instance->fopen('foo', 'r');
+ $fh = $this->instance->fopen($fileName, 'r');
$content = stream_get_contents($fh);
$this->assertEquals(file_get_contents($textFile), $content);
}