ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
SimpleNodeTest Class Reference

Tests for the SimpleNode. More...

+ Inheritance diagram for SimpleNodeTest:
+ Collaboration diagram for SimpleNodeTest:

Public Member Functions

 setUp ()
 
 brutallyTrimHTML (string $html)
 
 testConstruction ()
 
 testWrongConstruction ()
 
 testConstructionWithIcon ()
 
 testConstructionWithIconAndDifferentLabels ()
 
 testGetDifferentLabels (C\Tree\Node\Simple $node)
 testConstructionWithIconAndDifferentLabels More...
 
 testGetLabel (C\Tree\Node\Simple $node)
 testConstructionWithIcon More...
 
 testGetIcon (C\Tree\Node\Simple $node)
 testConstructionWithIcon More...
 
 testDefaultAsyncLoading (C\Tree\Node\Simple $node)
 testConstruction More...
 
 testWithAsyncURL (C\Tree\Node\Simple $node)
 testConstruction More...
 
 testRendering (C\Tree\Node\Simple $node)
 testConstruction More...
 
 testRenderingWithAsync (C\Tree\Node\Simple $node)
 testWithAsyncURL More...
 
 testRenderingWithIcon (C\Tree\Node\Simple $node)
 testConstructionWithIcon More...
 
 testRenderingWithIconAndAltAttribute (C\Tree\Node\Simple $node)
 This test is successfull if the icon label differs from the node label. More...
 
