ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
ILIAS_UI_TestBase Class Reference

Provides common functionality for UI tests. More...

+ Inheritance diagram for ILIAS_UI_TestBase:
+ Collaboration diagram for ILIAS_UI_TestBase:

Public Member Functions

 setUp ()
 
 tearDown ()
 
 getUIFactory ()
 
 getTemplateFactory ()
 
 getResourceRegistry ()
 
 getLanguage ()
 
 getJavaScriptBinding ()
 
 getRefinery ()
 
 getDefaultRenderer (JavaScriptBinding $js_binding=null)
 
 getDecoratedRenderer (Renderer $default)
 
 normalizeHTML ($html)
 
 assertHTMLEquals ($expected_html_as_string, $html_as_string)
 

Protected Member Functions

 brutallyTrimHTML ($html)
 A more radical version of normalizeHTML. More...
 

Detailed Description

Provides common functionality for UI tests.

Definition at line 224 of file Base.php.

Member Function Documentation

◆ assertHTMLEquals()

ILIAS_UI_TestBase::assertHTMLEquals (   $expected_html_as_string,
  $html_as_string 
)
Parameters
string$expected_html_as_string
string$html_as_string

Definition at line 326 of file Base.php.

Referenced by ToggleButtonTest\test_append_UnavailAction(), ItemTest\test_link_title(), ButtonMonthTest\test_render(), ChartScaleBarTest\test_render(), RadioInputTest\test_render(), MultiSelectInputTest\test_render(), PanelListingTest\test_render_base(), ItemGroupTest\test_render_base(), ItemTest\test_render_base(), ButtonTest\test_render_button_disabled(), ButtonTest\test_render_button_label(), ButtonTest\test_render_button_with_aria_label(), ButtonTest\test_render_button_with_aria_pressed(), BulkyButtonTest\test_render_button_with_aria_role(), ButtonTest\test_render_button_with_on_click_animation(), ButtonTest\test_render_button_with_on_load_code(), ButtonTest\test_render_button_with_signal(), DeckTest\test_render_content(), CardTest\test_render_content_full(), CardTest\test_render_content_with_highlight(), RadioInputTest\test_render_disabled(), MultiSelectInputTest\test_render_disabled(), ChartProgressMeterTest\test_render_fixedSize_one_bar(), DividerTest\test_render_horizontal_empty(), DividerTest\test_render_horizontal_with_label(), DropdownTest\test_render_items(), DropdownTest\test_render_items_with_aria_label(), DropdownTest\test_render_items_with_label(), ItemTest\test_render_lead_icon(), ItemTest\test_render_lead_image(), ItemTest\test_render_lead_text_and_color(), LinkTest\test_render_link(), ChartProgressMeterTest\test_render_mini(), ToggleButtonTest\test_render_setOn_on_default(), MessageBoxTest\test_render_simple(), ChartProgressMeterTest\test_render_standard_two_bar(), CounterTest\test_render_status(), RadioInputTest\test_render_value(), MultiSelectInputTest\test_render_value(), DividerTest\test_render_vertical(), ViewControlTest\test_render_viewcontrol_mode(), ViewControlTest\test_render_viewcontrol_section(), ItemGroupTest\test_render_with_actions(), PanelSecondaryListingTest\test_render_with_actions(), PanelListingTest\test_render_with_actions(), PanelSecondaryLegacyTest\test_render_with_actions(), RepositoryObjectTest\test_render_with_actions(), MessageBoxTest\test_render_with_buttons(), MessageBoxTest\test_render_with_buttons_and_links(), RepositoryObjectTest\test_render_with_certificate_icon(), PanelSecondaryListingTest\test_render_with_footer(), PanelSecondaryLegacyTest\test_render_with_footer(), BulkyButtonTest\test_render_with_glyph_in_context(), BulkyButtonTest\test_render_with_glyph_in_context_and_engaged(), BulkyButtonTest\test_render_with_icon(), ToggleButtonTest\test_render_with_label(), DropdownTest\test_render_with_link_new_viewport(), MessageBoxTest\test_render_with_links(), LinkTest\test_render_with_new_viewport(), PanelSecondaryLegacyTest\test_render_with_no_header(), PanelSecondaryListingTest\test_render_with_no_header_but_content(), RepositoryObjectTest\test_render_with_object_icon(), PanelSecondaryListingTest\test_render_with_pagination(), PanelSecondaryLegacyTest\test_render_with_pagination(), RepositoryObjectTest\test_render_with_progressmeter(), PanelSecondaryListingTest\test_render_with_section(), PanelSecondaryLegacyTest\test_render_with_section(), ToggleButtonTest\test_render_with_signals(), PanelSecondaryListingTest\test_render_with_sortation(), PanelSecondaryLegacyTest\test_render_with_sortation(), GlyphTest\test_render_withCounter(), GlyphTest\test_render_withTwoCounters(), CharacteristicValueTextTest\test_rendered(), TextareaTest\test_renderer(), TextareaTest\test_renderer_counter_with_value(), TextareaTest\test_renderer_with_disabled(), TextareaTest\test_renderer_with_max_limit(), TextareaTest\test_renderer_with_min_and_max_limit(), TextareaTest\test_renderer_with_min_limit(), ItemTest\test_shy_title_and_property(), RoundTripTest\test_simple_rendering(), PresentationTest\testBareTableRendering(), CheckboxInputTest\testRender(), CheckboxInputTest\testRenderDisabled(), PaginationTest\testRenderDropdown(), CheckboxInputTest\testRenderError(), BreadcrumbsTest\testRendering(), BulkyLinkTest\testRenderingGlyph(), BulkyLinkTest\testRenderingIcon(), BulkyLinkTest\testRenderingWithId(), PaginationTest\testRenderLimited(), PaginationTest\testRenderLimitedWithCurrentPage(), PaginationTest\testRenderLimitedWithCurrentPage2(), CheckboxInputTest\testRenderNoByline(), CheckboxInputTest\testRenderRequired(), PaginationTest\testRenderUnlimited(), CheckboxInputTest\testRenderValue(), and PaginationTest\testRenderWithCurrentPage().

