12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- <?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\Tests\Component\Routing\Matcher;
- use Symfony\Component\Routing\RouteCollection;
- use Symfony\Component\Routing\RequestContext;
- use Symfony\Component\Routing\Matcher\ApacheUrlMatcher;
- class ApacheUrlMatcherTest extends \PHPUnit_Framework_TestCase
- {
- /**
- * @dataProvider getMatchData
- */
- public function testMatch($name, $pathinfo, $server, $expect)
- {
- $collection = new RouteCollection();
- $context = new RequestContext();
- $matcher = new ApacheUrlMatcher($collection, $context);
- $_SERVER = $server;
- $result = $matcher->match($pathinfo, $server);
- $this->assertSame(var_export($expect, true), var_export($result, true));
- }
- public function getMatchData()
- {
- return array(
- array(
- 'Simple route',
- '/hello/world',
- array(
- '_ROUTING__route' => 'hello',
- '_ROUTING__controller' => 'AcmeBundle:Default:index',
- '_ROUTING_name' => 'world',
- ),
- array(
- '_route' => 'hello',
- '_controller' => 'AcmeBundle:Default:index',
- 'name' => 'world',
- ),
- ),
- array(
- 'Route with params and defaults',
- '/hello/hugo',
- array(
- '_ROUTING__route' => 'hello',
- '_ROUTING__controller' => 'AcmeBundle:Default:index',
- '_ROUTING_name' => 'hugo',
- '_ROUTING_DEFAULTS_name' => 'world',
- ),
- array(
- 'name' => 'hugo',
- '_route' => 'hello',
- '_controller' => 'AcmeBundle:Default:index',
- ),
- ),
- array(
- 'Route with defaults only',
- '/hello',
- array(
- '_ROUTING__route' => 'hello',
- '_ROUTING__controller' => 'AcmeBundle:Default:index',
- '_ROUTING_DEFAULTS_name' => 'world',
- ),
- array(
- 'name' => 'world',
- '_route' => 'hello',
- '_controller' => 'AcmeBundle:Default:index',
- ),
- ),
- array(
- 'REDIRECT_ envs',
- '/hello/world',
- array(
- 'REDIRECT__ROUTING__route' => 'hello',
- 'REDIRECT__ROUTING__controller' => 'AcmeBundle:Default:index',
- 'REDIRECT__ROUTING_name' => 'world',
- ),
- array(
- '_route' => 'hello',
- '_controller' => 'AcmeBundle:Default:index',
- 'name' => 'world',
- ),
- ),
- );
- }
- }
|