public function testErrorHandling() { $this->assertThrows('Jivoo\\InvalidArgumentException', function () { new PhpStream('not/a/file'); }); $this->stream->close(); $this->assertEquals('', $this->stream); $this->assertTrue($this->stream->eof()); $this->assertEquals('', $this->stream->getContents()); $this->assertEquals([], $this->stream->getMetadata()); $this->assertNull($this->stream->getSize()); $this->assertFalse($this->stream->isReadable()); $this->assertFalse($this->stream->isWritable()); $this->assertFalse($this->stream->isSeekable()); $this->assertThrows('Jivoo\\Http\\Message\\StreamException', function () { $this->stream->read(5); }); $this->assertThrows('Jivoo\\Http\\Message\\StreamException', function () { $this->stream->seek(5); }); $this->assertThrows('Jivoo\\Http\\Message\\StreamException', function () { $this->stream->tell(); }); $this->assertThrows('Jivoo\\Http\\Message\\StreamException', function () { $this->stream->write('foo'); }); }