Example #1
0
 function dispatch($uri)
 {
     $this->request->setUri($uri);
     $event = new \Zend\Mvc\MvcEvent();
     $event->setRouter($this->router);
     $event->setRequest($this->request);
     $this->events->trigger('route', $event);
     $this->routeMatch = $event->getRouteMatch();
 }
Example #2
0
 protected function getEventWithEventManager()
 {
     $mockEventManager = \Mockery::mock('\\Zend\\EventManager');
     $mockApplication = \Mockery::mock('\\Zend\\Mvc\\Application');
     $mockApplication->shouldReceive('getEventManager')->andReturn($mockEventManager);
     $event = new \Zend\Mvc\MvcEvent();
     $event->setApplication($mockApplication);
     return [$mockEventManager, $event];
 }
 public function testAlreadySetLayoutTemplate()
 {
     $listener = new LayoutTemplateListener($this->layoutUpdater);
     $layout = new ViewModel();
     $layout->setTemplate('3cols');
     $event = new \Zend\Mvc\MvcEvent();
     $event->setViewModel($layout);
     $listener->setLayoutTemplate($event);
     $this->assertEquals('3cols', $layout->getTemplate());
 }
 public function testDoesNotInjectTemplateWhenInModuleNamespace()
 {
     $e = new \Zend\Mvc\MvcEvent();
     $routerFactory = new \Zend\Mvc\Service\RouterFactory();
     $routeMatch = new \Zend\Mvc\Router\Http\RouteMatch(array('__NAMESPACE__' => 'App\\Controller', 'controller' => 'Index', 'action' => 'index'));
     $routeMatch->setMatchedRouteName('test');
     $e->setRouteMatch($routeMatch)->setController('Index')->setControllerClass('App\\Controller\\Index')->setTarget('App\\Controller\\Index')->setResult(new \Zend\View\Model\ViewModel());
     $this->listener->injectTemplate($e);
     $this->assertEquals('', $e->getResult()->getTemplate());
 }
 public function testLoadLayoutWithTerminationModel()
 {
     $listener = new LoadLayoutListener($this->layout);
     $layoutModel = new ViewModel();
     $layoutModel->setTerminal(true);
     $event = new \Zend\Mvc\MvcEvent();
     $event->setViewModel($layoutModel);
     $this->assertFalse($this->layout->isLoaded());
     $listener->loadLayout($event);
     $this->assertFalse($this->layout->isLoaded());
 }
 public function testAddBodyClass()
 {
     $bodyClassHelper = new BodyClass();
     $listener = new BodyClassListener($bodyClassHelper);
     $routeMatch = new RouteMatch([]);
     $routeMatch->setMatchedRouteName('my/SOME/route');
     $event = new \Zend\Mvc\MvcEvent();
     $event->setRouteMatch($routeMatch);
     $listener->addBodyClass($event);
     $this->assertEquals('my-some-route', (string) $bodyClassHelper);
 }
 /**
  * Init layout view model
  * @return \BoilerAppMessenger\Media\Mail\MailMessageRenderer
  */
 public function initLayout()
 {
     //Create layout template
     $oEvent = new \Zend\Mvc\MvcEvent(\Zend\Mvc\MvcEvent::EVENT_RENDER);
     $oEvent->setViewModel(new \Zend\View\Model\ViewModel());
     if ($this->hasTemplatingService()) {
         $this->getTemplatingService()->buildLayoutTemplate($oEvent->setRequest(new \Zend\Http\Request()));
     }
     $this->plugin('view_model')->setRoot($oEvent->getViewModel());
     return $this;
 }
