Esempio n. 1
0
 /**
  *
  */
 public function testFind()
 {
     $finderResult = 'finder_result';
     $request = new RequestMock();
     $request->setRequestUri('uri');
     $route1 = new Route(new RoutePattern('pattern'), function () {
     });
     $route1->getPattern()->setMethod('post');
     $route2 = new Route(new RoutePattern('pattern'), function () {
     });
     $route3 = new Route(new RoutePattern('pattern'), function () {
     });
     $route3->getPattern()->setContentType('application/json');
     $routes = [$route1, $route2, $route3];
     $router = new Router($this->getRouteFinder($finderResult, $request, $routes));
     $router->addRoute($route1);
     $router->addRoute($route2);
     $router->addRoute($route3);
     $this->assertSame($finderResult, $router->find($request, new \ArrayObject()));
 }
Esempio n. 2
0
 /**
  * @param Route $route
  * @return bool
  */
 private function matchFilters(Route $route)
 {
     foreach ($route->getPattern()->getFilters() as $filter) {
         if (!$this->callFilter($filter)) {
             return false;
         }
     }
     return true;
 }
Esempio n. 3
0
 /**
  * Tests that the services not asked are not instantiated
  */
 public function testCallWithServicesNotCalled()
 {
     $pattern = 'pattern';
     $controller = function () {
         return func_get_args();
     };
     $call = 0;
     $services = new Container();
     $services['service1'] = function () use(&$call) {
         return ++$call;
     };
     $route = new Route(new RoutePattern($pattern), $controller);
     $route->call($services);
     $this->assertSame(1, $services['service1']);
     ///service1 is called for the first time
 }