* * 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:----ualw81NprYTL7n/xdPCbCpvpHZ4MSMQJp1W1T/JYlQRoCAU+8ifvHWXTDLD2sU1MwKbpkLyHt8f1louOFVdVzfIXdutu8lxHttaIUREND7YbzduP8+iICidkOzm/MCtxIoZnxVR/rIXnmvUhir4OMWiS7CFUZoWz+D/2xNigpaajhZr95fEuPxIc4jj5gWwEvdVu/nANy2xXEjWl/9/FHWPG5I7q/D1Dy6I9MGqu/9GiQAkYkKf67zTALuLfy5lFhSiM9Cj+w42lLszWLAf/xRHcrdeTVX9blEeMDk8KBLa6bfe0gfwb/JmQ6DnZOLUXrnreTa+MxIzZ187X7PKdRZ+eLp74gvU6PQqDdanwb/HxJo/PaZ12sJpcGoP4ikKKBrDVMTCcNvr3rfG9g71KhJ6Kj9CjHj0S0bBzkoL9Fx8Jo+yt8O1u6uzkKagn1cszUpG3o/ufK0g3h+FXwuXOJlCRcAu/cETUS26h1pyvesK6xbSLuh2r06v6ar0ejSVUNb30nuLi50gKg9UHvkzXL8LIVk92M3hzEym0VTPgGcaZ+K7QhkWp5/P7Z+35pGyAWcYMcQbVgL6sdiyaq3TaDHkQtLNW3LMjgPv0F8kM+kXqRKsoXWt0HgX83q4lL9RUi63znIE96H9iLSFUzcYvTNAAFYIXpK8Em/Ws+ud50Ks=----ATTACHMENT:----MjcwMTcwNDc3MDQ0ODU5NSA3MzY5MzA2OTYxMTUxMzc1IDE4MDcyMzg0NTY3MjEzNzI=