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