DroppingStreamTest.php 929 B

123456789101112131415161718192021222324252627
  1. <?php
  2. namespace GuzzleHttp\Tests\Stream;
  3. use GuzzleHttp\Stream\BufferStream;
  4. use GuzzleHttp\Stream\DroppingStream;
  5. use PHPUnit\Framework\TestCase;
  6. class DroppingStreamTest extends TestCase
  7. {
  8. public function testBeginsDroppingWhenSizeExceeded()
  9. {
  10. $stream = new BufferStream();
  11. $drop = new DroppingStream($stream, 5);
  12. $this->assertEquals(3, $drop->write('hel'));
  13. $this->assertFalse($drop->write('lo'));
  14. $this->assertEquals(5, $drop->getSize());
  15. $this->assertEquals('hello', $drop->read(5));
  16. $this->assertEquals(0, $drop->getSize());
  17. $drop->write('12345678910');
  18. $this->assertEquals(5, $stream->getSize());
  19. $this->assertEquals(5, $drop->getSize());
  20. $this->assertEquals('12345', (string) $drop);
  21. $this->assertEquals(0, $drop->getSize());
  22. $drop->write('hello');
  23. $this->assertFalse($drop->write('test'));
  24. }
  25. }