This method is used to optimize the matching process.
public reduceTargetClassNames ( |
||
$classNameIndex | ||
Результат |
/** * @test */ public function reduceTargetClassNamesFiltersAllClassesNotMatchedByAClassNameFilterWithRegularExpressions() { $availableClassNames = ['TestPackage\\Subpackage\\Class1', 'TestPackage\\Class2', 'TestPackage\\Subpackage\\SubSubPackage\\Class3', 'TestPackage\\Subpackage2\\Class4']; sort($availableClassNames); $availableClassNamesIndex = new Aop\Builder\ClassNameIndex(); $availableClassNamesIndex->setClassNames($availableClassNames); $expectedClassNames = ['TestPackage\\Subpackage\\Class1', 'TestPackage\\Subpackage\\SubSubPackage\\Class3']; sort($expectedClassNames); $expectedClassNamesIndex = new Aop\Builder\ClassNameIndex(); $expectedClassNamesIndex->setClassNames($expectedClassNames); $classNameFilter = new Aop\Pointcut\PointcutClassNameFilter('TestPackage\\Subpackage\\.*'); $result = $classNameFilter->reduceTargetClassNames($availableClassNamesIndex); $this->assertEquals($expectedClassNamesIndex, $result, 'The wrong class names have been filtered'); }