From d1c3aa3112b363f84d721e9fce299d24833cbe7e Mon Sep 17 00:00:00 2001
From: Robin Appelman <icewind@owncloud.com>
Date: Tue, 28 Feb 2012 12:06:34 +0100
Subject: [PATCH] add test case for getLocalFile

---
 lib/filestorage/common.php |  4 ++--
 tests/lib/filestorage.php  | 10 ++++++++--
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/lib/filestorage/common.php b/lib/filestorage/common.php
index 62b12fede0..40a9cff5d0 100644
--- a/lib/filestorage/common.php
+++ b/lib/filestorage/common.php
@@ -108,7 +108,7 @@ abstract class OC_Filestorage_Common extends OC_Filestorage {
 // 	abstract public function free_space($path);
 // 	abstract public function search($query);
 	public function getLocalFile($path){
-		return $this->toTmpFile();
+		return $this->toTmpFile($path);
 	}
 	private function toTmpFile($path){//no longer in the storage api, still usefull here
 		$source=$this->fopen($path,'r');
@@ -117,7 +117,7 @@ abstract class OC_Filestorage_Common extends OC_Filestorage {
 		}
 		$extention=substr($path,strrpos($path,'.'));
 		$tmpFile=OC_Helper::tmpFile($extention);
-		$target=fopen($tmpFile);
+		$target=fopen($tmpFile,'w');
 		$count=OC_Helper::streamCopy($source,$target);
 		return $tmpFile;
 	}
diff --git a/tests/lib/filestorage.php b/tests/lib/filestorage.php
index 5a89c74fe8..fb050868ee 100644
--- a/tests/lib/filestorage.php
+++ b/tests/lib/filestorage.php
@@ -118,6 +118,12 @@ abstract class Test_FileStorage extends UnitTestCase {
 		$this->assertFalse($this->instance->file_exists('/source.txt'));
 		$this->assertEqual(file_get_contents($textFile),$this->instance->file_get_contents('/target.txt'));
 	}
+	
+	public function testLocalFile(){
+		$textFile=OC::$SERVERROOT.'/tests/data/lorem.txt';
+		$this->instance->file_put_contents('/lorem.txt',file_get_contents($textFile));
+		$localFile=$this->instance->getLocalFile('/lorem.txt');
+		$this->assertTrue(file_exists($localFile));
+		$this->assertEqual(file_get_contents($localFile),file_get_contents($textFile));
+	}
 }
-
-
-- 
GitLab