Вход Регистрация
Файл: gapps/vendor/symfony/css-selector/Tests/Parser/TokenStreamTest.php
Строк: 118
<?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 SymfonyComponentCssSelectorTestsParser;

use 
SymfonyComponentCssSelectorParserToken;
use 
SymfonyComponentCssSelectorParserTokenStream;

class 
TokenStreamTest extends PHPUnit_Framework_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->setExpectedException('SymfonyComponentCssSelectorExceptionSyntaxErrorException');

        
$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->setExpectedException('SymfonyComponentCssSelectorExceptionSyntaxErrorException');

        
$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());
    }
}
Онлайн: 2
Реклама