ILIAS  release_7 Revision v7.30-3-g800a261c036
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 ()
 
 getDefaultRenderer (JavaScriptBinding $js_binding=null, $with_stub_renderings=[])
 
 getDecoratedRenderer (Renderer $default)
 
 normalizeHTML ($html)
 
 assertHTMLEquals ($expected_html_as_string, $html_as_string)
 

Additional Inherited Members

- Protected Member Functions inherited from ILIAS_UI_TestBase
 brutallyTrimHTML ($html)
 A more radical version of normalizeHTML. More...
 

Detailed Description

Definition at line 14 of file DefaultRendererTest.php.

Member Function Documentation

◆ getResourceRegistry()

DefaultRendererTest::getResourceRegistry ( )

Reimplemented from ILIAS_UI_TestBase.

Definition at line 32 of file DefaultRendererTest.php.

33 {
34 $this->resource_registry = parent::getResourceRegistry();
35 return $this->resource_registry;
36 }

◆ render_type()

DefaultRendererTest::render_type ( )

Definition at line 213 of file DefaultRendererTest.php.

214 {
215 return [
216 ["render"],
217 ["renderAsync"]
218 ];
219 }

◆ test_component_list_uses_root_to_render()

DefaultRendererTest::test_component_list_uses_root_to_render ( )

Definition at line 221 of file DefaultRendererTest.php.

222 {
223 $component = $this->createMock(C\Component::class);
224 $root = $this->createMock(Renderer::class);
225
226 $renderer = new class($this) extends DefaultRenderer {
227 public function __construct($self)
228 {
229 $this->self = $self;
230 }
231 };
232
233 $root->expects($this->exactly(2))
234 ->method("render")
235 ->with($component)
236 ->willReturn(".");
237
238 $res = $renderer->render([$component, $component], $root);
239 $this->assertEquals("..", $res);
240 }
Renderer that dispatches rendering of UI components to a Renderer found in the same namespace as the ...
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
foreach($_POST as $key=> $value) $res

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

+ Here is the call graph for this function:

◆ test_getContexts()

DefaultRendererTest::test_getContexts ( )

Definition at line 56 of file DefaultRendererTest.php.

57 {
58 $dr = $this->getDefaultRenderer();
59 $c1 = new \ILIAS\UI\Component\Test\TestComponent("foo");
60 $c2 = new \ILIAS\UI\Component\Test\TestComponent("bar");
61 $dr2 = $dr
62 ->withAdditionalContext($c1)
63 ->withAdditionalContext($c2);
64 $this->assertEquals([], $dr->_getContexts());
65 $this->assertEquals([$c1, $c2], $dr2->_getContexts());
66 }
getDefaultRenderer(JavaScriptBinding $js_binding=null, $with_stub_renderings=[])
Definition: Base.php:311

References ILIAS_UI_TestBase\getDefaultRenderer().

+ Here is the call graph for this function:

◆ test_getRenderer_caching()

DefaultRendererTest::test_getRenderer_caching ( )

Definition at line 24 of file DefaultRendererTest.php.

25 {
26 $dr = $this->getDefaultRenderer();
27 $r1 = $dr->_getRendererFor(new \ILIAS\UI\Implementation\Component\Symbol\Glyph\Glyph("up", "up"));
28 $r2 = $dr->_getRendererFor(new \ILIAS\UI\Implementation\Component\Symbol\Glyph\Glyph("up", "up"));
29 $this->assertTrue($r1 === $r2, "Instances not equal");
30 }
Class ChatMainBarProvider \MainMenu\Provider.
Class Factory.

References ILIAS_UI_TestBase\getDefaultRenderer().

+ Here is the call graph for this function:

◆ test_getRenderer_successfully()

DefaultRendererTest::test_getRenderer_successfully ( )

Definition at line 16 of file DefaultRendererTest.php.

17 {
18 // There should be a renderer for Glyph...
19 $dr = $this->getDefaultRenderer();
20 $r = $dr->_getRendererFor(new \ILIAS\UI\Implementation\Component\Symbol\Glyph\Glyph("up", "up"));
21 $this->assertInstanceOf(\ILIAS\UI\Implementation\Render\ComponentRenderer::class, $r);
22 }

References ILIAS_UI_TestBase\getDefaultRenderer().

+ Here is the call graph for this function:

◆ test_invokesRegistry()

DefaultRendererTest::test_invokesRegistry ( )

Definition at line 38 of file DefaultRendererTest.php.

39 {
40 $dr = $this->getDefaultRenderer();
41 $component = new \ILIAS\UI\Component\Test\TestComponent("foo");
42
43 $dr->render($component);
44
45 $this->assertEquals(array("test.js"), $this->resource_registry->resources);
46 }

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 183 of file DefaultRendererTest.php.

184 {
185 $this->component_renderer = $this->createMock(ComponentRenderer::class);
186 $component = $this->createMock(C\Component::class);
187 $root = $this->createMock(Renderer::class);
188
189 $renderer = new class($this) extends DefaultRenderer {
190 public function __construct($self)
191 {
192 $this->self = $self;
193 }
194
195 protected function getRendererFor(C\Component $component)
196 {
197 return $this->self->component_renderer;
198 }
199
200 protected function getJSCodeForAsyncRenderingFor(C\Component $component)
201 {
202 return "";
203 }
204 };
205
206 $this->component_renderer->expects($this->once())
207 ->method("render")
208 ->with($component, $root);
209
210 $renderer->$render_type($component, $root);
211 }

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 151 of file DefaultRendererTest.php.