327  {
328  $html = new DOMDocument();
329  $html->formatOutput = true;
330  $html->preserveWhiteSpace = false;
331  $expected = new DOMDocument();
332  $expected->formatOutput = true;
333  $expected->preserveWhiteSpace = false;
334  $html->loadXML($this->normalizeHTML($html_as_string));
335  $expected->loadXML($this->normalizeHTML($expected_html_as_string));
336  $this->assertEquals($expected->saveHTML(), $html->saveHTML());
337  }
normalizeHTML($html)
Definition: Base.php:317
+ Here is the caller graph for this function:

◆ brutallyTrimHTML()

ILIAS_UI_TestBase::brutallyTrimHTML (   $html)
protected

A more radical version of normalizeHTML.

Use if hard to tackle issues occur by asserting due string outputs produce an equal DOM

Parameters
$html
Returns
string

Definition at line 346 of file Base.php.

Referenced by PanelListingTest\test_render_base(), ItemGroupTest\test_render_base(), ItemTest\test_render_base(), ItemTest\test_render_lead_icon(), ItemTest\test_render_lead_image(), ItemTest\test_render_lead_text_and_color(), ItemGroupTest\test_render_with_actions(), ItemNotificationTest\testRenderFullyFeatured(), ModeInfoTest\testRendering(), BylineNodeTest\testRendering(), FooterTest\testRendering(), FooterTest\testRenderingNoLinks(), FooterTest\testRenderingPermUrl(), BylineNodeTest\testRenderingWithAsync(), BylineNodeTest\testRenderingWithIcon(), and NotificationSlateTest\testRenderingWithSubslateAndButton().

347  {
348  $html = str_replace(["\n", "\r", "\t"], "", $html);
349  $html = preg_replace('# {2,}#', " ", $html);
350  $html = str_replace("> <", "><", $html);
351  $html = str_replace(" >", ">", $html);
352 
353  return trim($html);
354  }
+ Here is the caller graph for this function:

◆ getDecoratedRenderer()

ILIAS_UI_TestBase::getDecoratedRenderer ( Renderer  $default)

