'posts', 'action' => 'index'], '', ['controller' => 'posts', 'action' => 'index'] ], [ '{controller}/{action}', [], '/posts/entry', ['controller' => 'posts', 'action' => 'entry'] ], [ '{controller}/{action}/{id:\d+}', [], '/posts/edit/3', ['controller' => 'posts', 'action' => 'edit', 'id' => '3'] ], [ '{action}', ['controller' => 'home'], '/login', ['controller' => 'home'] ] ]; } /** * * @test * @dataProvider routeProvider */ public function matchingRouteSuccess($route, $params, $url, $expected_param) { $router = new Router(); $router->add($route, $params); $this->assertTrue($router->match($url)); // $this->assertEquals($expected_param, $router->getParams()); } /** * * @test * @dataProvider routeProvider */ public function dispatchingRouteSuccess($route, $params, $url) { $router = new Router(); $router->add($route, $params); $this->assertTrue($router->dispatch($url)); } }