152 {
153 $this->component_renderer = $this->createMock(ComponentRenderer::class);
154 $component = $this->createMock(C\Component::class);
155
156 $renderer = new class($this) extends DefaultRenderer {
157 public function __construct($self)
158 {
159 $this->self = $self;
160 }
161
162 protected function getRendererFor(C\Component $component)
163 {
164 return $this->self->component_renderer;
165 }
166
167 protected function getJSCodeForAsyncRenderingFor(C\Component $component)
168 {
169 return "";
170 }
171 };
172
173 $this->component_renderer->expects($this->once())
174 ->method("render")
175 ->with($component, $renderer);
176
177 $renderer->$render_type($component);
178 }

References ILIAS\GlobalScreen\Provider\__construct().

+ Here is the call graph for this function:

◆ test_passesContextsToComponentRendererLoader()

DefaultRendererTest::test_passesContextsToComponentRendererLoader ( )

Definition at line 68 of file DefaultRendererTest.php.

69 {
70 $loader = $this
71 ->getMockBuilder(\ILIAS\UI\Implementation\Render\Loader::class)
72 ->setMethods(["getRendererFor", "getRendererFactoryFor"])
73 ->getMock();
74
75 $renderer = new TestDefaultRenderer($loader);
76
77 $c1 = new \ILIAS\UI\Component\Test\TestComponent("foo");
78 $c2 = new \ILIAS\UI\Component\Test\TestComponent("bar");
79
80 $renderer = $renderer
81 ->withAdditionalContext($c1)
82 ->withAdditionalContext($c2);
83
84 $loader
85 ->expects($this->once())
86 ->method("getRendererFor")
87 ->with($c1, [$c1, $c2]);
88
89 $renderer->_getRendererFor($c1);
90 }

◆ test_render()

DefaultRendererTest::test_render ( )

Definition at line 92 of file DefaultRendererTest.php.

93 {
94 $c1 = new \ILIAS\UI\Component\Test\TestComponent("foo");
95 $renderer = $this->getDefaultRenderer();
96 $html = $renderer->render($c1);
97 $this->assertEquals("foo", $html);
98 }

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 137 of file DefaultRendererTest.php.

138 {
139 $c1 = new \ILIAS\UI\Component\Test\TestComponent("foo");
140
141 $renderer = $this->getDefaultRenderer(
142 new \ILIAS\UI\Implementation\Render\ilJavaScriptBinding($this->getTemplateFactory()->getTemplate("tpl.main.html", false, false))
143 );
144 $html = $renderer->renderAsync([$c1,$c1]);
145 $this->assertEquals('foofoo', $html);
146 }
getTemplateFactory()
Definition: Base.php:279

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 100 of file DefaultRendererTest.php.

101 {
102 $c1 = new \ILIAS\UI\Component\Test\TestComponent("foo");
103 $renderer = $this->getDefaultRenderer(
104 new \ILIAS\UI\Implementation\Render\ilJavaScriptBinding(
105 $this->getTemplateFactory()->getTemplate("tpl.main.html", false, false)
106 )
107 );
108 $html = $renderer->renderAsync($c1);
109 $this->assertEquals("foo", $html);
110 }

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 112 of file DefaultRendererTest.php.

113 {
114 $c1 = new \ILIAS\UI\Component\Test\JSTestComponent("foo");
115 $renderer = $this->getDefaultRenderer(
116 new \ILIAS\UI\Implementation\Render\ilJavaScriptBinding($this->getTemplateFactory()->getTemplate("tpl.main.html", false, false))
117 );
118 $html = $renderer->renderAsync($c1);
119 $this->assertEquals('foo<script data-replace-marker="script">id:foo.id content:foo</script>', $html);
120 }

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 122 of file DefaultRendererTest.php.

123 {
124 $c1 = new \ILIAS\UI\Component\Test\TestComponent("foo");
125 $c2 = new \ILIAS\UI\Component\Test\JSTestComponent("foo");
126 $renderer = $this->getDefaultRenderer(
127 new \ILIAS\UI\Implementation\Render\ilJavaScriptBinding($this->getTemplateFactory()->getTemplate("tpl.main.html", false, false))
128 );
129 $html = $renderer->renderAsync($c2);
130 $this->assertEquals('foo<script data-replace-marker="script">id:foo.id content:foo</script>', $html);
131 $html = $renderer->renderAsync($c1);
132 $this->assertEquals("foo", $html);
133 $html = $renderer->renderAsync($c2);
134 $this->assertEquals('foo<script data-replace-marker="script">id:foo.id content:foo</script>', $html);
135 }

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 48 of file DefaultRendererTest.php.

49 {
50 $dr = $this->getDefaultRenderer();
51 $component = new \ILIAS\UI\Component\Test\TestComponent("foo");
52 $dr2 = $dr->withAdditionalContext($component);
53 $this->assertNotSame($dr, $dr2);
54 }

References ILIAS_UI_TestBase\getDefaultRenderer().

+ Here is the call graph for this function:

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