<?php namespace Twig\Tests; /* * This file is part of Twig. * * (c) Fabien Potencier * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ use PHPUnit\Framework\TestCase; use Twig\Error\SyntaxError; use Twig\Token; use Twig\TokenStream; class TokenStreamTest extends TestCase { protected static $tokens; protected function setUp() { self::$tokens = [ new Token(Token::TEXT_TYPE, 1, 1), new Token(Token::TEXT_TYPE, 2, 1), new Token(Token::TEXT_TYPE, 3, 1), new Token(Token::TEXT_TYPE, 4, 1), new Token(Token::TEXT_TYPE, 5, 1), new Token(Token::TEXT_TYPE, 6, 1), new Token(Token::TEXT_TYPE, 7, 1), new Token(Token::EOF_TYPE, 0, 1), ]; } public function testNext() { $stream = new TokenStream(self::$tokens); $repr = []; while (!$stream->isEOF()) { $token = $stream->next(); $repr[] = $token->getValue(); } $this->assertEquals('1, 2, 3, 4, 5, 6, 7', implode(', ', $repr), '->next() advances the pointer and returns the current token'); } public function testEndOfTemplateNext() { $this->expectException(SyntaxError::class); $this->expectExceptionMessage('Unexpected end of template'); $stream = new TokenStream([ new Token(Token::BLOCK_START_TYPE, 1, 1), ]); while (!$stream->isEOF()) { $stream->next(); } } public function testEndOfTemplateLook() { $this->expectException(SyntaxError::class); $this->expectExceptionMessage('Unexpected end of template'); $stream = new TokenStream([ new Token(Token::BLOCK_START_TYPE, 1, 1), ]); while (!$stream->isEOF()) { $stream->look(); $stream->next(); } } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Cache | Folder | 0755 |
|
|
Extension | Folder | 0755 |
|
|
Fixtures | Folder | 0755 |
|
|
Loader | Folder | 0755 |
|
|
Node | Folder | 0755 |
|
|
NodeVisitor | Folder | 0755 |
|
|
Profiler | Folder | 0755 |
|
|
Util | Folder | 0755 |
|
|
CompilerTest.php | File | 1.17 KB | 0644 |
|
ContainerRuntimeLoaderTest.php | File | 1.16 KB | 0644 |
|
CustomExtensionTest.php | File | 1.83 KB | 0644 |
|
EnvironmentTest.php | File | 16.49 KB | 0644 |
|
ErrorTest.php | File | 7.42 KB | 0644 |
|
ExpressionParserTest.php | File | 13.51 KB | 0644 |
|
FactoryRuntimeLoaderTest.php | File | 786 B | 0644 |
|
FileExtensionEscapingStrategyTest.php | File | 1.3 KB | 0644 |
|
FilesystemHelper.php | File | 700 B | 0644 |
|
IntegrationTest.php | File | 8.73 KB | 0644 |
|
LexerTest.php | File | 13.22 KB | 0644 |
|
ParserTest.php | File | 5.98 KB | 0644 |
|
TemplateTest.php | File | 23.47 KB | 0644 |
|
TemplateWrapperTest.php | File | 2.24 KB | 0644 |
|
TokenStreamTest.php | File | 1.93 KB | 0644 |
|