/** * Lazy initialization of the stream writer dependency. * Refresh the used stream resource if loaded. * @return \Brickoo\Component\IO\Stream\StreamWriter */ private function getStreamWriter() { $streamResource = $this->stream->open(); if ($this->streamWriter === null) { $this->streamWriter = new StreamWriter($streamResource, static::MAX_RETRIES); return $this->streamWriter; } return $this->streamWriter->refreshResource($streamResource); }
/** * @covers Brickoo\Component\IO\Stream\StreamWriter::refreshResource * @covers Brickoo\Component\IO\Stream\StreamWriter::write */ public function testResourceCanBeRefreshed() { $filename = sys_get_temp_dir() . DIRECTORY_SEPARATOR . "streamWriterTest"; $streamWriter = new StreamWriter(fopen($filename, "rb+")); $resource = fopen("php://memory", "rb+"); $streamWriter->refreshResource($resource); $streamWriter->write("test case"); fseek($resource, 0); $this->assertEquals("test case", fgets($resource)); fclose($resource); }