diff --git a/src/File.php b/src/File.php index 187645e4..604b6add 100644 --- a/src/File.php +++ b/src/File.php @@ -70,7 +70,7 @@ class File implements FileInterface, Stringable } // write data - $saved = @file_put_contents($filepath, $this->pointer); + $saved = @file_put_contents($filepath, $this->toFilePointer()); if ($saved === false) { throw new NotWritableException( sprintf("Can't write image data to path (%s).", $filepath) @@ -85,7 +85,7 @@ class File implements FileInterface, Stringable */ public function toString(): string { - return stream_get_contents($this->pointer, offset: 0); + return stream_get_contents($this->toFilePointer(), offset: 0); } /** @@ -107,7 +107,7 @@ class File implements FileInterface, Stringable */ public function size(): int { - $info = fstat($this->pointer); + $info = fstat($this->toFilePointer()); return intval($info['size']); } diff --git a/tests/Unit/FileTest.php b/tests/Unit/FileTest.php index d9344e0b..0dc69897 100644 --- a/tests/Unit/FileTest.php +++ b/tests/Unit/FileTest.php @@ -41,11 +41,21 @@ final class FileTest extends BaseTestCase public function testSave(): void { - $filename = __DIR__ . '/file_' . strval(hrtime(true)) . '.test'; $file = new File('foo'); - $file->save($filename); - $this->assertTrue(file_exists($filename)); - unlink($filename); + $filenames = [ + __DIR__ . '/01_file_' . strval(hrtime(true)) . '.test', + __DIR__ . '/02_file_' . strval(hrtime(true)) . '.test', + ]; + + foreach ($filenames as $name) { + $file->save($name); + } + + foreach ($filenames as $name) { + $this->assertFileExists($name); + $this->assertEquals('foo', file_get_contents($name)); + unlink($name); + } } public function testToString(): void