Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663
This commit is contained in:
parent
eb34d130a8
commit
f32e58e4b1
8476 changed files with 211648 additions and 170042 deletions
195
vendor/masterminds/html5/test/HTML5/Parser/FileInputStreamTest.php
vendored
Normal file
195
vendor/masterminds/html5/test/HTML5/Parser/FileInputStreamTest.php
vendored
Normal file
|
@ -0,0 +1,195 @@
|
|||
<?php
|
||||
namespace Masterminds\HTML5\Tests\Parser;
|
||||
|
||||
use Masterminds\HTML5\Parser\FileInputStream;
|
||||
|
||||
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>
|
||||
<meta charset=\"utf-8\">
|
||||
<title>Test</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>This is a test.</p>
|
||||
</body>
|
||||
</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));
|
||||
}
|
||||
}
|
Reference in a new issue