Example #1
0
 public function testRemovesReadDataFromBuffer()
 {
     $b = new BufferStream();
     $this->assertEquals(3, $b->write('foo'));
     $this->assertEquals(3, $b->getSize());
     $this->assertFalse($b->eof());
     $this->assertEquals('foo', $b->read(10));
     $this->assertTrue($b->eof());
     $this->assertEquals('', $b->read(10));
 }
Example #2
0
 public function testBeginsDroppingWhenSizeExceeded()
 {
     $stream = new BufferStream();
     $drop = new DroppingStream($stream, 5);
     $this->assertEquals(3, $drop->write('hel'));
     $this->assertEquals(2, $drop->write('lo'));
     $this->assertEquals(5, $drop->getSize());
     $this->assertEquals('hello', $drop->read(5));
     $this->assertEquals(0, $drop->getSize());
     $drop->write('12345678910');
     $this->assertEquals(5, $stream->getSize());
     $this->assertEquals(5, $drop->getSize());
     $this->assertEquals('12345', (string) $drop);
     $this->assertEquals(0, $drop->getSize());
     $drop->write('hello');
     $this->assertSame(0, $drop->write('test'));
 }