mageekguy\atoum\php\tokenizer\iterator::next PHP Метод

next() публичный Метод

public next ( $offset = 1 )
    public function next($offset = 1)
    {
        while (($valid = $this->valid()) === true && $offset > 0) {
            $currentValue = current($this->values);
            $currentValue->next();
            while ($currentValue->valid() === false && $valid === true) {
                next($this->values);
                if (($valid = $this->valid()) === true) {
                    $currentValue = current($this->values);
                    $currentValue->rewind();
                }
            }
            if ($valid === true) {
                while (in_array($this->current(), $this->skipedValues) === true && $this->valid() === true) {
                    $this->next();
                }
            }
            $this->key++;
            $offset--;
        }
        return $this;
    }

Usage Example

Пример #1
0
 public function testGetValue()
 {
     $iterator = new tokenizer\iterator();
     $this->assert->variable($iterator->getValue())->isNull();
     $innerIterator = new tokenizer\iterator();
     $innerIterator->append(new tokenizer\token(uniqid()));
     $iterator->append($token1 = new tokenizer\token(uniqid()))->append($innerIterator)->append($token2 = new tokenizer\token(uniqid()));
     $this->assert->object($iterator->getValue())->isIdenticalTo($token1)->object($iterator->next()->getValue())->isIdenticalTo($innerIterator)->object($iterator->next()->getValue())->isIdenticalTo($token2)->variable($iterator->next()->getValue())->isNull();
 }