Example #8
0
 public function testOnBootstrapListenersWithConsoleRequest()
 {
     $module = new Module();
     $application = $this->createApplication();
     $sm = $application->getServiceManager();
     $sm->setAllowOverride(true);
     $sm->setService('Request', new ConsoleRequest());
     $em = $application->getEventManager();
     $event = new \Zend\Mvc\MvcEvent();
     $event->setApplication($application);
     $this->assertCount(0, $em->getListeners(\Zend\Mvc\MvcEvent::EVENT_DISPATCH));
     $module->onBootstrap($event);
     $this->assertCount(0, $em->getListeners(\Zend\Mvc\MvcEvent::EVENT_DISPATCH));
 }
 /**
  * Get an initialized instance of the controller plugin
  *
  * If controller setup is requested, the controller will be a
  * \Library\Test\Mvc\Controller\TestController. Its MvcEvent will be
  * initialized with a standard route 'test' (/module/controller/action/)
  * with defaults of "defaultcontroller" and "defaultaction".
  * The RouteMatch is initialized with "currentcontroller" and
  * "currentaction". An empty response is created.
  *
  * @param bool $setController Initialize the helper with a working controller (default: TRUE)
  * @return \Zend\Mvc\Controller\Plugin\PluginInterface Plugin instance
  */
 protected function _getPlugin($setController = true)
 {
     if ($setController) {
         $router = new \Zend\Mvc\Router\Http\TreeRouteStack();
         $router->addRoute('test', \Zend\Mvc\Router\Http\Segment::factory(array('route' => '/[module[/]][:controller[/][:action[/]]]', 'defaults' => array('controller' => 'defaultcontroller', 'action' => 'defaultaction'))));
         $routeMatch = new \Zend\Mvc\Router\RouteMatch(array('controller' => 'currentcontroller', 'action' => 'currentaction'));
         $routeMatch->setMatchedRouteName('test');
         $event = new \Zend\Mvc\MvcEvent();
         $event->setRouter($router);
         $event->setRouteMatch($routeMatch);
         $event->setResponse(new \Zend\Http\Response());
         // Register TestController with the service manager because this is
         // not done in the module setup
         $manager = Application::getService('ControllerManager');
         $manager->setInvokableClass('test', 'Library\\Test\\Mvc\\Controller\\TestController');
         $this->_controller = $manager->get('test');
         $this->_controller->setEvent($event);
         return $this->_controller->plugin($this->_getPluginName());
     } else {
         return $this->_getPluginManager()->get($this->_getPluginName());
     }
 }
 public function getServiceConfig()
 {
     return array('factories' => array('MaglLegacyApplicationOptions' => function ($sl) {
         $config = $sl->get('Config');
         $options = $config['magl_legacy_application'];
         return new Options\LegacyControllerOptions($options);
     }, 'MaglControllerService' => function (ServiceManager $sl) {
         $eventManager = $sl->get('Application')->getEventManager();
         $event = new \Zend\Mvc\MvcEvent();
         $event->setApplication($sl->get('Application'));
         $event->setTarget($sl->get('Application'));
         $event->setRequest($sl->get('Request'));
         $event->setRouter($sl->get('Router'));
         $event->setRouteMatch(new RouteMatch(array()));
         return new Service\ControllerService($eventManager, $event);
     }));
 }
 public function configureEvent()
 {
     $event = new \Zend\Mvc\MvcEvent();
     $event->setApplication($this->getApplication());
     return $event;
 }
Example #12
0
 /**
  * Get an initialized instance of the controller plugin
  *
  * If controller setup is requested, the controller will be a
  * \Zend\Mvc\Controller\AbstractActionController mock. Its MvcEvent will be
  * initialized with a standard route 'test' (/module/controller/action/)
  * with defaults of "defaultcontroller" and "defaultaction".
  * The RouteMatch is initialized with "currentcontroller" and
  * "currentaction". An empty response is created.
  *
  * @param bool $setController Initialize the helper with a working controller (default: TRUE)
  * @return \Zend\Mvc\Controller\Plugin\PluginInterface Plugin instance
  */
 protected function _getPlugin($setController = true)
 {
     if ($setController) {
         $router = new \Zend\Router\Http\TreeRouteStack();
         $router->addRoute('test', \Zend\Router\Http\Segment::factory(array('route' => '/[module[/]][:controller[/][:action[/]]]', 'defaults' => array('controller' => 'defaultcontroller', 'action' => 'defaultaction'))));
         $routeMatch = new \Zend\Router\RouteMatch(array('controller' => 'currentcontroller', 'action' => 'currentaction'));
         $routeMatch->setMatchedRouteName('test');
         $event = new \Zend\Mvc\MvcEvent();
         $event->setRouter($router);
         $event->setRouteMatch($routeMatch);
         $event->setResponse(new \Zend\Http\Response());
         $this->_controller = $this->getMockBuilder('Zend\\Mvc\\Controller\\AbstractActionController')->setMethods(null)->getMockForAbstractClass();
         $this->_controller->setPluginManager($this->_getPluginManager());
         $this->_controller->setEvent($event);
         return $this->_controller->plugin($this->_getPluginName());
     } else {
         return $this->_getPluginManager()->get($this->_getPluginName());
     }
 }
Example #13
0
 /**
  * @covers \EscoMail\Service\MailLogger::onMailSentError
  */
 public function testLoggerOnMailSentFailure()
 {
     $configArray = array('log_dir' => vfsStream::url('exampleDir') . '/tmp');
     $serviceManager = new ServiceManager();
     $options = new ModuleOptions($configArray);
     $mailLogger = new MailLogger($options, $serviceManager);
     $mailSubject = 'Subject of the mail message';
     $messageMock = $this->getMock('Zend\\Mail\\Message', array('getSubject'));
     $messageMock->expects($this->once())->method('getSubject')->will($this->returnValue($mailSubject));
     $messageMock->addTo('*****@*****.**');
     $mvcEvent = new \Zend\Mvc\MvcEvent();
     $mvcEvent->setTarget($messageMock);
     $mvcEvent->setParam('error_message', 'Error message description');
     $logFile = $configArray['log_dir'] . '/mail.log';
     $this->assertEmpty(file_get_contents($logFile));
     $mailLogger->onMailSentError($mvcEvent);
     $content = file_get_contents($logFile);
     $match = preg_match("/^(.*)ERR \\(3\\):(.*)'{$mailSubject}'(.*): foo@bar.com(.*): Error message description/i", $content);
     $this->assertEquals(1, $match);
 }