ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ilSystemStyleIconTest.php
Go to the documentation of this file.
1<?php
2
3include_once("Services/Style/System/classes/Utilities/class.ilSkinStyleXML.php");
4include_once("Services/Style/System/classes/Utilities/class.ilSkinXML.php");
5include_once("Services/Style/System/classes/Utilities/class.ilSystemStyleSkinContainer.php");
6include_once("Services/Style/System/test/fixtures/mocks/ilSystemStyleConfigMock.php");
7include_once("Services/Style/System/test/fixtures/mocks/ilSystemStyleDICMock.php");
8
9include_once("Services/Style/System/classes/Icons/class.ilSystemStyleIcon.php");
10
11use PHPUnit\Framework\TestCase;
12
18class ilSystemStyleIconTest extends TestCase
19{
20
25
29 protected $container;
30
34 protected $style;
35
39 protected $icon_name = "test_image_1.svg";
40
44 protected $icon_type = "svg";
45
46
47 protected $save_dic = null;
48
49 protected function setUp() : void
50 {
51 global $DIC;
52
53 $this->save_dic = $DIC;
54
56
57 $this->system_style_config = new ilSystemStyleConfigMock();
58
59 mkdir($this->system_style_config->test_skin_temp_path);
60 ilSystemStyleSkinContainer::xCopy($this->system_style_config->test_skin_original_path, $this->system_style_config->test_skin_temp_path);
61
62 $this->container = ilSystemStyleSkinContainer::generateFromId("skin1", null, $this->system_style_config);
63 $this->style = $this->container->getSkin()->getStyle("style1");
64 }
65
66 protected function tearDown() : void
67 {
68 global $DIC;
70 ilSystemStyleSkinContainer::recursiveRemoveDir($this->system_style_config->test_skin_temp_path);
71 }
72
73 public function testConstruct()
74 {
75 $path = $this->container->getImagesSkinPath($this->style->getId()) . "/" . $this->icon_name;
76 $icon = new ilSystemStyleIcon($this->icon_name, $path, $this->icon_type);
77
78 $this->assertEquals($icon->getName(), $this->icon_name);
79 $this->assertEquals($icon->getPath(), $path);
80 $this->assertEquals($icon->getType(), $this->icon_type);
81 }
82
84 {
85 $path = $this->container->getImagesSkinPath($this->style->getId()) . "/" . $this->icon_name;
86 $icon = new ilSystemStyleIcon($this->icon_name, $path, $this->icon_type);
87
88 $this->assertEquals($icon->getDirRelToCustomizing(), "");
89
90 $name = "test.svg";
91 $rel_path = "global/skin/unibe50/images";
92 $path = "./Customizing" . $rel_path . "/" . $name;
93 $icon = new ilSystemStyleIcon($name, $path, "svg");
94
95 $this->assertEquals($icon->getDirRelToCustomizing(), $rel_path);
96 }
97
98 public function testGetColorSet()
99 {
100 $path = $this->container->getImagesSkinPath($this->style->getId()) . "/" . $this->icon_name;
101 $icon = new ilSystemStyleIcon($this->icon_name, $path, $this->icon_type);
102
103 $expected_color_set = new ilSystemStyleIconColorSet();
104 $color1 = new ilSystemStyleIconColor("id_505050", "505050", "505050", "505050");
105 $color2 = new ilSystemStyleIconColor("id_6B6B6B", "6B6B6B", "6B6B6B", "6B6B6B");
106 $color3 = new ilSystemStyleIconColor("id_838383", "838383", "838383", "838383");
107 $color4 = new ilSystemStyleIconColor("id_8C8C8C", "8C8C8C", "8C8C8C", "8C8C8C");
108 $expected_color_set->addColor($color1);
109 $expected_color_set->addColor($color2);
110 $expected_color_set->addColor($color3);
111 $expected_color_set->addColor($color4);
112
113 $this->assertEquals($expected_color_set, $icon->getColorSet());
114 }
115
116 public function testChangeColor()
117 {
118 $path = $this->container->getImagesSkinPath($this->style->getId()) . "/" . $this->icon_name;
119 $icon = new ilSystemStyleIcon($this->icon_name, $path, $this->icon_type);
120
121 $icon->changeColors(['505050' => '555555']);
122
123 $expected_color_set = new ilSystemStyleIconColorSet();
124 $color1 = new ilSystemStyleIconColor("id_555555", "555555", "555555", "555555");
125 $color2 = new ilSystemStyleIconColor("id_6B6B6B", "6B6B6B", "6B6B6B", "6B6B6B");
126 $color3 = new ilSystemStyleIconColor("id_838383", "838383", "838383", "838383");
127 $color4 = new ilSystemStyleIconColor("id_8C8C8C", "8C8C8C", "8C8C8C", "8C8C8C");
128 $expected_color_set->addColor($color1);
129 $expected_color_set->addColor($color2);
130 $expected_color_set->addColor($color3);
131 $expected_color_set->addColor($color4);
132
133 $this->assertEquals($expected_color_set, $icon->getColorSet());
134 }
135
137 {
138 $path = $this->container->getImagesSkinPath($this->style->getId()) . "/" . $this->icon_name;
139 $icon = new ilSystemStyleIcon($this->icon_name, $path, $this->icon_type);
140
141 $icon->changeColors(['505050' => '555555']);
142
143 $expected_color_set = new ilSystemStyleIconColorSet();
144 $color1 = new ilSystemStyleIconColor("id_555555", "555555", "555555", "555555");
145 $color2 = new ilSystemStyleIconColor("id_6B6B6B", "6B6B6B", "6B6B6B", "6B6B6B");
146 $color3 = new ilSystemStyleIconColor("id_838383", "838383", "838383", "838383");
147 $color4 = new ilSystemStyleIconColor("id_8C8C8C", "8C8C8C", "8C8C8C", "8C8C8C");
148 $expected_color_set->addColor($color1);
149 $expected_color_set->addColor($color2);
150 $expected_color_set->addColor($color3);
151 $expected_color_set->addColor($color4);
152
153 $icon_new = new ilSystemStyleIcon($this->icon_name, $path, $this->icon_type);
154
155 $this->assertEquals($expected_color_set, $icon_new->getColorSet());
156 }
157}
An exception for terminatinating execution or to throw for unit testing.
ilSystemStyleConfig wraps all 'constants' to ensure the testability of all classes using those 'const...
Class ilLanguageMock.
Abstracts an Icon and the necessary actions to get all colors out of an svg Icon.
static recursiveRemoveDir($dir)
Recursive delete of a folder.
static generateFromId($skin_id, ilSystemStyleMessageStack $message_stack=null, ilSystemStyleConfig $system_styles_conf=null)
Generate the container class by parsing the corresponding XML.
static xCopy($src, $dest)
Recursive copy of a folder.
if($format !==null) $name
Definition: metadata.php:230
$DIC
Definition: xapitoken.php:46