sonarrradarrplexorganizrnginxdashboardlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximux
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							96 lines
						
					
					
						
							3.2 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							96 lines
						
					
					
						
							3.2 KiB
						
					
					
				| <?php | |
| 
 | |
| /* | |
|  * This file is part of the Symfony package. | |
|  * | |
|  * (c) Fabien Potencier <fabien@symfony.com> | |
|  * | |
|  * For the full copyright and license information, please view the LICENSE | |
|  * file that was distributed with this source code. | |
|  */ | |
| 
 | |
| namespace Symfony\Component\CssSelector\Tests\Parser; | |
| 
 | |
| use PHPUnit\Framework\TestCase; | |
| use Symfony\Component\CssSelector\Parser\Token; | |
| use Symfony\Component\CssSelector\Parser\TokenStream; | |
| 
 | |
| class TokenStreamTest extends TestCase | |
| { | |
|     public function testGetNext() | |
|     { | |
|         $stream = new TokenStream(); | |
|         $stream->push($t1 = new Token(Token::TYPE_IDENTIFIER, 'h1', 0)); | |
|         $stream->push($t2 = new Token(Token::TYPE_DELIMITER, '.', 2)); | |
|         $stream->push($t3 = new Token(Token::TYPE_IDENTIFIER, 'title', 3)); | |
| 
 | |
|         $this->assertSame($t1, $stream->getNext()); | |
|         $this->assertSame($t2, $stream->getNext()); | |
|         $this->assertSame($t3, $stream->getNext()); | |
|     } | |
| 
 | |
|     public function testGetPeek() | |
|     { | |
|         $stream = new TokenStream(); | |
|         $stream->push($t1 = new Token(Token::TYPE_IDENTIFIER, 'h1', 0)); | |
|         $stream->push($t2 = new Token(Token::TYPE_DELIMITER, '.', 2)); | |
|         $stream->push($t3 = new Token(Token::TYPE_IDENTIFIER, 'title', 3)); | |
| 
 | |
|         $this->assertSame($t1, $stream->getPeek()); | |
|         $this->assertSame($t1, $stream->getNext()); | |
|         $this->assertSame($t2, $stream->getPeek()); | |
|         $this->assertSame($t2, $stream->getPeek()); | |
|         $this->assertSame($t2, $stream->getNext()); | |
|     } | |
| 
 | |
|     public function testGetNextIdentifier() | |
|     { | |
|         $stream = new TokenStream(); | |
|         $stream->push(new Token(Token::TYPE_IDENTIFIER, 'h1', 0)); | |
| 
 | |
|         $this->assertEquals('h1', $stream->getNextIdentifier()); | |
|     } | |
| 
 | |
|     public function testFailToGetNextIdentifier() | |
|     { | |
|         $this->{method_exists($this, $_ = 'expectException') ? $_ : 'setExpectedException'}('Symfony\Component\CssSelector\Exception\SyntaxErrorException'); | |
| 
 | |
|         $stream = new TokenStream(); | |
|         $stream->push(new Token(Token::TYPE_DELIMITER, '.', 2)); | |
|         $stream->getNextIdentifier(); | |
|     } | |
| 
 | |
|     public function testGetNextIdentifierOrStar() | |
|     { | |
|         $stream = new TokenStream(); | |
| 
 | |
|         $stream->push(new Token(Token::TYPE_IDENTIFIER, 'h1', 0)); | |
|         $this->assertEquals('h1', $stream->getNextIdentifierOrStar()); | |
| 
 | |
|         $stream->push(new Token(Token::TYPE_DELIMITER, '*', 0)); | |
|         $this->assertNull($stream->getNextIdentifierOrStar()); | |
|     } | |
| 
 | |
|     public function testFailToGetNextIdentifierOrStar() | |
|     { | |
|         $this->{method_exists($this, $_ = 'expectException') ? $_ : 'setExpectedException'}('Symfony\Component\CssSelector\Exception\SyntaxErrorException'); | |
| 
 | |
|         $stream = new TokenStream(); | |
|         $stream->push(new Token(Token::TYPE_DELIMITER, '.', 2)); | |
|         $stream->getNextIdentifierOrStar(); | |
|     } | |
| 
 | |
|     public function testSkipWhitespace() | |
|     { | |
|         $stream = new TokenStream(); | |
|         $stream->push($t1 = new Token(Token::TYPE_IDENTIFIER, 'h1', 0)); | |
|         $stream->push($t2 = new Token(Token::TYPE_WHITESPACE, ' ', 2)); | |
|         $stream->push($t3 = new Token(Token::TYPE_IDENTIFIER, 'h1', 3)); | |
| 
 | |
|         $stream->skipWhitespace(); | |
|         $this->assertSame($t1, $stream->getNext()); | |
| 
 | |
|         $stream->skipWhitespace(); | |
|         $this->assertSame($t3, $stream->getNext()); | |
|     } | |
| }
 | |
| 
 |