/** * @covers \Splot\Framework\Events\ControllerDidRespond::__construct * @covers \Splot\Framework\Events\ControllerDidRespond::getControllerResponse * @covers \Splot\Framework\Events\ControllerDidRespond::getControllerName * @covers \Splot\Framework\Events\ControllerDidRespond::getController * @covers \Splot\Framework\Events\ControllerDidRespond::getMethod * @covers \Splot\Framework\Events\ControllerDidRespond::getArguments * @covers \Splot\Framework\Events\ControllerDidRespond::getRequest */ public function testControllerDidRespond() { $controllerResponse = new ControllerResponse('some response'); $controller = new TestController(new Container()); $arguments = array('id' => 123); $event = new Events\ControllerDidRespond($controllerResponse, 'SplotTestModule:TestController', $controller, 'index', $arguments); $this->assertSame($controllerResponse, $event->getControllerResponse()); $this->assertEquals('SplotTestModule:TestController', $event->getControllerName()); $this->assertSame($controller, $event->getController()); $this->assertEquals('index', $event->getMethod()); $this->assertEquals($arguments, $event->getArguments()); $this->assertNull($event->getRequest()); }
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); }