19declare(strict_types=1);
28use ILIAS\UI\Component\Input\Field\Input;
30require_once(
"./components/ILIAS/UI/tests/Component/Dropzone/File/FileTestBase.php");
39 $expected_title =
'test_title';
40 $expected_msg =
'test_msg';
41 $expected_url =
'test_url';
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">×</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>
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>
56 <div class="ui-dropzone-container"><span class="ui-dropzone-message">' . $expected_msg .
'</span></div>
60 $dropzone = $this->
factory->standard($expected_title, $expected_msg, $expected_url, $this->input);
62 $html = $this->brutallyTrimHTML($this->getDefaultRenderer(
null, [
64 ])->render($dropzone));
66 $this->assertEquals($expected_html, $html);
71 $expected_button_html = md5(Button::class);
73 $button_mock = $this->createMock(Button::class);
74 $button_mock->method(
'getCanonicalName')->willReturn($expected_button_html);
75 $button_mock->method(
'withOnClick')->willReturnSelf();
77 $dropzone = $this->
factory->standard(
'',
'',
'', $this->input)->withUploadButton($button_mock);
79 $html = $this->brutallyTrimHTML($this->getDefaultRenderer(
null, [
82 ])->render($dropzone));
84 $this->assertTrue(str_contains($html, $expected_button_html));
89 $expected_button_html = md5(Text::class);
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();
96 $dropzone = $this->
factory->standard(
'',
'',
'', $this->input, $additional_input);
98 $html = $this->getDefaultRenderer(
null, [
101 ])->render($dropzone);
103 $this->assertTrue(str_contains($html, $expected_button_html));
108 $expected_title =
'test_title';
109 $expected_msg =
'test_msg';
110 $expected_url =
'test_url';
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">×</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>
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>
125 <div class="ui-dropzone-container"><span class="ui-dropzone-message">' . $expected_msg .
'</span></div>
129 $dropzone = $this->
factory->standard($expected_title, $expected_msg, $expected_url, $this->input)->withBulky(
true);
131 $html = $this->brutallyTrimHTML($this->getDefaultRenderer(
null, [
133 ])->render($dropzone));
135 $this->assertEquals($expected_html, $html);
testRenderStandardWithAdditionalInputs()
testRenderStandardWithUploadButton()
This implements the text input.
Provides methods to interface with javascript.