4 include_once(
"./Services/Style/System/classes/Utilities/class.ilSkinStyleXML.php");
5 include_once(
"./Services/Style/System/classes/Utilities/class.ilSkinXML.php");
6 include_once(
"./Services/Style/System/test/fixtures/mocks/ilSystemStyleConfigMock.php");
7 include_once(
"Services/Style/System/classes/Utilities/class.ilSystemStyleSkinContainer.php");
50 protected function setUp() : void
52 $this->skin =
new ilSkinXML(
"skin1",
"skin 1");
55 $this->style1->setCssFile(
"style1css");
56 $this->style1->setImageDirectory(
"style1image");
57 $this->style1->setSoundDirectory(
"style1sound");
58 $this->style1->setFontDirectory(
"style1font");
61 $this->style2->setCssFile(
"style2css");
62 $this->style2->setImageDirectory(
"style2image");
63 $this->style2->setSoundDirectory(
"style2sound");
64 $this->style2->setFontDirectory(
"style2font");
67 $this->substyle1->setSubstyleOf($this->style1->getId());
70 $this->substyle2->setSubstyleOf($this->style2->getId());
74 mkdir($this->system_style_config->test_skin_temp_path);
85 $this->assertEquals(
"skin1", $this->skin->getId());
86 $this->assertEquals(
"skin 1", $this->skin->getName());
91 $this->assertEquals(count($this->skin), 0);
92 $this->assertEquals(count($this->skin->getStyles()), 0);
93 $this->skin->addStyle($this->style1);
94 $this->assertEquals(count($this->skin), 1);
95 $this->assertEquals(count($this->skin->getStyles()), 1);
96 $this->skin->addStyle($this->style1);
97 $this->assertEquals(count($this->skin), 2);
98 $this->assertEquals(count($this->skin->getStyles()), 2);
99 $this->skin->addStyle($this->style2);
100 $this->assertEquals(count($this->skin), 3);
101 $this->assertEquals(count($this->skin->getStyles()), 3);
106 $this->skin->addStyle($this->style1);
107 $this->skin->addStyle($this->style2);
109 $this->assertNotEquals($this->skin->getStyle(
"style2"),
$this->style1);
110 $this->assertEquals($this->skin->getStyle(
"style2"),
$this->style2);
115 $this->skin->addStyle($this->substyle1);
116 $this->assertEquals(count($this->skin->getStyles()), 1);
117 $this->skin->addStyle($this->substyle2);
118 $this->assertEquals(count($this->skin), 2);
123 $this->skin->addStyle($this->substyle1);
124 $this->skin->addStyle($this->substyle2);
126 $this->assertNotEquals($this->skin->getStyle(
"substyle2"),
$this->substyle1);
132 $this->skin->addStyle($this->style1);
133 $this->skin->addStyle($this->style2);
134 $this->assertEquals($this->skin->getSubstylesOfStyle(
"style1"), []);
135 $this->skin->addStyle($this->substyle1);
136 $this->skin->addStyle($this->substyle2);
137 $this->assertEquals($this->skin->getSubstylesOfStyle(
"style1"), [$this->substyle1->getId() =>
$this->substyle1]);
138 $this->assertEquals($this->skin->getSubstylesOfStyle(
"style2"), [$this->substyle2->getId() =>
$this->substyle2]);
139 $this->substyle2->setSubstyleOf($this->style1->getId());
140 $this->assertEquals($this->skin->getSubstylesOfStyle(
"style1"), [$this->substyle1->getId() =>
$this->substyle1,$this->substyle2->getId() =>
$this->substyle2]);
145 $this->skin->addStyle($this->style1);
146 $this->skin->addStyle($this->style2);
147 $this->skin->addStyle($this->substyle1);
148 $this->skin->addStyle($this->substyle2);
149 $this->assertEquals($this->skin->getSubstylesOfStyle(
"style1"), [$this->substyle1->getId() =>
$this->substyle1]);
150 $this->assertEquals($this->skin->getSubstylesOfStyle(
"style2"), [$this->substyle2->getId() =>
$this->substyle2]);
151 $this->skin->updateParentStyleOfSubstyles($this->style2->getId(), $this->style1->getId());
152 $this->assertEquals($this->skin->getSubstylesOfStyle(
"style1"), [$this->substyle1->getId() =>
$this->substyle1,$this->substyle2->getId() =>
$this->substyle2]);
157 $this->skin->addStyle($this->style1);
158 $this->skin->addStyle($this->style2);
159 $this->assertEquals(count($this->skin), 2);
160 $this->skin->removeStyle(
"style1");
161 $this->assertEquals(count($this->skin), 1);
162 $this->skin->removeStyle(
"style2");
163 $this->assertEquals(count($this->skin), 0);
168 $this->skin->addStyle($this->style1);
169 $this->skin->addStyle($this->style2);
170 $this->assertEquals(count($this->skin), 2);
171 $this->skin->removeStyle(
"style1");
172 $this->assertEquals(count($this->skin), 1);
173 $this->skin->removeStyle(
"style2");
174 $this->assertEquals(count($this->skin), 0);
176 $this->skin->removeStyle(
"style2");
177 $this->assertTrue(
false);
185 $this->skin->addStyle($this->style1);
186 $this->skin->addStyle($this->style2);
187 $this->assertEquals($this->skin->asXML(), file_get_contents($this->system_style_config->getCustomizingSkinPath() .
"skin1/template.xml"));
192 $this->skin->addStyle($this->style1);
193 $this->skin->addStyle($this->style2);
194 $this->skin->writeToXMLFile($this->system_style_config->getCustomizingSkinPath() .
"skin1/template-copy.xml");
195 $this->assertEquals(file_get_contents($this->system_style_config->getCustomizingSkinPath() .
"skin1/template-copy.xml"), file_get_contents($this->system_style_config->getCustomizingSkinPath() .
"skin1/template.xml"));
196 unlink($this->system_style_config->getCustomizingSkinPath() .
"skin1/template-copy.xml");
201 $skin = ilSkinXML::parseFromXML($this->system_style_config->getCustomizingSkinPath() .
"skin1/template.xml");
202 $this->assertEquals(
$skin->asXML(), file_get_contents($this->system_style_config->getCustomizingSkinPath() .
"skin1/template.xml"));
testUpdateParentOfStyle()
ilSkinXml holds an manages the basic data of a skin as provide by the template of the skin...
static recursiveRemoveDir($dir)
Recursive delete of a folder.
Class for advanced editing exception handling in ILIAS.
ilSystemStyleConfig wraps all 'constants' to ensure the testability of all classes using those 'const...
static xCopy($src, $dest)
Recursive copy of a folder.