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

class 
ReaderTest extends PHPUnit_Framework_TestCase
{
    public function 
testIsEOF()
    {
        
$reader = new Reader('');
        
$this->assertTrue($reader->isEOF());

        
$reader = new Reader('hello');
        
$this->assertFalse($reader->isEOF());

        
$this->assignPosition($reader2);
        
$this->assertFalse($reader->isEOF());

        
$this->assignPosition($reader5);
        
$this->assertTrue($reader->isEOF());
    }

    public function 
testGetRemainingLength()
    {
        
$reader = new Reader('hello');
        
$this->assertEquals(5$reader->getRemainingLength());

        
$this->assignPosition($reader2);
        
$this->assertEquals(3$reader->getRemainingLength());

        
$this->assignPosition($reader5);
        
$this->assertEquals(0$reader->getRemainingLength());
    }

    public function 
testGetSubstring()
    {
        
$reader = new Reader('hello');
        
$this->assertEquals('he'$reader->getSubstring(2));
        
$this->assertEquals('el'$reader->getSubstring(21));

        
$this->assignPosition($reader2);
        
$this->assertEquals('ll'$reader->getSubstring(2));
        
$this->assertEquals('lo'$reader->getSubstring(21));
    }

    public function 
testGetOffset()
    {
        
$reader = new Reader('hello');
        
$this->assertEquals(2$reader->getOffset('ll'));
        
$this->assertFalse($reader->getOffset('w'));

        
$this->assignPosition($reader2);
        
$this->assertEquals(0$reader->getOffset('ll'));
        
$this->assertFalse($reader->getOffset('he'));
    }

    public function 
testFindPattern()
    {
        
$reader = new Reader('hello');

        
$this->assertFalse($reader->findPattern('/world/'));
        
$this->assertEquals(array('hello''h'), $reader->findPattern('/^([a-z]).*/'));

        
$this->assignPosition($reader2);
        
$this->assertFalse($reader->findPattern('/^h.*/'));
        
$this->assertEquals(array('llo'), $reader->findPattern('/^llo$/'));
    }

    public function 
testMoveForward()
    {
        
$reader = new Reader('hello');
        
$this->assertEquals(0$reader->getPosition());

        
$reader->moveForward(2);
        
$this->assertEquals(2$reader->getPosition());
    }

    public function 
testToEnd()
    {
        
$reader = new Reader('hello');
        
$reader->moveToEnd();
        
$this->assertTrue($reader->isEOF());
    }

    private function 
assignPosition(Reader $reader$value)
    {
        
$position = new ReflectionProperty($reader'position');
        
$position->setAccessible(true);
        
$position->setValue($reader$value);
    }
}
Онлайн: 0
Реклама