ClosureLoaderTest.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. /*
  3. * This file is part of the Symfony package.
  4. * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
  5. *
  6. * For the full copyright and license information, please view the LICENSE
  7. * file that was distributed with this source code.
  8. */
  9. namespace Symfony\Tests\Component\Routing\Loader;
  10. use Symfony\Component\Routing\Loader\LoaderResolver;
  11. use Symfony\Component\Routing\Loader\ClosureLoader;
  12. use Symfony\Component\Routing\Route;
  13. use Symfony\Component\Routing\RouteCollection;
  14. class ClosureLoaderTest extends \PHPUnit_Framework_TestCase
  15. {
  16. /**
  17. * @covers Symfony\Component\Routing\Loader\ClosureLoader::supports
  18. */
  19. public function testSupports()
  20. {
  21. $loader = new ClosureLoader();
  22. $this->assertTrue($loader->supports(function ($container) {}), '->supports() returns true if the resource is loadable');
  23. $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
  24. }
  25. /**
  26. * @covers Symfony\Component\Routing\Loader\ClosureLoader::load
  27. */
  28. public function testLoad()
  29. {
  30. $loader = new ClosureLoader();
  31. $route = new Route('/');
  32. $routes = $loader->load(function () use ($route)
  33. {
  34. $routes = new RouteCollection();
  35. $routes->addRoute('foo', $route);
  36. return $routes;
  37. });
  38. $this->assertEquals($route, $routes->getRoute('foo'), '->load() loads a \Closure resource');
  39. }
  40. }