ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
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 ()
 
 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 ( )

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.

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

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  }
foreach($_POST as $key=> $value) $res
__construct(Container $dic, ilPlugin $plugin)
+ Here is the call graph for this function:

◆ test_getContexts()

DefaultRendererTest::test_getContexts ( )

Definition at line 56 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer().

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
+ Here is the call graph for this function:

◆ test_getRenderer_caching()

DefaultRendererTest::test_getRenderer_caching ( )

Definition at line 24 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer().

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 Factory.
Class ChatMainBarProvider .
getDefaultRenderer(JavaScriptBinding $js_binding=null, $with_stub_renderings=[])
Definition: Base.php:311
+ Here is the call graph for this function:

◆ test_getRenderer_successfully()

DefaultRendererTest::test_getRenderer_successfully ( )

Definition at line 16 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer().

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  }
Class Factory.
Class ChatMainBarProvider .
getDefaultRenderer(JavaScriptBinding $js_binding=null, $with_stub_renderings=[])
Definition: Base.php:311
+ Here is the call graph for this function:

◆ test_invokesRegistry()

DefaultRendererTest::test_invokesRegistry ( )

Definition at line 38 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer().

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  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, $with_stub_renderings=[])
Definition: Base.php:311
+ 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 183 of file DefaultRendererTest.php.

References ILIAS\GlobalScreen\Provider\__construct().

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

References ILIAS\GlobalScreen\Provider\__construct().

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  }
__construct(Container $dic, ilPlugin $plugin)
+ 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  }
Class Factory.
Class ChatMainBarProvider .

◆ test_render()

DefaultRendererTest::test_render ( )

Definition at line 92 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer().

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  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, $with_stub_renderings=[])
Definition: Base.php:311
+ 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.

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

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  }
Class Factory.
Class ChatMainBarProvider .
getTemplateFactory()
Definition: Base.php:279
getDefaultRenderer(JavaScriptBinding $js_binding=null, $with_stub_renderings=[])
Definition: Base.php:311
+ 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.

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

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  }
Class Factory.
Class ChatMainBarProvider .
getTemplateFactory()
Definition: Base.php:279
getDefaultRenderer(JavaScriptBinding $js_binding=null, $with_stub_renderings=[])
Definition: Base.php:311
+ 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.

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

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  }
Class Factory.
Class ChatMainBarProvider .
getTemplateFactory()
Definition: Base.php:279
getDefaultRenderer(JavaScriptBinding $js_binding=null, $with_stub_renderings=[])
Definition: Base.php:311
+ 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.

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

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  }
Class Factory.
Class ChatMainBarProvider .
getTemplateFactory()
Definition: Base.php:279
getDefaultRenderer(JavaScriptBinding $js_binding=null, $with_stub_renderings=[])
Definition: Base.php:311
+ Here is the call graph for this function:

◆ test_withAdditionalContext_clones()

DefaultRendererTest::test_withAdditionalContext_clones ( )

Definition at line 48 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer().

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  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, $with_stub_renderings=[])
Definition: Base.php:311
+ Here is the call graph for this function:

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