| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 | 
							- <?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;
 - 
 - use Symfony\Component\Routing\Route;
 - 
 - class RouteCompilerTest extends \PHPUnit_Framework_TestCase
 - {
 -     /**
 -      * @dataProvider provideCompileData
 -      */
 -     public function testCompile($name, $arguments, $prefix, $regex, $variables, $tokens)
 -     {
 -         $r = new \ReflectionClass('Symfony\\Component\\Routing\\Route');
 -         $route = $r->newInstanceArgs($arguments);
 - 
 -         $compiled = $route->compile();
 -         $this->assertEquals($prefix, $compiled->getStaticPrefix(), $name.' (static prefix)');
 -         $this->assertEquals($regex, str_replace(array("\n", ' '), '', $compiled->getRegex()), $name.' (regex)');
 -         $this->assertEquals($variables, $compiled->getVariables(), $name.' (variables)');
 -         $this->assertEquals($tokens, $compiled->getTokens(), $name.' (tokens)');
 -     }
 - 
 -     public function provideCompileData()
 -     {
 -         return array(
 -             array(
 -                 'Static route',
 -                 array('/foo'),
 -                 '/foo', '#^/foo$#x', array(), array(
 -                     array('text', '/foo'),
 -                 )),
 - 
 -             array(
 -                 'Route with a variable',
 -                 array('/foo/{bar}'),
 -                 '/foo', '#^/foo/(?P<bar>[^/]+?)$#x', array('bar'), array(
 -                     array('variable', '/', '[^/]+?', 'bar'),
 -                     array('text', '/foo'),
 -                 )),
 - 
 -             array(
 -                 'Route with a variable that has a default value',
 -                 array('/foo/{bar}', array('bar' => 'bar')),
 -                 '/foo', '#^/foo(?:/(?P<bar>[^/]+?))?$#x', array('bar'), array(
 -                     array('variable', '/', '[^/]+?', 'bar'),
 -                     array('text', '/foo'),
 -                 )),
 - 
 -             array(
 -                 'Route with several variables',
 -                 array('/foo/{bar}/{foobar}'),
 -                 '/foo', '#^/foo/(?P<bar>[^/]+?)/(?P<foobar>[^/]+?)$#x', array('bar', 'foobar'), array(
 -                     array('variable', '/', '[^/]+?', 'foobar'),
 -                     array('variable', '/', '[^/]+?', 'bar'),
 -                     array('text', '/foo'),
 -                 )),
 - 
 -             array(
 -                 'Route with several variables that have default values',
 -                 array('/foo/{bar}/{foobar}', array('bar' => 'bar', 'foobar' => '')),
 -                 '/foo', '#^/foo(?:/(?P<bar>[^/]+?)(?:/(?P<foobar>[^/]+?))?)?$#x', array('bar', 'foobar'), array(
 -                     array('variable', '/', '[^/]+?', 'foobar'),
 -                     array('variable', '/', '[^/]+?', 'bar'),
 -                     array('text', '/foo'),
 -                 )),
 - 
 -             array(
 -                 'Route with several variables but some of them have no default values',
 -                 array('/foo/{bar}/{foobar}', array('bar' => 'bar')),
 -                 '/foo', '#^/foo/(?P<bar>[^/]+?)/(?P<foobar>[^/]+?)$#x', array('bar', 'foobar'), array(
 -                     array('variable', '/', '[^/]+?', 'foobar'),
 -                     array('variable', '/', '[^/]+?', 'bar'),
 -                     array('text', '/foo'),
 -                 )),
 - 
 -             array(
 -                 'Route with an optional variable as the first segment',
 -                 array('/{bar}', array('bar' => 'bar')),
 -                 '', '#^/(?:(?P<bar>[^/]+?))?$#x', array('bar'), array(
 -                     array('variable', '/', '[^/]+?', 'bar'),
 -                 )),
 - 
 -             array(
 -                 'Route with an optional variable as the first segment with requirements',
 -                 array('/{bar}', array('bar' => 'bar'), array('bar' => '(foo|bar)')),
 -                 '', '#^/(?:(?P<bar>(foo|bar)))?$#x', array('bar'), array(
 -                     array('variable', '/', '(foo|bar)', 'bar'),
 -                 )),
 -         );
 -     }
 - }
 
 
  |