| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- <?php
- use Laravel\Routing\Router;
- class RoutingTest extends PHPUnit_Framework_TestCase {
- /**
- * Destroy the testing environment.
- */
- public function tearDown()
- {
- Router::$names = array();
- Router::$routes = array();
- }
- /**
- * Test the basic routing mechanism.
- *
- * @group laravel
- */
- public function testBasicRouteCanBeRouted()
- {
- Router::register('GET /', function() {});
- Router::register('GET /home', function() {});
- $this->assertEquals('GET /', Router::route('GET', '/')->key);
- $this->assertEquals('GET /home', Router::route('GET', '/home')->key);
- }
- /**
- * Test that the router can handle basic wildcards.
- *
- * @group laravel
- */
- public function testWildcardRoutesCanBeRouted()
- {
- Router::register('GET /user/(:num)', function() {});
- Router::register('GET /profile/(:any)/(:num)', function() {});
- $this->assertNull(Router::route('GET', 'user/1.5'));
- $this->assertNull(Router::route('GET', 'user/taylor'));
- $this->assertEquals('GET /user/(:num)', Router::route('GET', 'user/1')->key);
- $this->assertNull(Router::route('GET', 'profile/1/otwell'));
- $this->assertNull(Router::route('POST', 'profile/taylor/1'));
- $this->assertNull(Router::route('GET', 'profile/taylor/otwell'));
- $this->assertNull(Router::route('GET', 'profile/taylor/1/otwell'));
- $this->assertEquals('GET /profile/(:any)/(:num)', Router::route('GET', 'profile/taylor/1')->key);
- }
- /**
- * Test that optional wildcards can be routed.
- *
- * @group laravel
- */
- public function testOptionalWildcardsCanBeRouted()
- {
- Router::register('GET /user/(:num?)', function() {});
- Router::register('GET /profile/(:any)/(:any?)', function() {});
- $this->assertNull(Router::route('GET', 'user/taylor'));
- $this->assertEquals('GET /user/(:num?)', Router::route('GET', 'user')->key);
- $this->assertEquals('GET /user/(:num?)', Router::route('GET', 'user/1')->key);
- $this->assertNull(Router::route('GET', 'profile/taylor/otwell/test'));
- $this->assertEquals('GET /profile/(:any)/(:any?)', Router::route('GET', 'profile/taylor')->key);
- $this->assertEquals('GET /profile/(:any)/(:any?)', Router::route('GET', 'profile/taylor/25')->key);
- $this->assertEquals('GET /profile/(:any)/(:any?)', Router::route('GET', 'profile/taylor/otwell')->key);
- }
- /**
- * Test that basic controller routing is working.
- *
- * @group laravel
- */
- public function testBasicRouteToControllerIsRouted()
- {
- $this->assertEquals('home@index', Router::route('GET', '/')->action['uses']);
- $this->assertEquals('auth@index', Router::route('GET', 'auth')->action['uses']);
- $this->assertEquals('home@index', Router::route('GET', 'home')->action['uses']);
- $this->assertEquals('home@index', Router::route('GET', 'home/index')->action['uses']);
- $this->assertEquals('home@profile', Router::route('GET', 'home/profile')->action['uses']);
- $this->assertEquals('admin.panel@index', Router::route('GET', 'admin/panel')->action['uses']);
- $this->assertEquals('admin.panel@show', Router::route('GET', 'admin/panel/show')->action['uses']);
- }
- /**
- * Test basic bundle route resolution.
- *
- * @group laravel
- */
- public function testRoutesToBundlesCanBeResolved()
- {
- $this->assertNull(Router::route('GET', 'dashboard/foo'));
- $this->assertEquals('GET /dashboard', Router::route('GET', 'dashboard')->key);
- }
- /**
- * Test bundle controller route resolution.
- *
- * @group laravel
- */
- public function testBundleControllersCanBeResolved()
- {
- $this->assertEquals('dashboard::panel@index', Router::route('GET', 'dashboard/panel')->action['uses']);
- $this->assertEquals('dashboard::panel@show', Router::route('GET', 'dashboard/panel/show')->action['uses']);
- }
- }
|