public function testCompile() { $expected = '#foo.*bar#u'; $patternValue = 'foo*bar'; $patternTokens = [[Tokenizer::T_WORD, 1, 'foo'], [Tokenizer::T_WILDCARD_MULTI, 1, '*'], [Tokenizer::T_WORD, 1, 'bar']]; $this->tokenizer->expects($this->once())->method('parse')->with($patternValue)->will($this->returnValue($patternTokens)); $this->builder->expects($this->once())->method('createFromTokens')->with($patternTokens)->will($this->returnValue($expected)); $result = $this->compiler->compile($patternValue); $this->assertEquals($expected, $result); }
/** * Tests Globby::compile() with genuine (non-mocked) Tokenizer and Builder instances */ public function testCompile() { $factory = new UsingCompiledRegex(new LexerDataGenerator()); $tokenizer = new Glob($factory); $builder = new Regex(); $compiler = new Globby($tokenizer, $builder); $pattern = 'foo*bar.ba[zr]?[!1[:alpha:]4-59][^x]'; $expected = '#^foo.*bar\\.ba[zr].[^1[:alpha:]4-59][^x]$#u'; $result = $compiler->compile($pattern); $this->assertEquals($expected, $result); }