/**
* test renderer
*
* @return void
*/
public function testRenderer()
{
$presenter = $this->presenter;
$seo = $this->seo;
$widgetParser = $this->widgetParser;
$renderer = new HtmlRenderer($presenter, $seo, $widgetParser);
$presenter->shouldReceive('getSkinTargetId')->andReturn('skinTargetId');
$presenter->shouldReceive('getId')->andReturn('id');
$presenter->shouldReceive('getIsSettings')->andReturn(true);
$presenter->shouldReceive('getRenderType')->andReturn(\Xpressengine\Presenter\Presenter::RENDER_ALL);
$presenter->shouldReceive('getData')->andReturn(['key1' => 'value1', 'key2' => ['key2-1' => 'value2-1', 'key2-2' => 'value2-2']]);
$renderer->setCommonHtmlWrapper('name');
$renderer->setPopupHtmlWrapper('name');
$this->assertEquals('html', $renderer->format());
$this->assertInstanceOf('Xpressengine\\Presenter\\Presenter', $renderer->getPresenter());
$seo->shouldReceive('import');
$request = m::mock('Illuminate\\Http\\Request');
$view = m::mock('Illuminate\\View\\Factory');
$theme = m::mock('Xpressengine\\Theme\\ThemeHandler');
$skin = m::mock('Xpressengine\\Skin\\SkinHandler');
$settings = m::mock('Xpressengine\\Settings\\SettingsHandler');
$instanceConfig = m::mock('Xpressengine\\Routing\\InstanceConfig');
$instanceConfig->shouldReceive('getInstanceId')->andReturn('a');
$themeInstance = m::mock('ThemeInstance');
$themeInstance->shouldReceive('render');
$request->shouldReceive('isMobile')->andReturn(false);
$themeViewInstance = m::mock('View', '\\Illuminate\\View\\View');
$themeViewInstance->shouldReceive('render')->andReturn('themeContent');
$themeViewInstance->shouldReceive('with')->andReturn('');
$themeInstance = m::mock('Theme', '\\Xpressengine\\Theme\\ThemeEntity');
$themeInstance->shouldReceive('render')->andReturn($themeViewInstance);
$themeInstance->shouldReceive('with')->andReturn('');
$theme->shouldReceive('getSelectedTheme')->once()->andReturn(null);
$theme->shouldReceive('selectSiteTheme');
$theme->shouldReceive('getSelectedTheme')->once()->andReturn($themeInstance);
$skinInstance = m::mock('SkinInstance');
$skinInstance->shouldReceive('setView')->andReturn($skinInstance);
$skinInstance->shouldReceive('setData')->andReturn($skinInstance);
$skinInstance->shouldReceive('render')->andReturn('content');
$skin->shouldReceive('getAssignedSettings')->andReturn($skinInstance);
$viewInstance = m::mock('View', '\\Illuminate\\View\\View');
$viewInstance->shouldReceive('render')->andReturn('');
$viewInstance->shouldReceive('with')->andReturn('');
$view->shouldReceive('make')->andReturn($viewInstance);
$presenter->shouldReceive('getViewFactory')->andReturn($view);
$presenter->shouldReceive('getRequest')->andReturn($request);
$presenter->shouldReceive('getInstanceConfig')->andReturn($instanceConfig);
$presenter->shouldReceive('getSkinHandler')->andReturn($skin);
$presenter->shouldReceive('getThemeHandler')->andReturn($theme);
$presenter->shouldReceive('getViewFactory')->andReturn($view);
$widgetParser->shouldReceive('parseXml');
$renderer->render();
}