Esempio n. 1
0
            $injected = $rad;
        });
        $route->bind($this->container);
        $route->resolve();
        expect($injected)->to->be->instanceof('Rad\\DependencyImpl');
    });
    it('should be able to resolve dependencies of a class responder', function () {
        $route = new Route('slug', 'Rad\\Responder');
        $route->bind($this->container);
        $dep = $route->resolve();
        expect($dep)->to->be->an->instanceof('Rad\\DependencyImpl');
    });
    it('should be able to resolve dependencies registered as a factory', function () {
        $container = new Container();
        $container->bind('Rad\\DependencyInterface', function () {
            return new \Rad\DependencyImpl();
        });
        $route = new Route('slug', 'Rad\\Responder');
        $route->bind($container);
        $dep = $route->resolve();
        expect($dep)->to->be->an->instanceof('Rad\\DependencyImpl');
    });
    it('should be able to resolve a route if container not bound', function () {
        $executed = false;
        $route = new Route('slug', function (DependencyInterface $ignoreMe) use(&$executed) {
            $executed = true;
        });
        $route->resolve();
        expect($executed)->to->be->true;
    });
});
Esempio n. 2
0
         $executed = true;
     });
     $this->router->dispatch('GET', ['blah' => '/custom-endpoint']);
     expect($executed)->to->be->false;
 });
 it('should use the $_REQUEST super global to match when dispatching a route', function () {
     $_REQUEST = ['scoped_action' => '/custom-endpoint'];
     $this->router->get('/custom-endpoint', function () use(&$executed) {
         $executed = true;
     });
     $this->router->dispatch('GET');
     expect($executed)->to->be->true;
 });
 it('should forward a bound container to its routes', function () {
     $container = new Container();
     $container->bind('Rad\\DependencyInterface', 'Rad\\DependencyImpl');
     $this->router->bind($container);
     $dep = null;
     $this->router->get('/custom-endpoint', function (DependencyInterface $rad) use(&$dep) {
         $dep = $rad;
     });
     $this->router->dispatch('GET', ['scoped_action' => '/custom-endpoint']);
     expect($dep)->to->be->instanceof('Rad\\DependencyImpl');
 });
 it('should use $_SERVER[REQUEST_METHOD] to determine parameters if no arguments provided', function () {
     $_REQUEST = ['scoped_action' => '/custom-endpoint'];
     $_SERVER = ['REQUEST_METHOD' => 'GET'];
     $this->router->get('/custom-endpoint', function () use(&$executed) {
         $executed = true;
     });
     $this->router->dispatch();