1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- <?php
- class RoutingTest extends PHPUnit_Framework_TestCase {
- public static function setUpBeforeClass()
- {
- $routes = array();
- $routes['GET /'] = function() {return 'root';};
- $routes['GET /home'] = array('name' => 'home', 'do' => function() {});
- $routes['POST /home'] = array('name' => 'post-home', 'do' => function() {});
- $routes['GET /user/(:num)'] = array('name' => 'user', 'do' => function() {});
- $routes['GET /user/(:any)/(:num)/edit'] = array('name' => 'edit', 'do' => function() {});
- System\Router::$routes = $routes;
- }
- public function testRouterReturnsNullWhenNotFound()
- {
- $this->assertNull(System\Router::route('GET', 'not-found'));
- }
- public function testRouterRoutesToProperRouteWhenSegmentsArePresent()
- {
- $this->assertEquals(System\Router::route('GET', 'home')->callback['name'], 'home');
- $this->assertEquals(System\Router::route('POST', 'home')->callback['name'], 'post-home');
- $this->assertEquals(System\Router::route('GET', 'user/1')->callback['name'], 'user');
- $this->assertEquals(System\Router::route('GET', 'user/taylor/25/edit')->callback['name'], 'edit');
- }
- public function testRouterReturnsNullWhenRouteNotFound()
- {
- $this->assertNull(System\Router::route('POST', 'user/taylor/25/edit'));
- $this->assertNull(System\Router::route('GET', 'user/taylor/taylor/edit'));
- $this->assertNull(System\Router::route('GET', 'user/taylor'));
- $this->assertNull(System\Router::route('GET', 'user/12-3'));
- }
- public static function tearDownAfterClass()
- {
- System\Router::$routes = null;
- }
- }
|