ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
DefaultRendererTest Class Reference
+ Inheritance diagram for DefaultRendererTest:
+ Collaboration diagram for DefaultRendererTest:

Public Member Functions

 testGetRendererSuccessfully ()
 
 testGetRendererCaching ()
 
 getResourceRegistry ()
 
 testInvokesRegistry ()
 
 testWithAdditionalContextClones ()
 
 testGetContexts ()
 
 testPassesContextsToComponentRendererLoader ()
 
 testRender ()
 
 testRenderAsyncNoJs ()
 
 testRenderAsyncWithJs ()
 
 testRenderAsyncWithJsTwice ()
 
 testRenderAsyncArray ()
 
 testPassesSelfAsRootIfNoRootExist ($render_type)
 getRenderType More...
 
 testPassesOtherOnAsRoot ($render_type)
 getRenderType More...
 
 getRenderType ()
 
 testComponentListUsesRootToRender ()
 
- 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)
 

Data Fields

ComponentRenderer $component_renderer
 

Protected Attributes

LoggingRegistry $resource_registry
 

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

◆ getRenderType()

DefaultRendererTest::getRenderType ( )

Definition at line 236 of file DefaultRendererTest.php.

237  {
238  return [
239  ["render"],
240  ["renderAsync"]
241  ];
242  }

◆ getResourceRegistry()

DefaultRendererTest::getResourceRegistry ( )

Definition at line 55 of file DefaultRendererTest.php.

References $resource_registry.

56  {
57  $this->resource_registry = parent::getResourceRegistry();
59  }
LoggingRegistry $resource_registry

◆ testComponentListUsesRootToRender()

DefaultRendererTest::testComponentListUsesRootToRender ( )

Definition at line 244 of file DefaultRendererTest.php.

References $res, and ILIAS_UI_TestBase\getDefaultRenderer().

245  {
246  $component = $this->createMock(C\Component::class);
247  $root = $this->createMock(Renderer::class);
248 
249  $renderer = $this->getDefaultRenderer();
250 
251  $root->expects($this->exactly(2))
252  ->method("render")
253  ->with($component)
254  ->willReturn(".");
255 
256  $res = $renderer->render([$component, $component], $root);
257  $this->assertEquals("..", $res);
258  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:377
$res
Definition: ltiservices.php:69
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ testGetContexts()

DefaultRendererTest::testGetContexts ( )

Definition at line 79 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer().

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

◆ testGetRendererCaching()

DefaultRendererTest::testGetRendererCaching ( )

Definition at line 47 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer().

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

◆ testGetRendererSuccessfully()

DefaultRendererTest::testGetRendererSuccessfully ( )

Definition at line 39 of file DefaultRendererTest.php.

References $r, and ILIAS_UI_TestBase\getDefaultRenderer().

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

◆ testInvokesRegistry()

DefaultRendererTest::testInvokesRegistry ( )

Definition at line 61 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer().

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

◆ testPassesContextsToComponentRendererLoader()

DefaultRendererTest::testPassesContextsToComponentRendererLoader ( )

Definition at line 91 of file DefaultRendererTest.php.

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

◆ testPassesOtherOnAsRoot()

DefaultRendererTest::testPassesOtherOnAsRoot (   $render_type)

getRenderType

Definition at line 206 of file DefaultRendererTest.php.

References ILIAS\MetaData\Repository\Validation\Data\__construct().

207  {
208  $this->component_renderer = $this->createMock(ComponentRenderer::class);
209  $component = $this->createMock(C\Component::class);
210  $root = $this->createMock(Renderer::class);
211 
212  $renderer = new class ($this) extends DefaultRenderer {
213  public function __construct(
214  protected DefaultRendererTest $self
215  ) {
216  }
217 
218  protected function getRendererFor(ILIAS\UI\Component\Component $component): ComponentRenderer
219  {
220  return $this->self->component_renderer;
221  }
222 
223  protected function getJSCodeForAsyncRenderingFor(C\Component $component)
224  {
225  return "";
226  }
227  };
228 
229  $this->component_renderer->expects($this->once())
230  ->method("render")
231  ->with($component, $root);
232 
233  $renderer->$render_type($component, $root);
234  }
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(VocabulariesInterface $vocabularies)
+ Here is the call graph for this function:

◆ testPassesSelfAsRootIfNoRootExist()

DefaultRendererTest::testPassesSelfAsRootIfNoRootExist (   $render_type)

getRenderType

Definition at line 174 of file DefaultRendererTest.php.

References ILIAS\MetaData\Repository\Validation\Data\__construct().

175  {
176  $this->component_renderer = $this->createMock(ComponentRenderer::class);
177  $component = $this->createMock(C\Component::class);
178 
179  $renderer = new class ($this) extends DefaultRenderer {
180  public function __construct(
181  protected DefaultRendererTest $self
182  ) {
183  }
184 
185  protected function getRendererFor(ILIAS\UI\Component\Component $component): ComponentRenderer
186  {
187  return $this->self->component_renderer;
188  }
189 
190  protected function getJSCodeForAsyncRenderingFor(C\Component $component)
191  {
192  return "";
193  }
194  };
195 
196  $this->component_renderer->expects($this->once())
197  ->method("render")
198  ->with($component, $renderer);
199 
200  $renderer->$render_type($component);
201  }
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(VocabulariesInterface $vocabularies)
+ Here is the call graph for this function:

◆ testRender()

DefaultRendererTest::testRender ( )

Definition at line 115 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer().

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

◆ testRenderAsyncArray()

DefaultRendererTest::testRenderAsyncArray ( )

Definition at line 160 of file DefaultRendererTest.php.

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

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

◆ testRenderAsyncNoJs()

DefaultRendererTest::testRenderAsyncNoJs ( )

Definition at line 123 of file DefaultRendererTest.php.

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

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

◆ testRenderAsyncWithJs()

DefaultRendererTest::testRenderAsyncWithJs ( )

Definition at line 135 of file DefaultRendererTest.php.

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

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

◆ testRenderAsyncWithJsTwice()

DefaultRendererTest::testRenderAsyncWithJsTwice ( )

Definition at line 145 of file DefaultRendererTest.php.

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

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

◆ testWithAdditionalContextClones()

DefaultRendererTest::testWithAdditionalContextClones ( )

Definition at line 71 of file DefaultRendererTest.php.

References ILIAS_UI_TestBase\getDefaultRenderer().

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

Field Documentation

◆ $component_renderer

ComponentRenderer DefaultRendererTest::$component_renderer

Definition at line 37 of file DefaultRendererTest.php.

◆ $resource_registry

LoggingRegistry DefaultRendererTest::$resource_registry
protected

Definition at line 36 of file DefaultRendererTest.php.

Referenced by getResourceRegistry().


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