ILIAS  release_8 Revision v8.24
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)
 @dataProvider render_type More...
 
 test_passes_other_on_as_root ($render_type)
 @dataProvider 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 ( )

Reimplemented from ILIAS_UI_TestBase.

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.

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 }
Renderer that dispatches rendering of UI components to a Renderer found in the same namespace as the ...
$res
Definition: ltiservices.php:69
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

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

+ Here is the call graph for this function:

◆ test_getContexts()

DefaultRendererTest::test_getContexts ( )

Definition at line 76 of file DefaultRendererTest.php.

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

References ILIAS_UI_TestBase\getDefaultRenderer().

+ Here is the call graph for this function:

◆ test_getRenderer_caching()

DefaultRendererTest::test_getRenderer_caching ( )

Definition at line 44 of file DefaultRendererTest.php.

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 }

References ILIAS_UI_TestBase\getDefaultRenderer().

+ Here is the call graph for this function:

◆ test_getRenderer_successfully()

DefaultRendererTest::test_getRenderer_successfully ( )

Definition at line 36 of file DefaultRendererTest.php.

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 }

References ILIAS_UI_TestBase\getDefaultRenderer().

+ Here is the call graph for this function:

◆ test_invokesRegistry()

DefaultRendererTest::test_invokesRegistry ( )

Definition at line 58 of file DefaultRendererTest.php.

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 }

References ILIAS_UI_TestBase\getDefaultRenderer().

+ Here is the call graph for this function:

◆ test_passes_other_on_as_root()

DefaultRendererTest::test_passes_other_on_as_root (   $render_type)

@dataProvider render_type

Definition at line 203 of file DefaultRendererTest.php.

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 }
An entity that renders components to a string output.
Class ChatMainBarProvider \MainMenu\Provider.
Class Factory.

References ILIAS\GlobalScreen\Provider\__construct().

+ 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)

@dataProvider render_type

Definition at line 171 of file DefaultRendererTest.php.

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 }

References ILIAS\GlobalScreen\Provider\__construct().

+ 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.

112 : void
113 {
114 $c1 = new TestComponent("foo");
115 $renderer = $this->getDefaultRenderer();
116 $html = $renderer->render($c1);
117 $this->assertEquals("foo", $html);
118 }

References ILIAS_UI_TestBase\getDefaultRenderer().

+ 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.

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 }
Wraps global ilTemplate to provide JavaScriptBinding.
getTemplateFactory()
Definition: Base.php:315

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

+ 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.

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 }

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

+ 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.

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 }

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

+ 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.

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 }

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

+ Here is the call graph for this function:

◆ test_withAdditionalContext_clones()

DefaultRendererTest::test_withAdditionalContext_clones ( )

Definition at line 68 of file DefaultRendererTest.php.

68 : void
69 {
70 $dr = $this->getDefaultRenderer();
71 $component = new TestComponent("foo");
72 $dr2 = $dr->withAdditionalContext($component);
73 $this->assertNotSame($dr, $dr2);
74 }

References ILIAS_UI_TestBase\getDefaultRenderer().

+ Here is the call graph for this function:

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