/** * @depends testConstruct * @param Router $router */ public function testRemoveExtraSlashes(Router $router) { $router->add("/:controller", ["controller" => 1]); $router->add("/:controller/:action/:params", ["controller" => 1, "action" => 2, 'params' => 3]); $routes = array('/index/' => array('controller' => 'index', 'action' => 'index'), '/session/start/' => array('controller' => 'session', 'action' => 'start'), '/users/edit/100/' => array('controller' => 'users', 'action' => 'edit')); foreach ($routes as $route => $paths) { $router->handle($route); $this->assertTrue($router->wasMatched()); $this->assertEquals($paths['controller'], $router->getControllerName()); $this->assertEquals($paths['action'], $router->getActionName()); } }
/** * @group listener * @expectedException Phalcon\Mvc\Dispatcher\Exception * @expectedExceptionMessage Cannot match route */ public function testBootRaiseException() { Route::reset(); $router = new Router($this->getDi()); $router->add('/static/route'); $appMock = m::mock(PhalconApp::class); $appMock->router = $router; $eventMock = m::mock(Event::class); (new ListenApp())->boot($eventMock, $appMock); }