ILIAS  release_8 Revision v8.23
DefaultRendererTest Class Reference
+ Inheritance diagram for DefaultRendererTest:
+ Collaboration diagram for DefaultRendererTest:

Public Member Functions

 test_getRenderer_successfully ()
 
 test_getRenderer_caching ()
 
 getResourceRegistry ()
 
 test_invokesRegistry ()
 
 test_withAdditionalContext_clones ()
 
 test_getContexts ()
 
 test_passesContextsToComponentRendererLoader ()
 
 test_render ()
 
 test_render_async_no_js ()
 
 test_render_async_with_js ()
 
 test_render_async_with_js_twice ()
 
 test_render_async_array ()
 
 test_passes_self_as_root_if_no_root_exist ($render_type)
 render_type More...
 
 test_passes_other_on_as_root ($render_type)
 render_type More...
 
 render_type ()
 
 test_component_list_uses_root_to_render ()
 
- Public Member Functions inherited from ILIAS_UI_TestBase
 setUp ()
 
 tearDown ()
 
 getUIFactory ()
 
 getTemplateFactory ()
 
 getResourceRegistry ()
 
 getLanguage ()
 
 getJavaScriptBinding ()
 
 getRefinery ()
 
 getImagePathResolver ()
 
 getDataFactory ()
 
 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)
 

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

Definition at line 34 of file DefaultRendererTest.php.

Member Function Documentation

◆ getResourceRegistry()

DefaultRendererTest::getResourceRegistry ( )

Definition at line 52 of file DefaultRendererTest.php.

53  {
54  $this->resource_registry = parent::getResourceRegistry();
55  return $this->resource_registry;
56  }

◆ render_type()

DefaultRendererTest::render_type ( )

Definition at line 233 of file DefaultRendererTest.php.

234  {
235  return [
236  ["render"],
237  ["renderAsync"]
238  ];
239  }

◆ test_component_list_uses_root_to_render()

DefaultRendererTest::test_component_list_uses_root_to_render ( )

Definition at line 241 of file DefaultRendererTest.php.

References $res, and ILIAS\GlobalScreen\Provider\__construct().

242  {
243  $component = $this->createMock(C\Component::class);
244  $root = $this->createMock(Renderer::class);
245 
246  $renderer = new class ($this) extends DefaultRenderer {
247  public function __construct($self)
248  {
249  $this->self = $self;
250  }
251  };
252 
253  $root->expects($this->exactly(2))
254  ->method("render")
255  ->with($component)
256  ->willReturn(".");
257 
258  $res = $renderer->render([$component, $component], $root);
259  $this->assertEquals("..", $res);
260  }
$res
Definition: ltiservices.php:69
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(Container $dic, ilPlugin $plugin)
+ Here is the call graph for this function:

◆ test_getContexts()

DefaultRendererTest::test_getContexts ( )

Definition at line 76 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer().