- Public Member Functions inherited from ILIAS_UI_TestBase
 setUp ()
 
 tearDown ()
 
 getUIFactory ()
 
 getTemplateFactory ()
 
 getResourceRegistry ()
 
 getLanguage ()
 
 getJavaScriptBinding ()
 
 getRefinery ()
 
 getImagePathResolver ()
 
 getDataFactory ()
 
 getHelpTextRetriever ()
 
 getUploadLimitResolver ()
 
 getDefaultRenderer (JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
 
 getDecoratedRenderer (Renderer $default)
 
 normalizeHTML (string $html)
 
 assertHTMLEquals (string $expected_html_as_string, string $html_as_string)
 

Private Attributes

I Tree Node Factory $node_factory
 
C Symbol Icon Standard $icon
 

Additional Inherited Members

- Protected Member Functions inherited from ILIAS_UI_TestBase
 brutallyTrimHTML (string $html)
 A more radical version of normalizeHTML. More...
 
 brutallyTrimSignals (string $html)
 A naive replacement of all il_signal-ids with dots to ease comparisons of rendered output. More...
 

Detailed Description

Tests for the SimpleNode.

Definition at line 30 of file SimpleNodeTest.php.

Member Function Documentation

◆ brutallyTrimHTML()

SimpleNodeTest::brutallyTrimHTML ( string  $html)

Definition at line 42 of file SimpleNodeTest.php.

Referenced by testRendering(), testRenderingWithAsync(), testRenderingWithIcon(), and testRenderingWithIconAndAltAttribute().

42  : string
43  {
44  $html = str_replace(["\n", "\r", "\t"], "", $html);
45  $html = preg_replace('# {2,}#', " ", $html);
46  return trim($html);
47  }
+ Here is the caller graph for this function:

◆ setUp()

SimpleNodeTest::setUp ( )

Definition at line 35 of file SimpleNodeTest.php.

35  : void
36  {
37  $this->node_factory = new I\Tree\Node\Factory();
38  $icon_factory = new I\Symbol\Icon\Factory();
39  $this->icon = $icon_factory->standard("", '');
40  }

◆ testConstruction()

SimpleNodeTest::testConstruction ( )

Definition at line 49 of file SimpleNodeTest.php.

49  : C\Tree\Node\Simple
50  {
51  $node = $this->node_factory->simple('simple');
52  $this->assertInstanceOf(
53  "ILIAS\\UI\\Component\\Tree\\Node\\Simple",
54  $node
55  );
56  return $node;
57  }

◆ testConstructionWithIcon()

SimpleNodeTest::testConstructionWithIcon ( )

Definition at line 65 of file SimpleNodeTest.php.

65  : C\Tree\Node\Simple
66  {
67  $node = $this->node_factory->simple('label', $this->icon);
68  $this->assertInstanceOf(
69  "ILIAS\\UI\\Component\\Tree\\Node\\Simple",
70  $node
71  );
72  return $node;
73  }

◆ testConstructionWithIconAndDifferentLabels()

SimpleNodeTest::testConstructionWithIconAndDifferentLabels ( )

Definition at line 74 of file SimpleNodeTest.php.

74  : C\Tree\Node\Simple
75  {
76  $this->icon->setLabel('Different Icon Label');
77  $node = $this->node_factory->simple('label', $this->icon);
78  $this->assertInstanceOf(
79  "ILIAS\\UI\\Component\\Tree\\Node\\Simple",
80  $node
81  );
82  return $node;
83  }

◆ testDefaultAsyncLoading()

SimpleNodeTest::testDefaultAsyncLoading ( C\Tree\Node\Simple  $node)

testConstruction

Definition at line 113 of file SimpleNodeTest.php.

113  : void
114  {
115  $this->assertFalse($node->getAsyncLoading());
116  }

◆ testGetDifferentLabels()

SimpleNodeTest::testGetDifferentLabels ( C\Tree\Node\Simple  $node)

testConstructionWithIconAndDifferentLabels

Definition at line 88 of file SimpleNodeTest.php.

88  : void
89  {
90  $this->assertNotEquals($this->icon->getLabel(), $node->getLabel());
91  }

◆ testGetIcon()

SimpleNodeTest::testGetIcon ( C\Tree\Node\Simple  $node)

testConstructionWithIcon

Definition at line 104 of file SimpleNodeTest.php.

104  : C\Tree\Node\Simple
105  {
106  $this->assertEquals($this->icon, $node->getIcon());
107  return $node;
108  }

◆ testGetLabel()

SimpleNodeTest::testGetLabel ( C\Tree\Node\Simple  $node)

testConstructionWithIcon

Definition at line 96 of file SimpleNodeTest.php.

96  : void
97  {
98  $this->assertEquals("label", $node->getLabel());
99  }

◆ testRendering()

SimpleNodeTest::testRendering ( C\Tree\Node\Simple  $node)

testConstruction

Definition at line 133 of file SimpleNodeTest.php.

References $r, brutallyTrimHTML(), ILIAS_UI_TestBase\getDefaultRenderer(), and ILIAS\UI\examples\MainControls\SystemInfo\simple().

133  : void
134  {
135  $r = $this->getDefaultRenderer();
136  $html = $r->render($node);
137 
138  $expected = <<<EOT
139  <li class="c-tree__node c-tree__node--simple" role="treeitem">
140  <span class="c-tree__node__line">
141  <span class="c-tree__node__label">simple</span>
142  </span>
143  </li>
144 EOT;
145 
146  $this->assertEquals(
147  $this->brutallyTrimHTML($expected),
148  $this->brutallyTrimHTML($html)
149  );
150  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:377
brutallyTrimHTML(string $html)
$r
+ Here is the call graph for this function:

◆ testRenderingWithAsync()

SimpleNodeTest::testRenderingWithAsync ( C\Tree\Node\Simple  $node)

testWithAsyncURL

Definition at line 155 of file SimpleNodeTest.php.

References $r, brutallyTrimHTML(), ILIAS_UI_TestBase\getDefaultRenderer(), and ILIAS\UI\examples\MainControls\SystemInfo\simple().

155  : void
156  {
157  $r = $this->getDefaultRenderer();
158  $html = $r->render($node);
159 
160  $expected = <<<EOT
161  <li
162  class="c-tree__node c-tree__node--simple expandable"
163  role="treeitem" aria-expanded="false"
164  data-async_url="something.de" data-async_loaded="false">
165  <span class="c-tree__node__line">
166  <span class="c-tree__node__label">simple</span>
167  </span>
168  <ul role="group"></ul>
169  </li>
170 EOT;
171 
172  $this->assertEquals(
173  $this->brutallyTrimHTML($expected),
174  $this->brutallyTrimHTML($html)
175  );
176  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:377
brutallyTrimHTML(string $html)
$r
+ Here is the call graph for this function:

◆ testRenderingWithIcon()

SimpleNodeTest::testRenderingWithIcon ( C\Tree\Node\Simple  $node)

testConstructionWithIcon

Definition at line 181 of file SimpleNodeTest.php.

References $r, brutallyTrimHTML(), and ILIAS_UI_TestBase\getDefaultRenderer().

181  : void
182  {
183  $r = $this->getDefaultRenderer();
184  $html = $r->render($node);
185 
186  $expected = <<<EOT
187  <li class="c-tree__node c-tree__node--simple" role="treeitem">
188  <span class="c-tree__node__line">
189  <span class="c-tree__node__label">
190  <img class="icon small" src="./templates/default/images/standard/icon_default.svg" alt=""/>
191  label
192  </span>
193  </span>
194  </li>
195 EOT;
196 
197  $this->assertEquals(
198  $this->brutallyTrimHTML($expected),
199  $this->brutallyTrimHTML($html)
200  );
201  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:377
brutallyTrimHTML(string $html)
$r
+ Here is the call graph for this function:

◆ testRenderingWithIconAndAltAttribute()

SimpleNodeTest::testRenderingWithIconAndAltAttribute ( C\Tree\Node\Simple  $node)

This test is successfull if the icon label differs from the node label.

As a result the alt attribute will get the icon's label as content. Else the alt attribute will be empty (see testRenderingWithIcon).

testConstructionWithIconAndDifferentLabels

Definition at line 209 of file SimpleNodeTest.php.

References $r, brutallyTrimHTML(), and ILIAS_UI_TestBase\getDefaultRenderer().

209  : void
210  {
211  $r = $this->getDefaultRenderer();
212  $html = $r->render($node);
213 
214  $expected = <<<EOT
215  <li class="c-tree__node c-tree__node--simple" role="treeitem">
216  <span class="c-tree__node__line">
217  <span class="c-tree__node__label">
218  <img class="icon small" src="./templates/default/images/standard/icon_default.svg" alt="Different Icon Label"/>
219  label
220  </span>
221  </span>
222  </li>
223 EOT;
224 
225  $this->assertEquals(
226  $this->brutallyTrimHTML($expected),
227  $this->brutallyTrimHTML($html)
228  );
229  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:377
brutallyTrimHTML(string $html)
$r
+ Here is the call graph for this function:

◆ testWithAsyncURL()

SimpleNodeTest::testWithAsyncURL ( C\Tree\Node\Simple  $node)

testConstruction

Definition at line 121 of file SimpleNodeTest.php.

References $url.

121  : C\Tree\Node\Simple
122  {
123  $url = 'something.de';
124  $node = $node->withAsyncURL($url);
125  $this->assertTrue($node->getAsyncLoading());
126  $this->assertEquals($url, $node->getAsyncURL());
127  return $node;
128  }
$url
Definition: ltiregstart.php:35

◆ testWrongConstruction()

SimpleNodeTest::testWrongConstruction ( )

Definition at line 59 of file SimpleNodeTest.php.

59  : void
60  {
61  $this->expectException(ArgumentCountError::class);
62  $this->node_factory->simple();
63  }

Field Documentation

◆ $icon

C Symbol Icon Standard SimpleNodeTest::$icon
private

Definition at line 33 of file SimpleNodeTest.php.

◆ $node_factory

I Tree Node Factory SimpleNodeTest::$node_factory
private

Definition at line 32 of file SimpleNodeTest.php.


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