Definition at line 312 of file Base.php.

Referenced by DecoratedRendererTest\test_render(), DecoratedRendererTest\test_render_async(), and DecoratedRendererTest\test_render_with_manipulation().

313  {
314  return new TestDecoratedRenderer($default);
315  }
+ Here is the caller graph for this function:

◆ getDefaultRenderer()

ILIAS_UI_TestBase::getDefaultRenderer ( JavaScriptBinding  $js_binding = null)

Definition at line 268 of file Base.php.

References $lng.

Referenced by ButtonTest\test_____render_close_button_with_on_load_code(), ToggleButtonTest\test_append_UnavailAction(), LightboxTest\test_different_page_type_rendering(), GlyphTest\test_dont_render_counter(), DefaultRendererTest\test_getContexts(), DefaultRendererTest\test_getRenderer_caching(), DefaultRendererTest\test_getRenderer_successfully(), DefaultRendererTest\test_invokesRegistry(), ItemTest\test_link_title(), DecoratedRendererTest\test_render(), ButtonMonthTest\test_render(), NumericInputTest\test_render(), TextInputTest\test_render(), ChartScaleBarTest\test_render(), RadioInputTest\test_render(), TagInputTest\test_render(), MultiSelectInputTest\test_render(), DefaultRendererTest\test_render(), ImageTest\test_render_alt_escaping(), DecoratedRendererTest\test_render_async(), PopoverTest\test_render_async(), DefaultRendererTest\test_render_async_array(), DefaultRendererTest\test_render_async_no_js(), DefaultRendererTest\test_render_async_with_js(), DefaultRendererTest\test_render_async_with_js_twice(), PanelListingTest\test_render_base(), ItemGroupTest\test_render_base(), ItemTest\test_render_base(), ButtonTest\test_render_btn_tag_classes(), ButtonTest\test_render_btn_tag_colors(), ButtonTest\test_render_btn_tag_relevance(), ButtonTest\test_render_button_disabled(), ButtonTest\test_render_button_label(), ButtonTest\test_render_button_with_aria_label(), ButtonTest\test_render_button_with_aria_pressed(), BulkyButtonTest\test_render_button_with_aria_role(), ButtonTest\test_render_button_with_on_click_animation(), ButtonTest\test_render_button_with_on_load_code(), ButtonTest\test_render_button_with_signal(), ButtonTest\test_render_close_button(), LegacyTest\test_render_content(), DeckTest\test_render_content(), CardTest\test_render_content_full(), CardTest\test_render_content_with_highlight(), ListingTest\test_render_descriptive_listing(), NumericInputTest\test_render_disabled(), RadioInputTest\test_render_disabled(), TextInputTest\test_render_disabled(), TagInputTest\test_render_disabled(), MultiSelectInputTest\test_render_disabled(), DropdownTest\test_render_empty(), NumericInputTest\test_render_error(), TextInputTest\test_render_error(), TagInputTest\test_render_error(), ChartProgressMeterTest\test_render_fixedSize_one_bar(), DividerTest\test_render_horizontal_empty(), DividerTest\test_render_horizontal_with_label(), DropdownTest\test_render_items(), DropdownTest\test_render_items_with_aria_label(), DropdownTest\test_render_items_with_label(), ItemTest\test_render_lead_icon(), ItemTest\test_render_lead_image(), ItemTest\test_render_lead_text_and_color(), LinkTest\test_render_link(), ChartProgressMeterTest\test_render_mini(), NumericInputTest\test_render_no_byline(), TextInputTest\test_render_no_byline(), TagInputTest\test_render_no_byline(), ListingTest\test_render_ordered_listing(), TextInputTest\test_render_required(), TagInputTest\test_render_required(), ImageTest\test_render_responsive(), ToggleButtonTest\test_render_setOn_on_default(), MessageBoxTest\test_render_simple(), GlyphTest\test_render_simple(), PopoverTest\test_render_standard(), ImageTest\test_render_standard(), ChartProgressMeterTest\test_render_standard_two_bar(), CounterTest\test_render_status(), ListingTest\test_render_unordered_listing(), RadioInputTest\test_render_value(), NumericInputTest\test_render_value(), TextInputTest\test_render_value(), TagInputTest\test_render_value(), MultiSelectInputTest\test_render_value(), DividerTest\test_render_vertical(), ViewControlTest\test_render_viewcontrol_mode(), ViewControlTest\test_render_viewcontrol_section(), GlyphTest\test_render_with_action(), ItemGroupTest\test_render_with_actions(), PanelSecondaryListingTest\test_render_with_actions(), PanelListingTest\test_render_with_actions(), PanelSecondaryLegacyTest\test_render_with_actions(), RepositoryObjectTest\test_render_with_actions(), MessageBoxTest\test_render_with_buttons(), MessageBoxTest\test_render_with_buttons_and_links(), RepositoryObjectTest\test_render_with_certificate_icon(), PanelSecondaryListingTest\test_render_with_footer(), PanelSecondaryLegacyTest\test_render_with_footer(), BulkyButtonTest\test_render_with_glyph_in_context(), BulkyButtonTest\test_render_with_glyph_in_context_and_engaged(), BulkyButtonTest\test_render_with_icon(), ToggleButtonTest\test_render_with_label(), DropdownTest\test_render_with_link_new_viewport(), MessageBoxTest\test_render_with_links(), DecoratedRendererTest\test_render_with_manipulation(), LinkTest\test_render_with_new_viewport(), PanelSecondaryLegacyTest\test_render_with_no_header(), PanelSecondaryListingTest\test_render_with_no_header_but_content(), PanelSecondaryListingTest\test_render_with_no_header_no_content_no_footer(), RepositoryObjectTest\test_render_with_object_icon(), GlyphTest\test_render_with_on_load_code(), PanelSecondaryListingTest\test_render_with_pagination(), PanelSecondaryLegacyTest\test_render_with_pagination(), RepositoryObjectTest\test_render_with_progressmeter(), PanelSecondaryListingTest\test_render_with_section(), PanelSecondaryLegacyTest\test_render_with_section(), ImageTest\test_render_with_signal_action(), ToggleButtonTest\test_render_with_signals(), PanelSecondaryListingTest\test_render_with_sortation(), PanelSecondaryLegacyTest\test_render_with_sortation(), ImageTest\test_render_with_string_action(), GlyphTest\test_render_with_unavailable_action(), GlyphTest\test_render_withCounter(), GlyphTest\test_render_withTwoCounters(), CharacteristicValueTextTest\test_rendered(), TextareaTest\test_renderer(), TextareaTest\test_renderer_counter_with_value(), TextareaTest\test_renderer_with_disabled(), TextareaTest\test_renderer_with_error(), TextareaTest\test_renderer_with_max_limit(), TextareaTest\test_renderer_with_min_and_max_limit(), TextareaTest\test_renderer_with_min_limit(), ItemTest\test_shy_title_and_property(), LightboxTest\test_simple_image_page_rendering(), RoundTripTest\test_simple_rendering(), InterruptiveTest\test_simple_rendering(), LightboxTest\test_simple_text_page_rendering(), ViewControlTest\test_viewcontrol_get_actions(), ImageTest\test_with_additional_on_load_code(), ImageTest\test_with_empty_action_and_no_additional_on_load_code(), DefaultRendererTest\test_withAdditionalContext_clones(), PresentationTest\testBareTableRendering(), LSLocatorBuilderTest\testGUI(), CheckboxInputTest\testRender(), CheckboxInputTest\testRenderDisabled(), PaginationTest\testRenderDropdown(), CheckboxInputTest\testRenderError(), ItemNotificationTest\testRenderFullyFeatured(), ModeInfoTest\testRendering(), CombinedSlateTest\testRendering(), BreadcrumbsTest\testRendering(), SortationTest\testRendering(), SimpleNodeTest\testRendering(), FooterTest\testRendering(), MetaBarTest\testRendering(), DrilldownTest\testRendering(), MainBarTest\testRendering(), IconTest\testRenderingCustom(), BulkyLinkTest\testRenderingGlyph(), BulkyLinkTest\testRenderingIcon(), AvatarTest\testRenderingLetter(), FooterTest\testRenderingNoLinks(), FooterTest\testRenderingPermUrl(), AvatarTest\testRenderingPicture(), IconTest\testRenderingStandard(), IconTest\testRenderingStandardOutlined(), CombinedSlateTest\testRenderingWithAriaRole(), SimpleNodeTest\testRenderingWithAsync(), SimpleNodeTest\testRenderingWithIcon(), BulkyLinkTest\testRenderingWithId(), CombinedSlateTest\testRenderingWithSubDivider(), NotificationSlateTest\testRenderingWithSubslateAndButton(), CombinedSlateTest\testRenderingWithSubslateAndButton(), PaginationTest\testRenderLimited(), PaginationTest\testRenderLimitedWithCurrentPage(), PaginationTest\testRenderLimitedWithCurrentPage2(), DropzoneRendererTest\testRenderMetadata(), CheckboxInputTest\testRenderNoByline(), CheckboxInputTest\testRenderRequired(), DropzoneRendererTest\testRenderStandardDropzone(), DropzoneRendererTest\testRenderStandardDropzoneWithMessage(), PaginationTest\testRenderUnlimited(), CheckboxInputTest\testRenderValue(), PaginationTest\testRenderWithCurrentPage(), DropzoneRendererTest\testRenderWrapperDropzone(), and DropzoneRendererTest\testWithButton().