76  : void
77  {
78  $dr = $this->getDefaultRenderer();
79  $c1 = new TestComponent("foo");
80  $c2 = new TestComponent("bar");
81  $dr2 = $dr
82  ->withAdditionalContext($c1)
83  ->withAdditionalContext($c2);
84  $this->assertEquals([], $dr->_getContexts());
85  $this->assertEquals([$c1, $c2], $dr2->_getContexts());
86  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:355
+ Here is the call graph for this function:

◆ test_getRenderer_caching()

DefaultRendererTest::test_getRenderer_caching ( )

Definition at line 44 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer().

44  : void
45  {
46  $dr = $this->getDefaultRenderer();
47  $r1 = $dr->_getRendererFor(new Glyph("up", "up"));
48  $r2 = $dr->_getRendererFor(new Glyph("up", "up"));
49  $this->assertTrue($r1 === $r2, "Instances not equal");
50  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:355
+ Here is the call graph for this function:

◆ test_getRenderer_successfully()

DefaultRendererTest::test_getRenderer_successfully ( )

Definition at line 36 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer().

36  : void
37  {
38  // There should be a renderer for Glyph...
39  $dr = $this->getDefaultRenderer();
40  $r = $dr->_getRendererFor(new Glyph("up", "up"));
41  $this->assertInstanceOf(ComponentRenderer::class, $r);
42  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:355
+ Here is the call graph for this function:

◆ test_invokesRegistry()

DefaultRendererTest::test_invokesRegistry ( )

Definition at line 58 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer().

58  : void
59  {
60  $dr = $this->getDefaultRenderer();
61  $component = new TestComponent("foo");
62 
63  $dr->render($component);
64 
65  $this->assertEquals(array("test.js"), $this->resource_registry->resources);
66  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:355
+ Here is the call graph for this function:

◆ test_passes_other_on_as_root()

DefaultRendererTest::test_passes_other_on_as_root (   $render_type)

render_type

Definition at line 203 of file DefaultRendererTest.php.

References ILIAS\GlobalScreen\Provider\__construct().

204  {
205  $this->component_renderer = $this->createMock(ComponentRenderer::class);
206  $component = $this->createMock(C\Component::class);
207  $root = $this->createMock(Renderer::class);
208 
209  $renderer = new class ($this) extends DefaultRenderer {
210  public function __construct($self)
211  {
212  $this->self = $self;
213  }
214 
215  protected function getRendererFor(ILIAS\UI\Component\Component $component): ComponentRenderer
216  {
217  return $this->self->component_renderer;
218  }
219 
220  protected function getJSCodeForAsyncRenderingFor(C\Component $component)
221  {
222  return "";
223  }
224  };
225 
226  $this->component_renderer->expects($this->once())
227  ->method("render")
228  ->with($component, $root);
229 
230  $renderer->$render_type($component, $root);
231  }
Class Factory.
Class ChatMainBarProvider .
An entity that renders components to a string output.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(Container $dic, ilPlugin $plugin)
+ Here is the call graph for this function:

◆ test_passes_self_as_root_if_no_root_exist()

DefaultRendererTest::test_passes_self_as_root_if_no_root_exist (   $render_type)

render_type

Definition at line 171 of file DefaultRendererTest.php.

References ILIAS\GlobalScreen\Provider\__construct().

172  {
173  $this->component_renderer = $this->createMock(ComponentRenderer::class);
174  $component = $this->createMock(C\Component::class);
175 
176  $renderer = new class ($this) extends DefaultRenderer {
177  public function __construct($self)
178  {
179  $this->self = $self;
180  }
181 
182  protected function getRendererFor(ILIAS\UI\Component\Component $component): ComponentRenderer
183  {
184  return $this->self->component_renderer;
185  }
186 
187  protected function getJSCodeForAsyncRenderingFor(C\Component $component)
188  {
189  return "";
190  }
191  };
192 
193  $this->component_renderer->expects($this->once())
194  ->method("render")
195  ->with($component, $renderer);
196 
197  $renderer->$render_type($component);
198  }
Class Factory.
Class ChatMainBarProvider .
An entity that renders components to a string output.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(Container $dic, ilPlugin $plugin)
+ Here is the call graph for this function:

◆ test_passesContextsToComponentRendererLoader()

DefaultRendererTest::test_passesContextsToComponentRendererLoader ( )

Definition at line 88 of file DefaultRendererTest.php.

88  : void
89  {
90  $loader = $this
91  ->getMockBuilder(Loader::class)
92  ->onlyMethods(["getRendererFor", "getRendererFactoryFor"])
93  ->getMock();
94 
95  $renderer = new TestDefaultRenderer($loader);
96 
97  $c1 = new TestComponent("foo");
98  $c2 = new TestComponent("bar");
99 
100  $renderer = $renderer
101  ->withAdditionalContext($c1)
102  ->withAdditionalContext($c2);
103 
104  $loader
105  ->expects($this->once())
106  ->method("getRendererFor")
107  ->with($c1, [$c1, $c2]);
108 
109  $renderer->_getRendererFor($c1);
110  }

◆ test_render()

DefaultRendererTest::test_render ( )

Definition at line 112 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer().

112  : void
113  {
114  $c1 = new TestComponent("foo");
115  $renderer = $this->getDefaultRenderer();
116  $html = $renderer->render($c1);
117  $this->assertEquals("foo", $html);
118  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:355
+ Here is the call graph for this function:

◆ test_render_async_array()

DefaultRendererTest::test_render_async_array ( )

Definition at line 157 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer(), and ILIAS_UI_TestBase\getTemplateFactory().

157  : void
158  {
159  $c1 = new TestComponent("foo");
160 
161  $renderer = $this->getDefaultRenderer(
162  new ilJavaScriptBinding($this->getTemplateFactory()->getTemplate("tpl.main.html", false, false))
163  );
164  $html = $renderer->renderAsync([$c1,$c1]);
165  $this->assertEquals('foofoo', $html);
166  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:355
Wraps global ilTemplate to provide JavaScriptBinding.
getTemplateFactory()
Definition: Base.php:315
+ Here is the call graph for this function:

◆ test_render_async_no_js()

DefaultRendererTest::test_render_async_no_js ( )

Definition at line 120 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer(), and ILIAS_UI_TestBase\getTemplateFactory().

120  : void
121  {
122  $c1 = new TestComponent("foo");
123  $renderer = $this->getDefaultRenderer(
125  $this->getTemplateFactory()->getTemplate("tpl.main.html", false, false)
126  )
127  );
128  $html = $renderer->renderAsync($c1);
129  $this->assertEquals("foo", $html);
130  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:355
Wraps global ilTemplate to provide JavaScriptBinding.
getTemplateFactory()
Definition: Base.php:315
+ Here is the call graph for this function:

◆ test_render_async_with_js()

DefaultRendererTest::test_render_async_with_js ( )

Definition at line 132 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer(), and ILIAS_UI_TestBase\getTemplateFactory().

132  : void
133  {
134  $c1 = new JSTestComponent("foo");
135  $renderer = $this->getDefaultRenderer(
136  new ilJavaScriptBinding($this->getTemplateFactory()->getTemplate("tpl.main.html", false, false))
137  );
138  $html = $renderer->renderAsync($c1);
139  $this->assertEquals('foo<script data-replace-marker="script">id:foo.id content:foo</script>', $html);
140  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:355
Wraps global ilTemplate to provide JavaScriptBinding.
getTemplateFactory()
Definition: Base.php:315
+ Here is the call graph for this function:

◆ test_render_async_with_js_twice()

DefaultRendererTest::test_render_async_with_js_twice ( )

Definition at line 142 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer(), and ILIAS_UI_TestBase\getTemplateFactory().

142  : void
143  {
144  $c1 = new TestComponent("foo");
145  $c2 = new JSTestComponent("foo");
146  $renderer = $this->getDefaultRenderer(
147  new ilJavaScriptBinding($this->getTemplateFactory()->getTemplate("tpl.main.html", false, false))
148  );
149  $html = $renderer->renderAsync($c2);
150  $this->assertEquals('foo<script data-replace-marker="script">id:foo.id content:foo</script>', $html);
151  $html = $renderer->renderAsync($c1);
152  $this->assertEquals("foo", $html);
153  $html = $renderer->renderAsync($c2);
154  $this->assertEquals('foo<script data-replace-marker="script">id:foo.id content:foo</script>', $html);
155  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:355
Wraps global ilTemplate to provide JavaScriptBinding.
getTemplateFactory()
Definition: Base.php:315
+ Here is the call graph for this function:

◆ test_withAdditionalContext_clones()

DefaultRendererTest::test_withAdditionalContext_clones ( )

Definition at line 68 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer().

68  : void
69  {
70  $dr = $this->getDefaultRenderer();
71  $component = new TestComponent("foo");
72  $dr2 = $dr->withAdditionalContext($component);
73  $this->assertNotSame($dr, $dr2);
74  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:355
+ Here is the call graph for this function:

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