ILIAS  release_7 Revision v7.30-3-g800a261c036
ilSkinXMLTest Class Reference
+ Inheritance diagram for ilSkinXMLTest:
+ Collaboration diagram for ilSkinXMLTest:

Public Member Functions

 testSkinNameAndId ()
 
 testAddStyle ()
 
 testGetStyles ()
 
 testAddSubstyle ()
 
 testGetSubStyles ()
 
 testGetAllSubStyles ()
 
 testUpdateParentOfStyle ()
 
 testRemoveStyles ()
 
 testRemoveTestTwice ()
 
 testAsXML ()
 
 testWriteXML ()
 
 testReadXML ()
 

Protected Member Functions

 setUp ()
 
 tearDown ()
 

Protected Attributes

 $skin
 
 $style1 = null
 
 $style2 = null
 
 $substyle1 = null
 
 $substyle2 = null
 
 $system_style_config
 

Detailed Description

Author
Timon Amstutz timon.nosp@m..ams.nosp@m.tutz@.nosp@m.ilub.nosp@m..unib.nosp@m.e.ch
Version
$Id$*

Definition at line 16 of file ilSkinXMLTest.php.

Member Function Documentation

◆ setUp()

ilSkinXMLTest::setUp ( )
protected

Definition at line 50 of file ilSkinXMLTest.php.

50 : void
51 {
52 $this->skin = new ilSkinXML("skin1", "skin 1");
53
54 $this->style1 = new ilSkinStyleXML("style1", "Style 1");
55 $this->style1->setCssFile("style1css");
56 $this->style1->setImageDirectory("style1image");
57 $this->style1->setSoundDirectory("style1sound");
58 $this->style1->setFontDirectory("style1font");
59
60 $this->style2 = new ilSkinStyleXML("style2", "Style 2");
61 $this->style2->setCssFile("style2css");
62 $this->style2->setImageDirectory("style2image");
63 $this->style2->setSoundDirectory("style2sound");
64 $this->style2->setFontDirectory("style2font");
65
66 $this->substyle1 = new ilSkinStyleXML("substyle1", "Substyle 1");
67 $this->substyle1->setSubstyleOf($this->style1->getId());
68
69 $this->substyle2 = new ilSkinStyleXML("substyle2", "Substyle 2");
70 $this->substyle2->setSubstyleOf($this->style2->getId());
71
72 $this->system_style_config = new ilSystemStyleConfigMock();
73
74 mkdir($this->system_style_config->test_skin_temp_path);
75 ilSystemStyleSkinContainer::xCopy($this->system_style_config->test_skin_original_path, $this->system_style_config->test_skin_temp_path);
76 }
ilSkinXml holds an manages the basic data of a skin as provide by the template of the skin.
ilSystemStyleConfig wraps all 'constants' to ensure the testability of all classes using those 'const...
static xCopy($src, $dest)
Recursive copy of a folder.

References ilSystemStyleSkinContainer\xCopy().

+ Here is the call graph for this function:

◆ tearDown()

ilSkinXMLTest::tearDown ( )
protected

Definition at line 78 of file ilSkinXMLTest.php.

78 : void
79 {
80 ilSystemStyleSkinContainer::recursiveRemoveDir($this->system_style_config->test_skin_temp_path);
81 }
static recursiveRemoveDir($dir)
Recursive delete of a folder.

References ilSystemStyleSkinContainer\recursiveRemoveDir().

+ Here is the call graph for this function:

◆ testAddStyle()

ilSkinXMLTest::testAddStyle ( )

Definition at line 89 of file ilSkinXMLTest.php.

90 {
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);
102 }

◆ testAddSubstyle()

ilSkinXMLTest::testAddSubstyle ( )

Definition at line 113 of file ilSkinXMLTest.php.

114 {
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);
119 }

◆ testAsXML()

ilSkinXMLTest::testAsXML ( )

Definition at line 183 of file ilSkinXMLTest.php.

184 {
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"));
188 }

◆ testGetAllSubStyles()

ilSkinXMLTest::testGetAllSubStyles ( )

Definition at line 130 of file ilSkinXMLTest.php.

131 {
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]);
141 }

◆ testGetStyles()

ilSkinXMLTest::testGetStyles ( )

Definition at line 104 of file ilSkinXMLTest.php.

105 {
106 $this->skin->addStyle($this->style1);
107 $this->skin->addStyle($this->style2);
108
109 $this->assertNotEquals($this->skin->getStyle("style2"), $this->style1);
110 $this->assertEquals($this->skin->getStyle("style2"), $this->style2);
111 }

◆ testGetSubStyles()

ilSkinXMLTest::testGetSubStyles ( )

Definition at line 121 of file ilSkinXMLTest.php.

122 {
123 $this->skin->addStyle($this->substyle1);
124 $this->skin->addStyle($this->substyle2);
125
126 $this->assertNotEquals($this->skin->getStyle("substyle2"), $this->substyle1);
127 $this->assertEquals($this->skin->getStyle("substyle2"), $this->substyle2);
128 }

◆ testReadXML()

ilSkinXMLTest::testReadXML ( )

Definition at line 199 of file ilSkinXMLTest.php.

200 {
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"));
203 }

References $skin.

◆ testRemoveStyles()

ilSkinXMLTest::testRemoveStyles ( )

Definition at line 155 of file ilSkinXMLTest.php.

156 {
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);
164 }

◆ testRemoveTestTwice()

ilSkinXMLTest::testRemoveTestTwice ( )

Definition at line 166 of file ilSkinXMLTest.php.

167 {
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);
175 try {
176 $this->skin->removeStyle("style2");
177 $this->assertTrue(false);
178 } catch (ilSystemStyleException $e) {
179 $this->assertEquals($e->getCode(), ilSystemStyleException::INVALID_ID);
180 }
181 }
Class for advanced editing exception handling in ILIAS.

References Vendor\Package\$e, and ilSystemStyleException\INVALID_ID.

◆ testSkinNameAndId()

ilSkinXMLTest::testSkinNameAndId ( )

Definition at line 83 of file ilSkinXMLTest.php.

84 {
85 $this->assertEquals("skin1", $this->skin->getId());
86 $this->assertEquals("skin 1", $this->skin->getName());
87 }

◆ testUpdateParentOfStyle()

ilSkinXMLTest::testUpdateParentOfStyle ( )

Definition at line 143 of file ilSkinXMLTest.php.

144 {
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]);
153 }

◆ testWriteXML()

ilSkinXMLTest::testWriteXML ( )

Definition at line 190 of file ilSkinXMLTest.php.

191 {
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");
197 }

Field Documentation

◆ $skin

ilSkinXMLTest::$skin
protected

Definition at line 23 of file ilSkinXMLTest.php.

Referenced by testReadXML().

◆ $style1

ilSkinXMLTest::$style1 = null
protected

Definition at line 28 of file ilSkinXMLTest.php.

◆ $style2

ilSkinXMLTest::$style2 = null
protected

Definition at line 33 of file ilSkinXMLTest.php.

◆ $substyle1

ilSkinXMLTest::$substyle1 = null
protected

Definition at line 38 of file ilSkinXMLTest.php.

◆ $substyle2

ilSkinXMLTest::$substyle2 = null
protected

Definition at line 43 of file ilSkinXMLTest.php.

◆ $system_style_config

ilSkinXMLTest::$system_style_config
protected

Definition at line 48 of file ilSkinXMLTest.php.


The documentation for this class was generated from the following file: