Exemplo n.º 1
0
 public function __construct($dir)
 {
     $this->fileLoader = new jsonFileLoader();
     $this->fileLoader->setRouteCollection(new RouteCollection());
     $this->fileLoader->setRouteClass(new Route());
     $this->router = new Router();
     $this->router->setRouteCollection($this->fileLoader->load($dir . '/routes.json'));
     $this->registry = Registry::getInstance();
 }
Exemplo n.º 2
0
 public function testRouter()
 {
     $my = new RouteCollection();
     $route3 = new Route(array("path" => "error", "class" => "index"));
     $my->addRoute($route3);
     $route = new Route(array("path" => "/[abstract]", "class" => "[abstract]"));
     $my->addRoute($route);
     $this->assertEquals(null, $my->findRouteBy("", "path"));
     $this->assertEquals($route, $my->findRouteBy("/[abstract]", "path"));
     $this->assertEquals(array($route3, $route), $my->getAll());
     $route2 = new Route(array("path" => "/abstract/[class]", "class" => "[class]"));
     $this->assertEquals($my, $my->mergeCollection((new RouteCollection())->addRoute($route2)));
     $found = $my->findRouteBy("/abstract/[class]", "path");
     $this->assertEquals($route2, $my->findRouteBy("/abstract/[class]", "path"));
     $router = new Router();
     $router->setRouteCollection($my);
     $this->assertEquals(new Route(array("path" => "/[abstract]", "class" => "abstract")), $router->match("/abstract"));
     $this->assertEquals($route3, $router->match("/abstract/class/?a"));
     $this->assertEquals(new Route(array("path" => "/abstract/[class]", "class" => "tempor")), $router->match("/abstract/tempor"));
 }