public function testErrorWhenStreamResourceIsInvalid()
{
$stream = fopen('php://temp', 'r+');
$loop = $this->createWriteableLoopMock();
$error = null;
$buffer = new Buffer($stream, $loop);
$buffer->on('error', function ($message) use(&$error) {
$error = $message;
});
// invalidate stream resource
fclose($stream);
$buffer->write('Attempting to write to bad stream');
$this->assertInstanceOf('Exception', $error);
// the error messages differ between PHP versions, let's just check substrings
$this->assertContains('Unable to write to stream: ', $error->getMessage());
$this->assertContains(' not a valid stream resource', $error->getMessage(), '', true);
}