Esempio n. 1
0
 public function testRenderIgnoreModelWithoutGroupId()
 {
     $root = new ViewModel();
     $ignored = new ViewModel();
     $root->addChild($ignored);
     $ignored->setGroupId(null);
     $events = $this->getMock(Events::CLASS, ['trigger']);
     $view = new View();
     $view->setEvents($events);
     $events->expects($this->atLeastOnce())->method('trigger')->with($this->callback(function ($event) use($ignored) {
         $this->assertInstanceOf(ViewEvent::CLASS, $event);
         $model = $event->getContext();
         $this->assertInstanceOf(ViewModelInterface::CLASS, $model);
         if ($model === $ignored) {
             return false;
         }
         return true;
     }));
     $view->render($root);
 }
 public function testInvokeDoesNothingIfModuleIsAlreadySpecifiedInViewModel()
 {
     $modules = new Modules();
     $module = $this->getMock(AbstractModule::CLASS);
     $modules->set(__NAMESPACE__, $module);
     $view = new View();
     $layout = $view->getLayout();
     $layout->setModule('Foo');
     $listener = new InjectModuleListener();
     $listener->setModules($modules);
     $listener->setView($view);
     $event = new SystemEvent();
     $model = new ViewModel();
     $model->setModule('Bar');
     $controller = new FakeController();
     $event->setContext($controller);
     $event->setResult(SystemEvent::DISPATCH, $model);
     $listener($event);
     $this->assertSame('Foo', $layout->getModule());
     $this->assertSame('Bar', $model->getModule());
 }