2015-08-17 17:00:26 -07:00
< ? php
/*
* This file is part of the Symfony package .
*
* ( c ) Fabien Potencier < fabien @ symfony . com >
*
* 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\AnnotationFileLoader ;
use Symfony\Component\Config\FileLocator ;
2015-10-08 11:40:12 -07:00
use Symfony\Component\Routing\Annotation\Route ;
2015-08-17 17:00:26 -07:00
class AnnotationFileLoaderTest extends AbstractAnnotationLoaderTest
{
protected $loader ;
protected $reader ;
protected function setUp ()
{
parent :: setUp ();
$this -> reader = $this -> getReader ();
$this -> loader = new AnnotationFileLoader ( new FileLocator (), $this -> getClassLoader ( $this -> reader ));
}
public function testLoad ()
{
$this -> reader -> expects ( $this -> once ()) -> method ( 'getClassAnnotation' );
$this -> loader -> load ( __DIR__ . '/../Fixtures/AnnotatedClasses/FooClass.php' );
}
2015-10-08 11:40:12 -07:00
/**
* @ requires PHP 5.6
*/
public function testLoadVariadic ()
{
$route = new Route ( array ( 'path' => '/path/to/{id}' ));
$this -> reader -> expects ( $this -> once ()) -> method ( 'getClassAnnotation' );
$this -> reader -> expects ( $this -> once ()) -> method ( 'getMethodAnnotations' )
-> will ( $this -> returnValue ( array ( $route )));
$this -> loader -> load ( __DIR__ . '/../Fixtures/OtherAnnotatedClasses/VariadicClass.php' );
}
2015-08-17 17:00:26 -07:00
public function testSupports ()
{
$fixture = __DIR__ . '/../Fixtures/annotated.php' ;
$this -> assertTrue ( $this -> loader -> supports ( $fixture ), '->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 ( $fixture , 'annotation' ), '->supports() checks the resource type if specified' );
$this -> assertFalse ( $this -> loader -> supports ( $fixture , 'foo' ), '->supports() checks the resource type if specified' );
}
}