public function testDrain()
{
$stream = fopen('php://temp', 'r+');
$loop = $this->createWriteableLoopMock();
$loop->preventWrites = true;
$buffer = new Buffer($stream, $loop);
$buffer->softLimit = 4;
$buffer->on('error', $this->expectCallableNever());
$buffer->on('drain', $this->expectCallableOnce());
$buffer->write("foo");
$loop->preventWrites = false;
$buffer->listening = false;
$buffer->write("bar\n");
}