BufferTest.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace League\CLImate\Tests\Util\Writer;
  3. use League\CLImate\Tests\TestBase;
  4. use League\CLImate\Util\Output;
  5. use League\CLImate\Util\Writer\Buffer;
  6. class BufferTest extends TestBase
  7. {
  8. /** @test */
  9. public function it_can_buffer_content()
  10. {
  11. $buffer = new Buffer();
  12. $output = new Output();
  13. $output->add('buffer', $buffer);
  14. $output->defaultTo('buffer');
  15. $output->write("Oh, you're still here.");
  16. $this->assertSame("Oh, you're still here." . \PHP_EOL, $buffer->get());
  17. }
  18. /** @test */
  19. public function it_can_buffer_content_without_a_new_line()
  20. {
  21. $buffer = new Buffer();
  22. $output = new Output();
  23. $output->add('buffer', $buffer);
  24. $output->defaultTo('buffer');
  25. $output->sameLine()->write("Oh, you're still here.");
  26. $this->assertSame("Oh, you're still here.", $buffer->get());
  27. }
  28. /** @test */
  29. public function it_can_buffer_multiple_lines()
  30. {
  31. $buffer = new Buffer();
  32. $output = new Output();
  33. $output->add('buffer', $buffer);
  34. $output->defaultTo('buffer');
  35. $output->write("Oh, you're still here.");
  36. $output->write("Also am I.");
  37. $this->assertSame("Oh, you're still here." . \PHP_EOL . "Also am I." . \PHP_EOL, $buffer->get());
  38. }
  39. /** @test */
  40. public function it_can_clean_buffered_content()
  41. {
  42. $buffer = new Buffer();
  43. $output = new Output();
  44. $output->add('buffer', $buffer);
  45. $output->defaultTo('buffer');
  46. $output->write("Oh, you're still here.");
  47. $buffer->clean();
  48. $output->write("I am on my own.");
  49. $this->assertSame("I am on my own." . \PHP_EOL, $buffer->get());
  50. }
  51. }