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

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

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

Usage Example

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