From 29c43b7d61dd0c3a34566291a6ab1f9a8e077bdd Mon Sep 17 00:00:00 2001
From: Robin Appelman <icewind@owncloud.com>
Date: Thu, 11 Oct 2012 19:38:32 +0200
Subject: [PATCH] some test cases for fopen of storage backends

---
 tests/lib/filestorage.php | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/tests/lib/filestorage.php b/tests/lib/filestorage.php
index 7c2d86e6b6..d1f70e8709 100644
--- a/tests/lib/filestorage.php
+++ b/tests/lib/filestorage.php
@@ -221,4 +221,24 @@ abstract class Test_FileStorage extends UnitTestCase {
 		$this->assertContains('/logo-wide.svg', $result);
 		$this->assertContains('/logo-wide.png', $result);
 	}
+
+	public function testFOpen() {
+		$textFile = OC::$SERVERROOT . '/tests/data/lorem.txt';
+
+		$fh = @$this->instance->fopen('foo', 'r');
+		if ($fh) {
+			fclose($fh);
+		}
+		$this->assertFalse($fh);
+		$this->assertFalse($this->instance->file_exists('foo'));
+
+		$fh = $this->instance->fopen('foo', 'w');
+		fwrite($fh, file_get_contents($textFile));
+		fclose($fh);
+		$this->assertTrue($this->instance->file_exists('foo'));
+
+		$fh = $this->instance->fopen('foo', 'r');
+		$content = stream_get_contents($fh);
+		$this->assertEqual(file_get_contents($textFile), $content);
+	}
 }
-- 
GitLab