AcMailerTest\Service\MailServiceAbstractFactoryTest::testViewRendererService PHP Method

testViewRendererService() public method

    public function testViewRendererService()
    {
        $this->initServiceLocator();
        // Create the service with default configuration
        $mailService = $this->mailServiceFactory->__invoke($this->serviceLocator, 'acmailer.mailservice.default');
        /** @var PhpRenderer $renderer */
        $renderer = $mailService->getRenderer();
        $this->assertInstanceOf('Zend\\View\\Renderer\\PhpRenderer', $renderer);
        $this->assertInstanceOf('Zend\\View\\Resolver\\TemplatePathStack', $renderer->resolver());
        // Set a template_map and unset the template_path_stack
        $config = $this->serviceLocator->get('Config');
        unset($config['view_manager']['template_path_stack']);
        $config['view_manager']['template_map'] = [];
        $this->serviceLocator->set('Config', $config);
        $mailService = $this->mailServiceFactory->__invoke($this->serviceLocator, 'acmailer.mailservice.default');
        /** @var PhpRenderer $renderer */
        $renderer = $mailService->getRenderer();
        $this->assertInstanceOf('Zend\\View\\Renderer\\PhpRenderer', $renderer);
        $this->assertInstanceOf('Zend\\View\\Resolver\\TemplateMapResolver', $renderer->resolver());
        // Set both a template_map and a template_path_stack
        $this->initServiceLocator();
        $config = $this->serviceLocator->get('Config');
        $config['view_manager']['template_map'] = [];
        $this->serviceLocator->set('Config', $config);
        $mailService = $this->mailServiceFactory->__invoke($this->serviceLocator, 'acmailer.mailservice.default');
        /** @var PhpRenderer $renderer */
        $renderer = $mailService->getRenderer();
        $this->assertInstanceOf('Zend\\View\\Renderer\\PhpRenderer', $renderer);
        $this->assertInstanceOf('Zend\\View\\Resolver\\AggregateResolver', $renderer->resolver());
        // Set a viewrenderer service and see if it is used
        $renderer = new PhpRenderer();
        $this->serviceLocator->set('mailviewrenderer', $renderer);
        $mailService = $this->mailServiceFactory->__invoke($this->serviceLocator, 'acmailer.mailservice.default');
        $this->assertSame($renderer, $mailService->getRenderer());
    }