Separate fopen into read and write methods

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl 2018-07-10 14:27:47 +02:00
parent f1469e34aa
commit 6da2b7c4f6
No known key found for this signature in database
GPG Key ID: 4C614C6ED2CDE6DF
3 changed files with 37 additions and 8 deletions

View File

@ -148,13 +148,25 @@ class SimpleFile implements ISimpleFile {
}
/**
* Open the file as stream, resulting resource can be operated as stream like the result from php's own fopen
* Open the file as stream for reading, resulting resource can be operated as stream like the result from php's own fopen
*
* @return resource
* @throws \OCP\Files\NotPermittedException
* @since 14.0.0
*/
public function fopen(string $mode) {
return $this->file->fopen($mode);
public function read() {
return $this->file->fopen('r');
}
/**
* Open the file as stream for writing, resulting resource can be operated as stream like the result from php's own fopen
*
* @return resource
* @throws \OCP\Files\NotPermittedException
* @since 14.0.0
*/
public function write() {
return $this->file->fopen('w');
}
}

View File

@ -101,11 +101,20 @@ interface ISimpleFile {
public function getMimeType();
/**
* Open the file as stream, resulting resource can be operated as stream like the result from php's own fopen
* Open the file as stream for reading, resulting resource can be operated as stream like the result from php's own fopen
*
* @return resource
* @throws \OCP\Files\NotPermittedException
* @since 14.0.0
*/
public function fopen(string $mode);
public function read();
/**
* Open the file as stream for writing, resulting resource can be operated as stream like the result from php's own fopen
*
* @return resource
* @throws \OCP\Files\NotPermittedException
* @since 14.0.0
*/
public function write();
}

View File

@ -124,11 +124,19 @@ class SimpleFileTest extends \Test\TestCase {
$this->simpleFile->getContent();
}
public function testFopen() {
public function testRead() {
$this->file->expects($this->once())
->method('fopen')
->with('r+');
->with('r');
$this->simpleFile->fopen('r+');
$this->simpleFile->read();
}
public function testWrite() {
$this->file->expects($this->once())
->method('fopen')
->with('w');
$this->simpleFile->write();
}
}