EscapeSequenceTest.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. use \Bramus\Ansi\Ansi;
  3. use \Bramus\Ansi\Writers\StreamWriter;
  4. use \Bramus\Ansi\ControlFunctions\Enums\C0;
  5. use \Bramus\Ansi\ControlSequences\EscapeSequences\Base as EscapeSequence;
  6. use \Bramus\Ansi\ControlSequences\EscapeSequences\Enums\FinalByte;
  7. class EscapeSequenceTest extends PHPUnit_Framework_TestCase
  8. {
  9. public function testInstantiation()
  10. {
  11. $es = new EscapeSequence(FinalByte::ED);
  12. $this->assertInstanceOf('\Bramus\Ansi\ControlSequences\EscapeSequences\Base', $es);
  13. // EscapeSequences MUST start with an Escape Control Function
  14. $this->assertInstanceOf('\Bramus\Ansi\ControlFunctions\Escape', $es->getControlSequenceIntroducer());
  15. // The finalByte passed in was ED
  16. $this->assertEquals(
  17. $es->getFinalByte(),
  18. FinalByte::ED
  19. );
  20. }
  21. public function testFinalByte()
  22. {
  23. $es = new EscapeSequence(FinalByte::ED);
  24. // Set new final byte
  25. $es->setFinalByte(FinalByte::EL);
  26. // Check for new Final Byte
  27. $this->assertEquals(
  28. $es->getFinalByte(),
  29. FinalByte::EL
  30. );
  31. $this->assertEquals(
  32. $es->get(),
  33. C0::ESC . '[' . FinalByte::EL
  34. );
  35. }
  36. }
  37. // EOF