1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- <?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\Bundle\FrameworkBundle\Tests\Command;
- use PHPUnit\Framework\TestCase;
- use Symfony\Bundle\FrameworkBundle\Command\RouterDebugCommand;
- use Symfony\Component\Console\Application;
- use Symfony\Component\Console\Tester\CommandTester;
- use Symfony\Component\Routing\Route;
- use Symfony\Component\Routing\RouteCollection;
- class RouterDebugCommandTest extends TestCase
- {
- public function testDebugAllRoutes()
- {
- $tester = $this->createCommandTester();
- $ret = $tester->execute(array('name' => null), array('decorated' => false));
- $this->assertEquals(0, $ret, 'Returns 0 in case of success');
- $this->assertContains('Name Method Scheme Host Path', $tester->getDisplay());
- }
- public function testDebugSingleRoute()
- {
- $tester = $this->createCommandTester();
- $ret = $tester->execute(array('name' => 'foo'), array('decorated' => false));
- $this->assertEquals(0, $ret, 'Returns 0 in case of success');
- $this->assertContains('Route Name | foo', $tester->getDisplay());
- }
- /**
- * @expectedException \InvalidArgumentException
- */
- public function testDebugInvalidRoute()
- {
- $this->createCommandTester()->execute(array('name' => 'test'));
- }
- /**
- * @return CommandTester
- */
- private function createCommandTester()
- {
- $application = new Application();
- $command = new RouterDebugCommand();
- $command->setContainer($this->getContainer());
- $application->add($command);
- return new CommandTester($application->find('debug:router'));
- }
- private function getContainer()
- {
- $routeCollection = new RouteCollection();
- $routeCollection->add('foo', new Route('foo'));
- $router = $this->getMockBuilder('Symfony\Component\Routing\RouterInterface')->getMock();
- $router
- ->expects($this->any())
- ->method('getRouteCollection')
- ->will($this->returnValue($routeCollection))
- ;
- $loader = $this->getMockBuilder('Symfony\Bundle\FrameworkBundle\Routing\DelegatingLoader')
- ->disableOriginalConstructor()
- ->getMock();
- $container = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerInterface')->getMock();
- $container
- ->expects($this->once())
- ->method('has')
- ->with('router')
- ->will($this->returnValue(true))
- ;
- $container
- ->method('get')
- ->will($this->returnValueMap(array(
- array('router', 1, $router),
- array('controller_name_converter', 1, $loader),
- )));
- return $container;
- }
- }
|