ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
RoundTripTest.php
Go to the documentation of this file.
1 <?php
2 
3 require_once(__DIR__ . '/ModalBase.php');
4 
10 class RoundTripTest extends ModalBase
11 {
12  public function test_get_title()
13  {
14  $roundtrip = $this->getModalFactory()->roundtrip('myTitle', $this->getDummyComponent());
15  $this->assertEquals('myTitle', $roundtrip->getTitle());
16  }
17 
18  public function test_get_content()
19  {
20  $content = $this->getDummyComponent();
21  $roundtrip = $this->getModalFactory()->roundtrip('myTitle', $content);
22  $this->assertEquals([$content], $roundtrip->getContent());
23  $content = [$this->getDummyComponent(), $this->getDummyComponent()];
24  $roundtrip = $this->getModalFactory()->roundtrip('myTitle', $content);
25  $this->assertEquals($content, $roundtrip->getContent());
26  }
27 
28  public function test_get_action_buttons()
29  {
30  $roundtrip = $this->getModalFactory()->roundtrip('myTitle', $this->getDummyComponent());
31  $action_buttons = [
32  $this->getButtonFactory()->primary('Action 1', ''),
33  $this->getButtonFactory()->standard('Action 2', ''),
34  ];
35  $roundtrip = $roundtrip->withActionButtons($action_buttons);
36  $this->assertEquals($action_buttons, $roundtrip->getActionButtons());
37  }
38 
39  public function test_with_action_buttons()
40  {
41  $roundtrip = $this->getModalFactory()->roundtrip('myTitle', $this->getDummyComponent());
42  $action_buttons = [
43  $this->getButtonFactory()->primary('Action 1', ''),
44  $this->getButtonFactory()->standard('Action 2', ''),
45  ];
46  $roundtrip2 = $roundtrip->withActionButtons($action_buttons);
47  $this->assertEquals(0, count($roundtrip->getActionButtons()));
48  $this->assertEquals(2, count($roundtrip2->getActionButtons()));
49  $this->assertEquals($action_buttons, $roundtrip2->getActionButtons());
50  }
51 
52 
53  public function test_simple_rendering()
54  {
55  $roundtrip = $this->getModalFactory()->roundtrip('Title', $this->getUIFactory()->legacy('Content'))
56  ->withActionButtons([
57  $this->getButtonFactory()->primary('Action 1', ''),
58  $this->getButtonFactory()->standard('Action 2', ''),
59  ]);
60  $expected = $this->normalizeHTML($this->getExpectedHTML());
61  $actual = $this->normalizeHTML($this->getDefaultRenderer()->render($roundtrip));
62  $this->assertHTMLEquals($expected, $actual);
63  }
64 
65 
66  protected function getExpectedHTML()
67  {
68  $expected = <<<EOT
69 <div class="modal fade il-modal-roundtrip" tabindex="-1" role="dialog" id="id_1">
70  <div class="modal-dialog" role="document">
71  <div class="modal-content">
72  <div class="modal-header">
73  <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
74  <h4 class="modal-title">Title</h4>
75  </div>
76  <div class="modal-body">Content</div>
77  <div class="modal-footer">
78  <a class="btn btn-default btn-primary" href="" data-action="">Action 1</a>
79  <a class="btn btn-default" href="" data-action="">Action 2</a>
80  <a class="btn btn-default" data-dismiss="modal" aria-label="Close">cancel</a>
81  </div>
82  </div>
83  </div>
84 </div>
85 EOT;
86  return $expected;
87  }
88 }
Add some data
getButtonFactory()
Definition: ModalBase.php:24
Title class.
Definition: Title.php:36
getDefaultRenderer(JavaScriptBinding $js_binding=null)
Definition: Base.php:216
getUIFactory()
Definition: ModalBase.php:14
getDummyComponent()
Definition: ModalBase.php:29
normalizeHTML($html)
Definition: ModalBase.php:34
Base class for modal tests.
Definition: ModalBase.php:12
assertHTMLEquals($expected_html_as_string, $html_as_string)
Definition: Base.php:252
getModalFactory()
Definition: ModalBase.php:19
Tests on implementation for the roundtrip modal.