Esempio n. 1
0
 /**
  * @covers \Splot\Framework\Events\ControllerDidRespond::__construct
  * @covers \Splot\Framework\Events\ControllerDidRespond::getRequest
  */
 public function testControllerDidRespondToRequest()
 {
     $controllerResponse = new ControllerResponse('some response');
     $controller = new TestController(new Container());
     $request = Request::create('/test/');
     $event = new Events\ControllerDidRespond($controllerResponse, 'SplotTestModule:TestController', $controller, 'index', array(), $request);
     $this->assertSame($event->getRequest(), $request);
 }
 public function onControllerDidRespond(ControllerDidRespond $event)
 {
     $request = $event->getRequest();
     if (!is_object($request) || !$request instanceof Request) {
         return;
     }
     $controllerResponse = $event->getControllerResponse();
     $response = $controllerResponse->getResponse();
     if (!is_array($response) || !$request->isXmlHttpRequest()) {
         return;
     }
     $ajaxResponse = $this->transform($response);
     $controllerResponse->setResponse($ajaxResponse);
 }
 /**
  * @covers ::render
  * @covers ::renderController
  */
 public function testRenderingControllers()
 {
     $routesModule = new SplotRoutesTestModule();
     $this->application->addTestModule($routesModule);
     $controllerWillRespondCalled = false;
     $controllerDidRespondCalled = false;
     $this->application->getContainer()->get('event_manager')->subscribe(ControllerWillRespond::getName(), function () use(&$controllerWillRespondCalled) {
         $controllerWillRespondCalled = true;
     });
     $this->application->getContainer()->get('event_manager')->subscribe(ControllerDidRespond::getName(), function () use(&$controllerDidRespondCalled) {
         $controllerDidRespondCalled = true;
     });
     $response = $this->application->render('SplotRoutesTestModule:Item', array('id' => 123));
     $this->assertTrue($response instanceof Response);
     $this->assertEquals('Received Item ID: 123', $response->getContent());
     $this->assertTrue($controllerWillRespondCalled);
     $this->assertTrue($controllerDidRespondCalled);
 }