ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ComponentRendererFSLoaderTest Class Reference
+ Inheritance diagram for ComponentRendererFSLoaderTest:
+ Collaboration diagram for ComponentRendererFSLoaderTest:

Public Member Functions

 testGetRendererSuccessfully ()
 
 testGetRendererSuccessfullyExtra ()
 
 testGetRendererUsesRendererFactory ()
 

Protected Member Functions

 getComponentRendererFSLoader ()
 

Private Attributes

 $glyph_renderer
 
 $icon_renderer
 

Detailed Description

Definition at line 31 of file ComponentRendererFSLoaderTest.php.

Member Function Documentation

◆ getComponentRendererFSLoader()

ComponentRendererFSLoaderTest::getComponentRendererFSLoader ( )
protected

Definition at line 42 of file ComponentRendererFSLoaderTest.php.

42 : FSLoader
43 {
44 $ui_factory = $this->getMockBuilder(ILIAS\UI\Implementation\FactoryInternal::class)->disableOriginalConstructor()->getMock();
45 $tpl_factory = $this->getMockBuilder(I\Render\TemplateFactory::class)->getMock();
46 $lng = $this->getMockBuilder(ILIAS\Language\Language::class)->disableOriginalConstructor()->getMock();
47 $js_binding = $this->getMockBuilder(I\Render\JavaScriptBinding::class)->getMock();
48 $image_path_resolver = $this->getMockBuilder(ILIAS\UI\Implementation\Render\ImagePathResolver::class)
49 ->getMock();
50 $data_factory = $this->getMockBuilder(ILIAS\Data\Factory::class)->getMock();
51 $help_text_retriever = $this->createMock(ILIAS\UI\HelpTextRetriever::class);
52 $upload_limit_resolver = $this->createMock(ILIAS\UI\Implementation\Component\Input\UploadLimitResolver::class);
53
54 $default_renderer_factory = new I\Render\DefaultRendererFactory(
55 $ui_factory,
56 $tpl_factory,
57 $lng,
58 $js_binding,
59 $image_path_resolver,
60 $data_factory,
61 $help_text_retriever,
62 $upload_limit_resolver,
63 );
64 $this->glyph_renderer = $this->createMock(I\Render\RendererFactory::class);
65 $this->icon_renderer = $this->createMock(I\Render\RendererFactory::class);
66 $messagebox_renderer = $this->createMock(I\Render\RendererFactory::class);
67 $form_renderer = $this->createMock(I\Render\RendererFactory::class);
68
69 $field_renderer = $this->createMock(I\Render\RendererFactory::class);
70 return new FSLoader(
71 $default_renderer_factory,
72 $this->glyph_renderer,
73 $this->icon_renderer,
74 $field_renderer,
75 $messagebox_renderer,
76 $form_renderer,
77 );
78 }
Loads renderers for components from the file system.
Definition: FSLoader.php:43
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.
global $lng
Definition: privfeed.php:31

References $lng.

Referenced by testGetRendererSuccessfully(), and testGetRendererSuccessfullyExtra().

+ Here is the caller graph for this function:

◆ testGetRendererSuccessfully()

ComponentRendererFSLoaderTest::testGetRendererSuccessfully ( )

Definition at line 80 of file ComponentRendererFSLoaderTest.php.

80 : void
81 {
82 // There should be a renderer for Glyph...
84 $component = new I\Component\Button\Standard("", "");
85 $r = $f->getRendererFor($component, []);
86 $this->assertInstanceOf(I\Render\ComponentRenderer::class, $r);
87 }

References Vendor\Package\$f, and getComponentRendererFSLoader().

+ Here is the call graph for this function:

◆ testGetRendererSuccessfullyExtra()

ComponentRendererFSLoaderTest::testGetRendererSuccessfullyExtra ( )

Definition at line 89 of file ComponentRendererFSLoaderTest.php.

89 : void
90 {
91 // There should be a renderer for Glyph...
93 $component = new I\Component\Symbol\Glyph\Glyph("up", "up");
94 $context = $this->createMock(Component::class);
95 $renderer = $this->createMock(I\Render\ComponentRenderer::class);
96
97 $context_name = "foo";
99 ->expects($this->once())
100 ->method("getCanonicalName")
101 ->willReturn($context_name);
102
103 $this->glyph_renderer
104 ->expects($this->once())
105 ->method("getRendererInContext")
106 ->with($component, [$context_name])
107 ->willReturn($renderer);
108
109 $r = $f->getRendererFor($component, [$context]);
110
111 $this->assertEquals($renderer, $r);
112 }
$renderer
$context
Definition: webdav.php:31

References $context, Vendor\Package\$f, $renderer, and getComponentRendererFSLoader().

+ Here is the call graph for this function:

◆ testGetRendererUsesRendererFactory()

ComponentRendererFSLoaderTest::testGetRendererUsesRendererFactory ( )

Definition at line 114 of file ComponentRendererFSLoaderTest.php.

114 : void
115 {
116 $loader = $this->getMockBuilder(ILIAS\UI\Implementation\Render\FSLoader::class)
117 ->onlyMethods(["getRendererFactoryFor", "getContextNames"])
118 ->disableOriginalConstructor()
119 ->getMock();
120 $factory = $this->getMockBuilder(ILIAS\UI\Implementation\Render\RendererFactory::class)
121 ->getMock();
122
123 $rendered_component = $this->createMock(ILIAS\UI\Component\Component::class);
124
125 $component1 = $this->createMock(ILIAS\UI\Component\Component::class);
126 $component2 = $this->createMock(ILIAS\UI\Component\Component::class);
127 $component_name1 = "COMPONENT 1";
128 $component_name2 = "COMPONENT 2";
129
130 $loader
131 ->expects($this->once())
132 ->method("getContextNames")
133 ->with([$component1, $component2])
134 ->willReturn([$component_name1, $component_name2]);
135
136 $loader
137 ->expects($this->once())
138 ->method("getRendererFactoryFor")
139 ->with($rendered_component)
140 ->willReturn($factory);
141
142 $renderer = $this->createMock(ComponentRenderer::class);
143 $factory
144 ->expects($this->once())
145 ->method("getRendererInContext")
146 ->with($rendered_component, [$component_name1, $component_name2])
147 ->willReturn($renderer);
148
149 $renderer2 = $loader->getRendererFor($rendered_component, [$component1, $component2]);
150 $this->assertEquals($renderer, $renderer2);
151 }

References $renderer.

Field Documentation

◆ $glyph_renderer

ComponentRendererFSLoaderTest::$glyph_renderer
private

Definition at line 36 of file ComponentRendererFSLoaderTest.php.

◆ $icon_renderer

ComponentRendererFSLoaderTest::$icon_renderer
private

Definition at line 40 of file ComponentRendererFSLoaderTest.php.


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