Nelmio\Alice\FixtureBuilder\ExpressionLanguage\Lexer\SubPatternsLexer::lex PHP Method

lex() public method

public lex ( string $value ) : array
$value string
return array
    public function lex(string $value) : array
    {
        $offset = 0;
        $valueLength = strlen($value);
        $tokens = [];
        while ($offset < $valueLength) {
            $valueFragment = substr($value, $offset);
            $fragmentTokens = $this->lexFragment($this->referenceLexer, $valueFragment);
            foreach ($fragmentTokens as $fragmentToken) {
                $tokens[] = $fragmentToken;
                $offset += strlen($fragmentToken->getValue());
            }
        }
        return $tokens;
    }

Usage Example

Example #1
0
 /**
  * @expectedException \InvalidArgumentException
  * @expectedExceptionMessage Invalid token "<foo>" found.
  */
 public function testThrowsAnExceptionWhenAnInvalidValueIsGiven()
 {
     $lexer = new SubPatternsLexer(new FakeLexer());
     $lexer->lex('<foo>');
 }