/** * @dataProvider templateOptionsProvider */ public function testGenerateTemplate($options, $expectedResult, $filename, $isPublished) { $times = 1; $theme = $this->getMock("RedKiteLabs\\ThemeEngineBundle\\Core\\Theme\\ThemeInterface"); if ($options["type"] == "Base") { $times = 0; $theme->expects($this->once())->method('getThemeName')->will($this->returnValue("BootbusinessThemeBundle")); } $metatagManager = $this->createMetatagManager($times, $isPublished); $assetManager = $this->createAssetManager($times, $isPublished); $contentManager = $this->createContentManager($isPublished); $root = vfsStream::setup('root'); $pageTree = $this->createPageTree((bool) (!$times), $isPublished); $twigTemplateWrite = new TwigTemplateWriter($metatagManager, $assetManager, $contentManager); $twigTemplateWrite->generateTemplate($pageTree, $theme, $options)->writeTemplate(vfsStream::url('root')); $this->assertEquals($expectedResult, $twigTemplateWrite->getTwigTemplate()); $this->assertEquals($expectedResult, file_get_contents(vfsStream::url($filename))); }