19declare(strict_types=1);
26require_once(
"./components/ILIAS/UI/tests/Component/Dropzone/File/FileTestBase.php");
34 $expected_title =
'test_title';
35 $expected_url =
'test_url';
36 $expected_legacy_html =
'test_legacy_html';
38 $expected_html = $this->brutallyTrimHTML(
40<div id="id_4" class="ui-dropzone ui-dropzone-wrapper">
41 <dialog class="c-modal il-modal-roundtrip" tabindex="-1" id="id_1">
42 <div class="modal-dialog" role="document" data-replace-marker="component">
43 <div class="modal-content">
44 <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>
45 <div class="modal-body">
46 <form id="id_2" class="c-form c-form--horizontal" enctype="multipart/form-data" action="' . $expected_url .
'" method="post">File Field Input</form>
48 <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>
52 <div class="ui-dropzone-container"> ' . $expected_legacy_html .
'</div>
57 $legacy_mock = $this->createMock(Content::class);
58 $legacy_mock->method(
'getCanonicalName')->willReturn($expected_legacy_html);
60 $dropzone = $this->
factory->wrapper($expected_title, $expected_url, $legacy_mock, $this->input);
62 $html = $this->brutallyTrimHTML($this->getDefaultRenderer(
null, [
65 ])->render($dropzone));
67 $this->assertEquals($expected_html, $html);
72 $expected_button_html = md5(Text::class);
74 $additional_input = $this->createMock(Text::class);
75 $additional_input->method(
'getCanonicalName')->willReturn($expected_button_html);
76 $additional_input->method(
'isRequired')->willReturn(
false);
77 $additional_input->method(
'withNameFrom')->willReturnSelf();
79 $dropzone = $this->
factory->standard(
'',
'',
'', $this->input, $additional_input);
81 $html = $this->getDefaultRenderer(
null, [
84 ])->render($dropzone);
86 $this->assertTrue(str_contains($html, $expected_button_html));
testRenderWrapperWithAdditionalInputs()
This implements the text input.