4 * This file is part of the Symfony package.
6 * (c) Fabien Potencier <fabien@symfony.com>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Symfony\Component\Finder\Tests;
14 use Symfony\Component\Finder\Adapter\PhpAdapter;
15 use Symfony\Component\Finder\Finder;
20 class PhpFinderTest extends FinderTest
22 public function testImplementationsAreSynchronized()
24 $adapterReflector = new \ReflectionMethod('Symfony\Component\Finder\Adapter\PhpAdapter', 'searchInDirectory');
25 $finderReflector = new \ReflectionMethod('Symfony\Component\Finder\Finder', 'searchInDirectory');
27 $adapterSource = array_slice(file($adapterReflector->getFileName()), $adapterReflector->getStartLine() + 1, $adapterReflector->getEndLine() - $adapterReflector->getStartLine() - 1);
28 $adapterSource = implode('', $adapterSource);
29 $adapterSource = str_replace(array('$this->minDepth', '$this->maxDepth'), array('$minDepth', '$maxDepth'), $adapterSource);
31 $finderSource = array_slice(file($finderReflector->getFileName()), $finderReflector->getStartLine() + 1, $finderReflector->getEndLine() - $finderReflector->getStartLine() - 1);
32 $finderSource = implode('', $finderSource);
34 $this->assertStringEndsWith($adapterSource, $finderSource);
37 protected function buildFinder()
39 $adapter = new PhpAdapter();
41 return Finder::create()
43 ->addAdapter($adapter);