Ejemplo n.º 1
0
 public function testThrowExceptionIfTemplateNotFound()
 {
     $this->setExpectedException(RuntimeException::class);
     $viewModel = new ResourceViewModel(['foo' => 'bar'], ['template' => 'bar']);
     $viewModelHelper = $this->getMock(ViewModelHelper::class, [], [], '', false);
     $viewModelHelper->expects($this->at(0))->method('getCurrent')->willReturn($viewModel);
     $helperPluginManager = $this->getMock(HelperPluginManager::class, [], [], '', false);
     $helperPluginManager->expects($this->any())->method('get')->with('viewModel')->will($this->returnValue($viewModelHelper));
     $this->resolver->expects($this->once())->method('resolve')->with('bar')->will($this->returnValue(false));
     $resourceRenderer = new ResourceRenderer($this->resolver, $helperPluginManager);
     $resourceRenderer->render($viewModel);
 }
Ejemplo n.º 2
0
 /**
  * Detect if we should use the ResourceRenderer based on model type
  *
  * @internal
  * @param  ViewEvent $event
  * @return ResourceRenderer|null
  */
 public function selectRenderer(ViewEvent $event)
 {
     if (!$event->getModel() instanceof ResourceViewModel) {
         // no ResourceModel; do nothing
         return;
     }
     /** @var \Zend\View\HelperPluginManager $helperPluginManager */
     $helperPluginManager = $this->renderer->getHelperPluginManager();
     $helperPluginManager->setRenderer($this->renderer);
     // If we have a ResourceViewModel, we set it as the "root" view model in the view model helper. This allows
     // to differentiate between a nested context or not, in the view
     /** @var \Zend\View\Helper\ViewModel $viewModelHelper */
     $viewModelHelper = $helperPluginManager->get('viewModel');
     $viewModel = $event->getModel();
     $viewModelHelper->setRoot($viewModel);
     $viewModelHelper->setCurrent($viewModel);
     return $this->renderer;
 }