summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authoricewind1991 <icewind1991@gmail.com>2013-06-28 12:24:33 -0700
committericewind1991 <icewind1991@gmail.com>2013-06-28 12:24:33 -0700
commit30a403e327cd02dcf6acddd98e6a0837281cea9f (patch)
tree7805d5b67f06254ee61d4c6e84dbf7c86d66ead9 /tests
parente3df2b8c873a4a03156714bf09f1ed7c98129f4f (diff)
parenta0d83771094df4d3a7d27ee72b9abb4a6854b604 (diff)
downloadnextcloud-server-30a403e327cd02dcf6acddd98e6a0837281cea9f.tar.gz
nextcloud-server-30a403e327cd02dcf6acddd98e6a0837281cea9f.zip
Merge pull request #3892 from owncloud/static-streamwrapper
Improvements for the static:// streamwrapper
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/files/stream/staticstream.php68
-rw-r--r--tests/lib/streamwrappers.php12
2 files changed, 68 insertions, 12 deletions
diff --git a/tests/lib/files/stream/staticstream.php b/tests/lib/files/stream/staticstream.php
new file mode 100644
index 00000000000..d55086196a0
--- /dev/null
+++ b/tests/lib/files/stream/staticstream.php
@@ -0,0 +1,68 @@
+<?php
+/**
+ * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace Test\Files\Stream;
+
+class StaticStream extends \PHPUnit_Framework_TestCase {
+
+ private $sourceFile;
+ private $sourceText;
+
+ public function __construct() {
+ $this->sourceFile = \OC::$SERVERROOT . '/tests/data/lorem.txt';
+ $this->sourceText = file_get_contents($this->sourceFile);
+ }
+
+ public function tearDown() {
+ \OC\Files\Stream\StaticStream::clear();
+ }
+
+ public function testContent() {
+ file_put_contents('static://foo', $this->sourceText);
+ $this->assertEquals($this->sourceText, file_get_contents('static://foo'));
+ }
+
+ public function testMultipleFiles() {
+ file_put_contents('static://foo', $this->sourceText);
+ file_put_contents('static://bar', strrev($this->sourceText));
+ $this->assertEquals($this->sourceText, file_get_contents('static://foo'));
+ $this->assertEquals(strrev($this->sourceText), file_get_contents('static://bar'));
+ }
+
+ public function testOverwrite() {
+ file_put_contents('static://foo', $this->sourceText);
+ file_put_contents('static://foo', 'qwerty');
+ $this->assertEquals('qwerty', file_get_contents('static://foo'));
+ }
+
+ public function testIsFile() {
+ $this->assertFalse(is_file('static://foo'));
+ file_put_contents('static://foo', $this->sourceText);
+ $this->assertTrue(is_file('static://foo'));
+ }
+
+ public function testIsDir() {
+ $this->assertFalse(is_dir('static://foo'));
+ file_put_contents('static://foo', $this->sourceText);
+ $this->assertFalse(is_dir('static://foo'));
+ }
+
+ public function testFileType() {
+ file_put_contents('static://foo', $this->sourceText);
+ $this->assertEquals('file', filetype('static://foo'));
+ }
+
+ public function testUnlink() {
+ $this->assertFalse(file_exists('static://foo'));
+ file_put_contents('static://foo', $this->sourceText);
+ $this->assertTrue(file_exists('static://foo'));
+ unlink('static://foo');
+ clearstatcache();
+ $this->assertFalse(file_exists('static://foo'));
+ }
+}
diff --git a/tests/lib/streamwrappers.php b/tests/lib/streamwrappers.php
index c7e51ccfa48..d15b712139d 100644
--- a/tests/lib/streamwrappers.php
+++ b/tests/lib/streamwrappers.php
@@ -33,18 +33,6 @@ class Test_StreamWrappers extends PHPUnit_Framework_TestCase {
$this->assertEquals(count($items), count($result));
}
- public function testStaticStream() {
- $sourceFile = OC::$SERVERROOT . '/tests/data/lorem.txt';
- $staticFile = 'static://test';
- $this->assertFalse(file_exists($staticFile));
- file_put_contents($staticFile, file_get_contents($sourceFile));
- $this->assertTrue(file_exists($staticFile));
- $this->assertEquals(file_get_contents($sourceFile), file_get_contents($staticFile));
- unlink($staticFile);
- clearstatcache();
- $this->assertFalse(file_exists($staticFile));
- }
-
public function testCloseStream() {
//ensure all basic stream stuff works
$sourceFile = OC::$SERVERROOT . '/tests/data/lorem.txt';