269  {
270  $ui_factory = $this->getUIFactory();
271  $tpl_factory = $this->getTemplateFactory();
272  $resource_registry = $this->getResourceRegistry();
273  $lng = $this->getLanguage();
274  if (!$js_binding) {
275  $js_binding = $this->getJavaScriptBinding();
276  }
277 
278  $refinery = $this->getRefinery();
279 
280  $component_renderer_loader
281  = new Render\LoaderCachingWrapper(
283  $resource_registry,
284  new Render\FSLoader(
286  $ui_factory,
287  $tpl_factory,
288  $lng,
289  $js_binding,
290  $refinery
291  ),
293  $ui_factory,
294  $tpl_factory,
295  $lng,
296  $js_binding,
297  $refinery
298  ),
300  $ui_factory,
301  $tpl_factory,
302  $lng,
303  $js_binding,
304  $refinery
305  )
306  )
307  )
308  );
309  return new TestDefaultRenderer($component_renderer_loader);
310  }
Loads renderers for components from the file system.
Definition: FSLoader.php:20
Registers resources for retreived renderers at a ResourceRegistry.
getJavaScriptBinding()
Definition: Base.php:256
$lng
getTemplateFactory()
Definition: Base.php:241
getResourceRegistry()
Definition: Base.php:246
+ Here is the caller graph for this function:

