class FileInputStreamTest in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/masterminds/html5/test/HTML5/Parser/FileInputStreamTest.php \Masterminds\HTML5\Tests\Parser\FileInputStreamTest
Hierarchy
- class \Masterminds\HTML5\Tests\TestCase extends \Masterminds\HTML5\Tests\PHPUnit_Framework_TestCase- class \Masterminds\HTML5\Tests\Parser\FileInputStreamTest
 
Expanded class hierarchy of FileInputStreamTest
File
- vendor/masterminds/ html5/ test/ HTML5/ Parser/ FileInputStreamTest.php, line 6 
Namespace
Masterminds\HTML5\Tests\ParserView source
class FileInputStreamTest extends \Masterminds\HTML5\Tests\TestCase {
  public function testConstruct() {
    $s = new FileInputStream(__DIR__ . '/FileInputStreamTest.html');
    $this
      ->assertInstanceOf('\\Masterminds\\HTML5\\Parser\\FileInputStream', $s);
  }
  public function testNext() {
    $s = new FileInputStream(__DIR__ . '/FileInputStreamTest.html');
    $s
      ->next();
    $this
      ->assertEquals('!', $s
      ->current());
    $s
      ->next();
    $this
      ->assertEquals('d', $s
      ->current());
  }
  public function testKey() {
    $s = new FileInputStream(__DIR__ . '/FileInputStreamTest.html');
    $this
      ->assertEquals(0, $s
      ->key());
    $s
      ->next();
    $this
      ->assertEquals(1, $s
      ->key());
  }
  public function testPeek() {
    $s = new FileInputStream(__DIR__ . '/FileInputStreamTest.html');
    $this
      ->assertEquals('!', $s
      ->peek());
    $s
      ->next();
    $this
      ->assertEquals('d', $s
      ->peek());
  }
  public function testCurrent() {
    $s = new FileInputStream(__DIR__ . '/FileInputStreamTest.html');
    $this
      ->assertEquals('<', $s
      ->current());
    $s
      ->next();
    $this
      ->assertEquals('!', $s
      ->current());
    $s
      ->next();
    $this
      ->assertEquals('d', $s
      ->current());
  }
  public function testColumnOffset() {
    $s = new FileInputStream(__DIR__ . '/FileInputStreamTest.html');
    $this
      ->assertEquals(0, $s
      ->columnOffset());
    $s
      ->next();
    $this
      ->assertEquals(1, $s
      ->columnOffset());
    $s
      ->next();
    $this
      ->assertEquals(2, $s
      ->columnOffset());
    $s
      ->next();
    $this
      ->assertEquals(3, $s
      ->columnOffset());
    // Make sure we get to the second line
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $this
      ->assertEquals(0, $s
      ->columnOffset());
    $s
      ->next();
    $canary = $s
      ->current();
    // h
    $this
      ->assertEquals('h', $canary);
    $this
      ->assertEquals(1, $s
      ->columnOffset());
  }
  public function testCurrentLine() {
    $s = new FileInputStream(__DIR__ . '/FileInputStreamTest.html');
    $this
      ->assertEquals(1, $s
      ->currentLine());
    // Make sure we get to the second line
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $this
      ->assertEquals(2, $s
      ->currentLine());
    // Make sure we get to the third line
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $s
      ->next();
    $this
      ->assertEquals(3, $s
      ->currentLine());
  }
  public function testRemainingChars() {
    $text = file_get_contents(__DIR__ . '/FileInputStreamTest.html');
    $s = new FileInputStream(__DIR__ . '/FileInputStreamTest.html');
    $this
      ->assertEquals($text, $s
      ->remainingChars());
    $text = substr(file_get_contents(__DIR__ . '/FileInputStreamTest.html'), 1);
    $s = new FileInputStream(__DIR__ . '/FileInputStreamTest.html');
    $s
      ->next();
    // Pop one.
    $this
      ->assertEquals($text, $s
      ->remainingChars());
  }
  public function testCharsUnitl() {
    $s = new FileInputStream(__DIR__ . '/FileInputStreamTest.html');
    $this
      ->assertEquals('', $s
      ->charsUntil('<'));
    // Pointer at '<', moves to ' '
    $this
      ->assertEquals('<!doctype', $s
      ->charsUntil(' ', 20));
    // Pointer at ' ', moves to '>'
    $this
      ->assertEquals(' html', $s
      ->charsUntil('>'));
    // Pointer at '>', moves to '\n'.
    $this
      ->assertEquals('>', $s
      ->charsUntil("\n"));
    // Pointer at '\n', move forward then to the next'\n'.
    $s
      ->next();
    $this
      ->assertEquals('<html lang="en">', $s
      ->charsUntil("\n"));
    // Ony get one of the spaces.
    $this
      ->assertEquals("\n ", $s
      ->charsUntil('<', 2));
    // Get the other space.
    $this
      ->assertEquals(" ", $s
      ->charsUntil('<'));
    // This should scan to the end of the file.
    $text = "<head>\n    <meta charset=\"utf-8\">\n    <title>Test</title>\n  </head>\n  <body>\n    <p>This is a test.</p>\n  </body>\n</html>";
    $this
      ->assertEquals($text, $s
      ->charsUntil("\t"));
  }
  public function testCharsWhile() {
    $s = new FileInputStream(__DIR__ . '/FileInputStreamTest.html');
    $this
      ->assertEquals('<!', $s
      ->charsWhile('!<'));
    $this
      ->assertEquals('', $s
      ->charsWhile('>'));
    $this
      ->assertEquals('doctype', $s
      ->charsWhile('odcyept'));
    $this
      ->assertEquals(' htm', $s
      ->charsWhile('html ', 4));
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| FileInputStreamTest:: | public | function | ||
| FileInputStreamTest:: | public | function | ||
| FileInputStreamTest:: | public | function | ||
| FileInputStreamTest:: | public | function | ||
| FileInputStreamTest:: | public | function | ||
| FileInputStreamTest:: | public | function | ||
| FileInputStreamTest:: | public | function | ||
| FileInputStreamTest:: | public | function | ||
| FileInputStreamTest:: | public | function | ||
| FileInputStreamTest:: | public | function | ||
| TestCase:: | constant | |||
| TestCase:: | constant | |||
| TestCase:: | public | function | ||
| TestCase:: | public | function | ||
| TestCase:: | protected | function | 
