19 declare(strict_types=1);
22 require_once(
"libs/composer/vendor/autoload.php");
42 return [
"\\ILIAS\\UI\\Component\\Symbol\\Glyph\\Glyph"];
48 public array $ids = array();
77 return [
"\\ILIAS\\UI\\Component\\Counter\\Counter"];
99 require_once(__DIR__ .
"/../Base.php");
133 public function get(
string $block = null):
string 145 public array $files = array();
149 $file_name = realpath(__DIR__ .
"/../../../" . $path);
150 $this->files[$file_name] = array($purge_unfilled_vars, $purge_unused_blocks);
152 if (!file_exists($file_name)) {
196 $this->image_path_resolver = $this->getMockBuilder(
ILIAS\
UI\
Implementation\Render\ImagePathResolver::class)
198 $this->help_text_retriever = $this->createMock(
ILIAS\
UI\HelpTextRetriever::class);
209 $this->image_path_resolver,
211 $this->help_text_retriever,
214 $r->_getTemplate(
"tpl.glyph.html",
true,
false);
216 $expected = array(realpath(__DIR__ .
"/../../../src/UI/templates/default/Symbol/tpl.glyph.html")
217 => array(
true,
false)
220 $this->assertEquals($expected, $this->tpl_factory->files);
231 $this->image_path_resolver,
233 $this->help_text_retriever,
237 $this->expectException(TypeError::class);
238 $r->_getTemplate(
"tpl.counter_foo.html",
true,
false);
240 $expected = array(realpath(__DIR__ .
"/../../src/UI/templates/default/Counter/tpl.counter_foo.html")
241 => array(
true,
false)
243 $this->assertEquals($expected, $this->tpl_factory->files);
254 $this->image_path_resolver,
256 $this->help_text_retriever,
260 $g =
new Glyph(C\Symbol\
Glyph\Glyph::SETTINGS,
"aria_label");
263 $g = $g->withOnLoadCode(
function (
$id) use (&$ids) {
269 $this->assertEquals($this->js_binding->ids, $ids);
270 $this->assertEquals(array(
"id_1"), $ids);
271 $this->assertEquals(array(
"ID: id_1"), $this->js_binding->on_load_code);
282 $this->image_path_resolver,
284 $this->help_text_retriever,
288 $g =
new Glyph(C\Symbol\
Glyph\Glyph::SETTINGS,
"aria_label");
290 $g = $g->withOnLoadCode(
function (
$id) {
296 $this->assertFalse(
"This should not happen...");
298 $this->assertTrue(
true);
An entity that renders components to a string output.
getComponentInterfaceName()
LoggingJavaScriptBinding $js_binding
TemplateFactoryMock $tpl_factory
renderAsync($component, ?Renderer $root=null)
Same as render, except that this version also returns any javascript code bound to the on load event...
touchBlock(string $name)
Touch a block without working further on it.
Class ChatMainBarProvider .
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
render($component, ?Renderer $root=null)
Render given component.
render(Component $component, Renderer $default_renderer)
render(Component $component, Renderer $default_renderer)
setVariable(string $name, $value)
Set a variable in the current block.
_getTemplate(string $a, bool $b, bool $c)
render(Component $component, Renderer $default_renderer)
Provides common functionality for UI tests.
addOnLoadCode(string $code)
Add some javascript to be executed on_load of the rendered page.
withAdditionalContext(C\Component $context)
getTemplate(string $name, bool $purge_unfilled_vars, bool $purge_unused_blocks)
Get template of component this renderer is made for.
ILIAS UI HelpTextRetriever $help_text_retriever
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getTemplate(string $path, bool $purge_unfilled_vars, bool $purge_unused_blocks)
Get template instance.
testGetTemplateSuccessfull()
testGetTemplateUnsuccessfull()
setCurrentBlock(string $name)
Set the block to work on.
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
$a
thx to https://mlocati.github.io/php-cs-fixer-configurator for the examples
getUIFactory()
Get a UI factory.
_getTemplate(string $a, bool $b, bool $c)
getComponentInterfaceName()
parseCurrentBlock()
Parse the block that is currently worked on.
testBindJavaScriptSuccessfull()
Interface for a factory that provides templates.
testBindJavaScriptNoString()
Base class for all component renderers.
bindJavaScript(JavaScriptBindable $component)
Bind the component to JavaScript.