ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
PopoverTest.php
Go to the documentation of this file.
1<?php
3use \ILIAS\UI\Implementation as I;
4
5require_once(__DIR__ . "/../../../../libs/composer/vendor/autoload.php");
6require_once(__DIR__ . "/../../Base.php");
7
16{
17 public function getFactory()
18 {
19 $factory = new class extends NoUIFactory {
20 public function legacy($content)
21 {
22 $f = new I\Component\Legacy\Factory(new I\Component\SignalGenerator());
23 return $f->legacy($content);
24 }
25 };
26 return $factory;
27 }
28
29 public function test_implements_interface()
30 {
31 $factory = new I\Component\Popover\Factory(new I\Component\SignalGenerator);
32 $standard = $factory->standard(new DummyComponent());
33 $this->assertInstanceOf("ILIAS\\UI\\Component\\Popover\\Standard", $standard);
34 $listing = $factory->listing([new DummyComponent()]);
35 $this->assertInstanceOf("ILIAS\\UI\\Component\\Popover\\Listing", $listing);
36 }
37
39 {
40 $factory = new I\Component\Popover\Factory(new I\Component\SignalGenerator);
41 $popover = $factory->standard(new DummyComponent());
42 $this->assertEquals(Popover::POS_AUTO, $popover->getPosition());
43 }
44
45 public function test_with_position()
46 {
47 $factory = new I\Component\Popover\Factory(new I\Component\SignalGenerator);
48 $popover1 = $factory->standard(new DummyComponent());
49 $popover2 = $popover1->withVerticalPosition();
50 $popover3 = $popover2->withHorizontalPosition();
51 $this->assertEquals(Popover::POS_AUTO, $popover1->getPosition());
52 $this->assertEquals(Popover::POS_VERTICAL, $popover2->getPosition());
53 $this->assertEquals(Popover::POS_HORIZONTAL, $popover3->getPosition());
54 $this->assertEquals($popover1->getContent(), $popover2->getContent());
55 $this->assertEquals($popover1->getContent(), $popover3->getContent());
56 }
57
58 public function test_render_standard()
59 {
60 $factory = new I\Component\Popover\Factory(new I\Component\SignalGenerator);
61 $popover = $factory->standard($this->getFactory()->legacy('myContent'));
62 $expected = $this->normalizeHTML($this->getExpectedStandardHTML('myContent'));
63 $actual = $this->normalizeHTML($this->getDefaultRenderer()->render($popover));
64 $this->assertEquals($expected, $actual);
65 }
66
67 public function test_render_listing()
68 {
69 // TODO Listing not yet in framework core
70 $this->assertTrue(true);
71 }
72
73 public function test_render_async()
74 {
75 $factory = new I\Component\Popover\Factory(new I\Component\SignalGenerator);
76 $popover = $factory->standard($this->getFactory()->legacy('myContent'))->withAsyncContentUrl('/blub/');
77 $this->assertEquals('', $this->getDefaultRenderer()->render($popover));
78 }
79
84 protected function getExpectedStandardHTML($content)
85 {
86 return '<div class="il-standard-popover-content" style="display:none;" id="id_1">' . $content . '</div>';
87 }
88}
An exception for terminatinating execution or to throw for unit testing.
Provides common functionality for UI tests.
Definition: Base.php:225
getDefaultRenderer(JavaScriptBinding $js_binding=null)
Definition: Base.php:268
normalizeHTML($html)
Definition: Base.php:317
Class PopoverTest.
Definition: PopoverTest.php:16
test_that_position_is_auto_by_default()
Definition: PopoverTest.php:38
test_implements_interface()
Definition: PopoverTest.php:29
test_with_position()
Definition: PopoverTest.php:45
test_render_standard()
Definition: PopoverTest.php:58
getExpectedStandardHTML($content)
Definition: PopoverTest.php:84
test_render_listing()
Definition: PopoverTest.php:67
legacy()
Definition: legacy.php:3
$factory
Definition: metadata.php:58