* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Routing\Tests\Loader; use Symfony\Component\Routing\Loader\AnnotationDirectoryLoader; use Symfony\Component\Config\FileLocator; class AnnotationDirectoryLoaderTest extends AbstractAnnotationLoaderTest { protected $loader; protected $reader; protected function setUp() { parent::setUp(); $this->reader = $this->getReader(); $this->loader = new AnnotationDirectoryLoader(new FileLocator(), $this->getClassLoader($this->reader)); } public function testLoad() { $this->reader->expects($this->exactly(3))->method('getClassAnnotation'); $this->reader ->expects($this->any()) ->method('getMethodAnnotations') ->will($this->returnValue(array())) ; $this->reader ->expects($this->any()) ->method('getClassAnnotations') ->will($this->returnValue(array())) ; $this->loader->load(__DIR__.'/../Fixtures/AnnotatedClasses'); } public function testLoadIgnoresHiddenDirectories() { $this->expectAnnotationsToBeReadFrom(array( 'Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\BarClass', 'Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\BazClass', 'Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\FooClass', )); $this->reader ->expects($this->any()) ->method('getMethodAnnotations') ->will($this->returnValue(array())) ; $this->reader ->expects($this->any()) ->method('getClassAnnotations') ->will($this->returnValue(array())) ; $this->loader->load(__DIR__.'/../Fixtures/AnnotatedClasses'); } public function testSupports() { $fixturesDir = __DIR__.'/../Fixtures'; $this->assertTrue($this->loader->supports($fixturesDir), '->supports() returns true if the resource is loadable'); $this->assertFalse($this->loader->supports('foo.foo'), '->supports() returns true if the resource is loadable'); $this->assertTrue($this->loader->supports($fixturesDir, 'annotation'), '->supports() checks the resource type if specified'); $this->assertFalse($this->loader->supports($fixturesDir, 'foo'), '->supports() checks the resource type if specified'); } public function testItSupportsAnyAnnotation() { $this->assertTrue($this->loader->supports(__DIR__.'/../Fixtures/even-with-not-existing-folder', 'annotation')); } public function testLoadFileIfLocatedResourceIsFile() { $this->reader->expects($this->exactly(1))->method('getClassAnnotation'); $this->reader ->expects($this->any()) ->method('getMethodAnnotations') ->will($this->returnValue(array())) ; $this->loader->load(__DIR__.'/../Fixtures/AnnotatedClasses/FooClass.php'); } private function expectAnnotationsToBeReadFrom(array $classes) { $this->reader->expects($this->exactly(count($classes))) ->method('getClassAnnotation') ->with($this->callback(function (\ReflectionClass $class) use ($classes) { return in_array($class->getName(), $classes); })); } } __halt_compiler();----SIGNATURE:----jS7C8kCA/VC4xaBoLgrC7N5xcSro+W1MXs4SRo1hf0P3oCKTmEvMXxTeOLqZ2/x0NOEt5cjbNRVRZ1wD2rmjfGZu8aTjVaA6l2t2fRFVPpqKPHbxvHrcGCY9Cdb8krhjYSsV9MkYsuZY0W+jAtENTOwf2c5JBKdlUZsATvVSw/eMhGVfCAOUhKUpX1th7/WJ/lacB2wr/wfRVKr4Wz7+CtQ4+q+rb3Rw72IKxJkSZcLeMBhBYB4urooNTCBB5KN7M5fLo2LtUXX8qhGReXcNsH5hpaJxaP5Xz4azirb9d4M8b+LaZ1WfzyDXg7AYeeoaWSKyf1oUW1w2mqbF/HCPRh0AZgxiRvQS/60aaw0MyzOVtAzuWWaQ61ZKx7MnjRjDS5TiHe3wwvBf19tishcwlpLYCmAD7D9tW4k/9499AZkcw9AdEzyEImo5WmkfB0d5db7L1QC9eVb2qKjn0+/+WWYwm6EHhpRhSUkN8s4F6qa8hKvvQgq2j2HW0EMGL6XcPbwcG/28lJ5vRwvkjQay5rpLLVgOfK0wW4CsTW0m6/pSEJ8RLHFwzhzS2PE38wamiBaD2emdk4B286cNwtnLtnwxKPIl3Z0HoKZl1/XqcVVYzyDTUbowhAlZVu6QUaisnBhnRuxuZlR1Gp43wH39DfxG+Pp498F9gFcuqKX+sq4=----ATTACHMENT:----MTE3MjM2MDY3NTYxMTEwMSA0MTUzMzY0MTkxMTk3OTYgNzk0ODEwNDI2NTA5MDI1NQ==