You are here

class ReaderTest in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/symfony/css-selector/Tests/Parser/ReaderTest.php \Symfony\Component\CssSelector\Tests\Parser\ReaderTest

Hierarchy

  • class \Symfony\Component\CssSelector\Tests\Parser\ReaderTest extends \Symfony\Component\CssSelector\Tests\Parser\PHPUnit_Framework_TestCase

Expanded class hierarchy of ReaderTest

File

vendor/symfony/css-selector/Tests/Parser/ReaderTest.php, line 16

Namespace

Symfony\Component\CssSelector\Tests\Parser
View source
class ReaderTest extends \PHPUnit_Framework_TestCase {
  public function testIsEOF() {
    $reader = new Reader('');
    $this
      ->assertTrue($reader
      ->isEOF());
    $reader = new Reader('hello');
    $this
      ->assertFalse($reader
      ->isEOF());
    $this
      ->assignPosition($reader, 2);
    $this
      ->assertFalse($reader
      ->isEOF());
    $this
      ->assignPosition($reader, 5);
    $this
      ->assertTrue($reader
      ->isEOF());
  }
  public function testGetRemainingLength() {
    $reader = new Reader('hello');
    $this
      ->assertEquals(5, $reader
      ->getRemainingLength());
    $this
      ->assignPosition($reader, 2);
    $this
      ->assertEquals(3, $reader
      ->getRemainingLength());
    $this
      ->assignPosition($reader, 5);
    $this
      ->assertEquals(0, $reader
      ->getRemainingLength());
  }
  public function testGetSubstring() {
    $reader = new Reader('hello');
    $this
      ->assertEquals('he', $reader
      ->getSubstring(2));
    $this
      ->assertEquals('el', $reader
      ->getSubstring(2, 1));
    $this
      ->assignPosition($reader, 2);
    $this
      ->assertEquals('ll', $reader
      ->getSubstring(2));
    $this
      ->assertEquals('lo', $reader
      ->getSubstring(2, 1));
  }
  public function testGetOffset() {
    $reader = new Reader('hello');
    $this
      ->assertEquals(2, $reader
      ->getOffset('ll'));
    $this
      ->assertFalse($reader
      ->getOffset('w'));
    $this
      ->assignPosition($reader, 2);
    $this
      ->assertEquals(0, $reader
      ->getOffset('ll'));
    $this
      ->assertFalse($reader
      ->getOffset('he'));
  }
  public function testFindPattern() {
    $reader = new Reader('hello');
    $this
      ->assertFalse($reader
      ->findPattern('/world/'));
    $this
      ->assertEquals(array(
      'hello',
      'h',
    ), $reader
      ->findPattern('/^([a-z]).*/'));
    $this
      ->assignPosition($reader, 2);
    $this
      ->assertFalse($reader
      ->findPattern('/^h.*/'));
    $this
      ->assertEquals(array(
      'llo',
    ), $reader
      ->findPattern('/^llo$/'));
  }
  public function testMoveForward() {
    $reader = new Reader('hello');
    $this
      ->assertEquals(0, $reader
      ->getPosition());
    $reader
      ->moveForward(2);
    $this
      ->assertEquals(2, $reader
      ->getPosition());
  }
  public function testToEnd() {
    $reader = new Reader('hello');
    $reader
      ->moveToEnd();
    $this
      ->assertTrue($reader
      ->isEOF());
  }
  private function assignPosition(Reader $reader, $value) {
    $position = new \ReflectionProperty($reader, 'position');
    $position
      ->setAccessible(true);
    $position
      ->setValue($reader, $value);
  }

}

Members