public function testTheme() { $xml = '<theme id="jarvesDemoTheme"> <label>Jarves cms Demo Theme</label> <contents> <content> <label>Default</label> <file>@JarvesDemoThemeBundle/content_default.tpl</file> </content> <content> <label>Sidebar Item</label> <file>@JarvesDemoThemeBundle/content_sidebar.tpl</file> </content> </contents> <layouts> <layout key="default"> <label>Default</label> <file>@JarvesDemoThemeBundle/layout_default.tpl</file> </layout> </layouts> </theme>'; $theme = new Theme($xml, $this->getJarves()); $theme->setId('jarvesDemoTheme'); $theme->setLabel('Jarves cms Demo Theme'); $content = new ThemeContent(null, $this->getJarves()); $content->setFile('@JarvesDemoThemeBundle/content_default.tpl'); $content->setLabel('Default'); $content2 = new ThemeContent(null, $this->getJarves()); $content2->setFile('@JarvesDemoThemeBundle/content_sidebar.tpl'); $content2->setLabel('Sidebar Item'); $theme->setContents(array($content, $content2)); $layout = new ThemeLayout(null, $this->getJarves()); $layout->setFile('@JarvesDemoThemeBundle/layout_default.tpl'); $layout->setLabel('Default'); $layout->setKey('default'); $theme->setLayouts(array($layout)); $this->assertEquals($xml, $theme->toXml()); $reverse = new Theme($xml, $this->getJarves()); $this->assertEquals('jarvesDemoTheme', $reverse->getId()); $this->assertEquals('Jarves cms Demo Theme', $reverse->getLabel()); $this->assertEquals('Default', $reverse->getContents()[0]->getLabel()); $this->assertEquals('@JarvesDemoThemeBundle/content_default.tpl', $reverse->getContents()[0]->getFile()); $this->assertEquals('Default', $reverse->getLayouts()[0]->getLabel()); $this->assertEquals('@JarvesDemoThemeBundle/layout_default.tpl', $reverse->getLayouts()[0]->getFile()); $this->assertEquals($xml, $reverse->toXml()); }