ILIAS  trunk Revision v11.0_alpha-1851-ga8564da6fed
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
StandardTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
29 
30 require_once("./components/ILIAS/UI/tests/Component/Dropzone/File/FileTestBase.php");
31 
36 {
37  public function testRenderStandard(): void
38  {
39  $expected_title = 'test_title';
40  $expected_msg = 'test_msg';
41  $expected_url = 'test_url';
42 
43  $expected_html = $this->brutallyTrimHTML('
44 <div id="id_4" class="ui-dropzone ">
45  <dialog class="c-modal il-modal-roundtrip" tabindex="-1" id="id_1">
46  <div class="modal-dialog" role="document" data-replace-marker="component">
47  <div class="modal-content">
48  <div class="modal-header"><form><button formmethod="dialog" class="close" aria-label="close"><span aria-hidden="true">&times;</span></button></form><h1 class="modal-title">' . $expected_title . ' </h1></div>
49  <div class="modal-body">
50  <form id="id_2" class="c-form c-form--horizontal" enctype="multipart/form-data" action="' . $expected_url . '" method="post">' . $this->input->getCanonicalName() . '</form>
51  </div>
52  <div class="modal-footer"><form><button class="btn btn-default" id="id_3">save</button><button formmethod="dialog" class="btn btn-default" data-dismiss="modal">cancel</button></form></div>
53  </div>
54  </div>
55  </dialog>
56  <div class="ui-dropzone-container"><span class="ui-dropzone-message">' . $expected_msg . '</span></div>
57 </div>
58  ');
59 
60  $dropzone = $this->factory->standard($expected_title, $expected_msg, $expected_url, $this->input);
61 
62  $html = $this->brutallyTrimHTML($this->getDefaultRenderer(null, [
63  $this->input,
64  ])->render($dropzone));
65 
66  $this->assertEquals($expected_html, $html);
67  }
68 
69  public function testRenderStandardWithUploadButton(): void
70  {
71  $expected_button_html = md5(Button::class);
72 
73  $button_mock = $this->createMock(Button::class);
74  $button_mock->method('getCanonicalName')->willReturn($expected_button_html);
75  $button_mock->method('withOnClick')->willReturnSelf();
76 
77  $dropzone = $this->factory->standard('', '', '', $this->input)->withUploadButton($button_mock);
78 
79  $html = $this->brutallyTrimHTML($this->getDefaultRenderer(null, [
80  $button_mock,
81  $this->input,
82  ])->render($dropzone));
83 
84  $this->assertTrue(str_contains($html, $expected_button_html));
85  }
86 
88  {
89  $expected_button_html = md5(Text::class);
90 
91  $additional_input = $this->createMock(Text::class);
92  $additional_input->method('getCanonicalName')->willReturn($expected_button_html);
93  $additional_input->method('isRequired')->willReturn(false);
94  $additional_input->method('withNameFrom')->willReturnSelf();
95 
96  $dropzone = $this->factory->standard('', '', '', $this->input, $additional_input);
97 
98  $html = $this->getDefaultRenderer(null, [
99  $this->input,
100  $additional_input,
101  ])->render($dropzone);
102 
103  $this->assertTrue(str_contains($html, $expected_button_html));
104  }
105 
106  public function testRenderBulky(): void
107  {
108  $expected_title = 'test_title';
109  $expected_msg = 'test_msg';
110  $expected_url = 'test_url';
111 
112  $expected_html = $this->brutallyTrimHTML('
113 <div id="id_4" class="ui-dropzone ui-dropzone-bulky">
114  <dialog class="c-modal il-modal-roundtrip" tabindex="-1" id="id_1">
115  <div class="modal-dialog" role="document" data-replace-marker="component">
116  <div class="modal-content">
117  <div class="modal-header"><form><button formmethod="dialog" class="close" aria-label="close"><span aria-hidden="true">&times;</span></button></form><h1 class="modal-title">' . $expected_title . ' </h1></div>
118  <div class="modal-body">
119  <form id="id_2" class="c-form c-form--horizontal" enctype="multipart/form-data" action="' . $expected_url . '" method="post">' . $this->input->getCanonicalName() . '</form>
120  </div>
121  <div class="modal-footer"><form><button class="btn btn-default" id="id_3">save</button><button formmethod="dialog" class="btn btn-default" data-dismiss="modal">cancel</button></form></div>
122  </div>
123  </div>
124  </dialog>
125  <div class="ui-dropzone-container"><span class="ui-dropzone-message">' . $expected_msg . '</span></div>
126 </div>
127  ');
128 
129  $dropzone = $this->factory->standard($expected_title, $expected_msg, $expected_url, $this->input)->withBulky(true);
130 
131  $html = $this->brutallyTrimHTML($this->getDefaultRenderer(null, [
132  $this->input,
133  ])->render($dropzone));
134 
135  $this->assertEquals($expected_html, $html);
136  }
137 }
factory()
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null