public function testControllerWithArguments() { $collection = new RouteCollection(); $collection->add('detail', (new Route('/detail/{id}/{slug}'))->setRequirement('id', '\\d+')->setRequirement('slug', '[a-z\\-]+')->handleWith('app.controller.default:detail')); $request = Request::create('/detail/5/hello-world', Request::HTTP_METHOD_POST); $kernel = $this->buildKernel($request, $collection); $kernel->boot(); $this->assertSame('POST: hello-world-5', $this->responseEvent->getResponse()->getContent()); }
public function testKernel() { $collection = new RouteCollection(); $collection->add('home', RouteFactory::createHttpGet('/', function () { return new Response('Hello world'); })); $kernel = $this->buildKernel(Request::create('/'), $collection); $kernel->boot(); $this->assertEquals('Hello world', $this->responseEvent->getResponse()->getContent()); }
public function testLogoutOnLoginController() { $request = Request::create('/logout', Request::HTTP_METHOD_GET); $request->getCookieBag()->set('username', 'iqbal'); $kernel = $this->buildKernel($this->getRouteCollection(), $request); $kernel->boot(); $this->assertEquals('Logout', $this->responseEvent->getResponse()->getContent()); }
/** * Dispatch middlewares. * * @param Route $route * @param RequestContext $context * @param Closure $next * @param string|null $action * * @return Response|null */ protected function dispatchMiddlewares(Route $route, RequestContext $context, Closure $next, $action = null) { $request = $this->responseEvent->getRequest(); $this->registerRouteMiddleware($route); return $this->middleware->invoke($request, $context, $next, $action); }