/** * Tests that parameters can be passed into the route for use by the template * using the options parameter of a Route */ public function testRouteOptionParameters() { $params = array('home' => '/', 'suckit' => 'andsee'); // Create a route and routecollection $route0 = new Route('/', array('controller' => 'TestController'), array(), array('parameters' => $params)); $routes = new RouteCollection(); $routes->add('route0', $route0); // Our test request $request = WebRequest::create('/', 'GET', array('name' => 'Chris Noden')); $request->overrideGlobals(); $obj = new WebRouter($request); // Pass our route collection to our WebRouter object $obj->setRouteCollection($routes); // Match the request to the route $obj->match(); $controller = $obj->getController(); $this->assertEquals('TestController', $controller->getClassName()); $this->assertEquals($params, $controller->getParameters()); }
/** * Add the internal synergy route * * @param WebRouter $router * * @return mixed */ protected function addSynergyRoute(WebRouter $router) { $route = new Route('/_synergy_/{suffix}', array('controller' => 'Synergy\\Controller\\DefaultController:default'), array('suffix' => '.*')); $routeCollection = $router->getRouteCollection(); if ($routeCollection instanceof RouteCollection) { $routes = $routeCollection->all(); } $newCollection = new RouteCollection(); $newCollection->add('synergyroute', $route); // add the original route collection if (isset($routes) && is_array($routes)) { foreach ($routes as $name => $route) { $newCollection->add($name, $route); } } $router->setRouteCollection($newCollection); return $router; }