aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2016-07-04 17:49:44 +0200
committerLukas Reschke <lukas@statuscode.ch>2016-07-20 15:13:24 +0200
commit631af42b3afdbea58e49cb85685cc8951f6375b4 (patch)
treef9f7e77f61632752ed9fe9f44defbc61aa2bfcb1 /tests
parentb37e1ed17f54916e3321427d92afa3f74ebea1b3 (diff)
downloadnextcloud-server-631af42b3afdbea58e49cb85685cc8951f6375b4.tar.gz
nextcloud-server-631af42b3afdbea58e49cb85685cc8951f6375b4.zip
Added storage tests for fopen with special chars
This makes it possible to test special chars with unit tests. There is already a test for directories but there was none for file names.
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/Files/Storage/Storage.php26
1 files changed, 20 insertions, 6 deletions
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);
}