diff options
-rw-r--r-- | lib/private/Files/Storage/Local.php | 5 | ||||
-rw-r--r-- | tests/lib/Files/Storage/Storage.php | 3 |
2 files changed, 6 insertions, 2 deletions
diff --git a/lib/private/Files/Storage/Local.php b/lib/private/Files/Storage/Local.php index ccd331f515f..eea04bd8676 100644 --- a/lib/private/Files/Storage/Local.php +++ b/lib/private/Files/Storage/Local.php @@ -568,8 +568,11 @@ class Local extends \OC\Files\Storage\Common { public function writeStream(string $path, $stream, int $size = null): int { $result = $this->file_put_contents($path, $stream); + if (is_resource($stream)) { + fclose($stream); + } if ($result === false) { - throw new GenericFileException("Failed write steam to $path"); + throw new GenericFileException("Failed write stream to $path"); } else { return $result; } diff --git a/tests/lib/Files/Storage/Storage.php b/tests/lib/Files/Storage/Storage.php index ecc2bb50538..9fae1a8484a 100644 --- a/tests/lib/Files/Storage/Storage.php +++ b/tests/lib/Files/Storage/Storage.php @@ -658,6 +658,7 @@ abstract class Storage extends \Test\TestCase { $storage->writeStream('test.txt', $source); $this->assertTrue($storage->file_exists('test.txt')); - $this->assertEquals(file_get_contents($textFile), $storage->file_get_contents('test.txt')); + $this->assertStringEqualsFile($textFile, $storage->file_get_contents('test.txt')); + $this->assertEquals('resource (closed)', gettype($source)); } } |