diff --git a/tests/lib/filestorage.php b/tests/lib/filestorage.php
index 7c2d86e6b669fdcd45e2e46eea2df87708c9b1a3..d1f70e87091a8ed4820576e14875d600ced0349d 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);
+	}
 }