public function testIsWritableAndReadable() { $fileName = tempnam(__DIR__, '_none_'); $stream = new Stream($fileName, "r"); $this->assertFalse($stream->isWritable()); $this->assertTrue($stream->isReadable()); try { $stream->write('...'); $this->fail(); } catch (RuntimeException $e) { $this->assertEquals('Stream is not writable.', $e->getMessage()); } $stream = new Stream($fileName, "w"); $this->assertTrue($stream->isWritable()); $this->assertFalse($stream->isReadable()); try { $stream->read(1); $this->fail(); } catch (RuntimeException $e) { $this->assertEquals('Stream is not readable.', $e->getMessage()); } $stream = new Stream($fileName, "r+"); $this->assertTrue($stream->isWritable()); $this->assertTrue($stream->isReadable()); $stream = new Stream($fileName, "w+"); $this->assertTrue($stream->isWritable()); $this->assertTrue($stream->isReadable()); @unlink($fileName); }