Browse Source

Separate fopen into read and write methods

Signed-off-by: Julius Härtl <jus@bitgrid.net>
tags/v14.0.0beta1
Julius Härtl 6 years ago
parent
commit
6da2b7c4f6
No account linked to committer's email address

+ 15
- 3
lib/private/Files/SimpleFS/SimpleFile.php 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');
}

}

+ 11
- 2
lib/public/Files/SimpleFS/ISimpleFile.php 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();
}

+ 11
- 3
tests/lib/Files/SimpleFS/SimpleFileTest.php 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();
}
}

Loading…
Cancel
Save