ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
RoundTripTest.php
Go to the documentation of this file.
1<?php
2
3require_once(__DIR__ . '/ModalBase.php');
4
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>
85EOT;
86 return $expected;
87 }
88}
An exception for terminatinating execution or to throw for unit testing.
assertHTMLEquals($expected_html_as_string, $html_as_string)
Definition: Base.php:252
getDefaultRenderer(JavaScriptBinding $js_binding=null)
Definition: Base.php:216
Base class for modal tests.
Definition: ModalBase.php:13
getButtonFactory()
Definition: ModalBase.php:24
normalizeHTML($html)
Definition: ModalBase.php:34
getUIFactory()
Definition: ModalBase.php:14
getModalFactory()
Definition: ModalBase.php:19
getDummyComponent()
Definition: ModalBase.php:29
Tests on implementation for the roundtrip modal.
Title class.
Definition: Title.php:37
$this data['403_header']