/** * Loads rules * * @return array */ protected function getRules() { if ($this->compiledRules === null) { $rules = array(); foreach ($this->ruleFiles as $file) { $rules = array_merge($rules, $this->parser->parse($file)); } $this->compiledRules = $this->compiler->compile($rules); } return $this->compiledRules; }
/** * @dataProvider getTestFiles */ public function testParse($file) { $parser = new Search\TransformationProcessor\DefinitionBased\Parser(self::getInstallationDir()); $fixture = (include $file . '.result'); $this->assertEquals($fixture, $parser->parse(str_replace(self::getInstallationDir(), '', $file))); }
public function testCompileModuloTranspose() { $parser = new Search\TransformationProcessor\DefinitionBased\Parser(self::getInstallationDir()); $compiler = new Search\TransformationProcessor\PcreCompiler(new Search\Utf8Converter()); $rules = $compiler->compile($parser->parseString("transpose_modulo_test:\n" . "U+00e0 - U+00e6 % 02 - 01")); $this->assertSame('ßááããååçè', $this->applyTransformations($rules, 'àáâãäåæçè')); }