◆ getJavaScriptBinding()

ILIAS_UI_TestBase::getJavaScriptBinding ( )

Definition at line 256 of file Base.php.

Referenced by BylineNodeTest\getDefaultRenderer(), and GlyphTest\test_dont_render_counter().

257  {
258  return new LoggingJavaScriptBinding();
259  }
+ Here is the caller graph for this function:

◆ getLanguage()

ILIAS_UI_TestBase::getLanguage ( )

Definition at line 251 of file Base.php.

Referenced by NumericInputTest\buildFactory(), BylineNodeTest\getDefaultRenderer(), and GlyphTest\test_dont_render_counter().

252  {
253  return new ilLanguageMock();
254  }
+ Here is the caller graph for this function:

◆ getRefinery()

ILIAS_UI_TestBase::getRefinery ( )

Definition at line 261 of file Base.php.

Referenced by GlyphTest\test_dont_render_counter().

262  {
263  return $this->getMockBuilder(\ILIAS\Refinery\Factory::class)
264  ->disableOriginalConstructor()
265  ->getMock();
266  }
Class ChatMainBarProvider .
+ Here is the caller graph for this function:

◆ getResourceRegistry()

ILIAS_UI_TestBase::getResourceRegistry ( )

Definition at line 246 of file Base.php.

Referenced by BylineNodeTest\getDefaultRenderer().

247  {
248  return new LoggingRegistry();
249  }
+ Here is the caller graph for this function:

◆ getTemplateFactory()

◆ getUIFactory()

ILIAS_UI_TestBase::getUIFactory ( )

Definition at line 236 of file Base.php.

Referenced by BylineNodeTest\getDefaultRenderer(), and GlyphTest\test_dont_render_counter().

237  {
238  return new NoUIFactory();
239  }
+ Here is the caller graph for this function:

◆ normalizeHTML()

ILIAS_UI_TestBase::normalizeHTML (   $html)

Definition at line 317 of file Base.php.

Referenced by SortationTest\getSortationExpectedHTML(), LSLocatorBuilderTest\stripHTML(), ButtonTest\test_____render_close_button_with_on_load_code(), NumericInputTest\test_render(), TextInputTest\test_render(), TagInputTest\test_render(), ImageTest\test_render_alt_escaping(), ButtonTest\test_render_btn_tag_classes(), ButtonTest\test_render_btn_tag_colors(), ButtonTest\test_render_btn_tag_relevance(), ButtonTest\test_render_button_disabled(), ButtonTest\test_render_button_label(), ButtonTest\test_render_button_with_aria_label(), ButtonTest\test_render_button_with_aria_pressed(), ButtonTest\test_render_button_with_on_click_animation(), ButtonTest\test_render_button_with_on_load_code(), ButtonTest\test_render_button_with_signal(), ButtonTest\test_render_close_button(), ListingTest\test_render_descriptive_listing(), NumericInputTest\test_render_disabled(), TextInputTest\test_render_disabled(), TagInputTest\test_render_disabled(), TextInputTest\test_render_error(), NumericInputTest\test_render_error(), TagInputTest\test_render_error(), TextInputTest\test_render_no_byline(), NumericInputTest\test_render_no_byline(), TagInputTest\test_render_no_byline(), ListingTest\test_render_ordered_listing(), TextInputTest\test_render_required(), TagInputTest\test_render_required(), ImageTest\test_render_responsive(), MessageBoxTest\test_render_simple(), GlyphTest\test_render_simple(), PopoverTest\test_render_standard(), ImageTest\test_render_standard(), CounterTest\test_render_status(), ListingTest\test_render_unordered_listing(), TextInputTest\test_render_value(), NumericInputTest\test_render_value(), TagInputTest\test_render_value(), ViewControlTest\test_render_viewcontrol_mode(), GlyphTest\test_render_with_action(), MessageBoxTest\test_render_with_buttons(), MessageBoxTest\test_render_with_buttons_and_links(), MessageBoxTest\test_render_with_links(), GlyphTest\test_render_with_on_load_code(), ImageTest\test_render_with_signal_action(), ImageTest\test_render_with_string_action(), GlyphTest\test_render_with_unavailable_action(), GlyphTest\test_render_withCounter(), GlyphTest\test_render_withTwoCounters(), TextareaTest\test_renderer(), TextareaTest\test_renderer_counter_with_value(), TextareaTest\test_renderer_with_disabled(), TextareaTest\test_renderer_with_error(), TextareaTest\test_renderer_with_max_limit(), TextareaTest\test_renderer_with_min_and_max_limit(), TextareaTest\test_renderer_with_min_limit(), ImageTest\test_with_additional_on_load_code(), ImageTest\test_with_empty_action_and_no_additional_on_load_code(), BreadcrumbsTest\testRendering(), SortationTest\testRendering(), IconTest\testRenderingCustom(), AvatarTest\testRenderingLetter(), AvatarTest\testRenderingPicture(), IconTest\testRenderingStandard(), and IconTest\testRenderingStandardOutlined().

318  {
319  return trim(str_replace(["\n", "\r"], "", $html));
320  }
+ Here is the caller graph for this function:

◆ setUp()

ILIAS_UI_TestBase::setUp ( )

Definition at line 226 of file Base.php.

226  : void
227  {
228  assert_options(ASSERT_WARNING, 0);
229  }

◆ tearDown()

ILIAS_UI_TestBase::tearDown ( )

Definition at line 231 of file Base.php.

231  : void
232  {
233  assert_options(ASSERT_WARNING, 1);
234  }

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