ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
WrapperTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
25
26require_once("./components/ILIAS/UI/tests/Component/Dropzone/File/FileTestBase.php");
31{
32 public function testRenderWrapper(): void
33 {
34 $expected_title = 'test_title';
35 $expected_url = 'test_url';
36 $expected_legacy_html = 'test_legacy_html';
37
38 $expected_html = $this->brutallyTrimHTML(
39 '
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">&times;</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>
47 </div>
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>
49 </div>
50 </div>
51 </dialog>
52 <div class="ui-dropzone-container"> ' . $expected_legacy_html . '</div>
53</div>
54 '
55 );
56
57 $legacy_mock = $this->createMock(Content::class);
58 $legacy_mock->method('getCanonicalName')->willReturn($expected_legacy_html);
59
60 $dropzone = $this->factory->wrapper($expected_title, $expected_url, $legacy_mock, $this->input);
61
62 $html = $this->brutallyTrimHTML($this->getDefaultRenderer(null, [
63 $legacy_mock,
64 $this->input,
65 ])->render($dropzone));
66
67 $this->assertEquals($expected_html, $html);
68 }
69
71 {
72 $expected_button_html = md5(Text::class);
73
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();
78
79 $dropzone = $this->factory->standard('', '', '', $this->input, $additional_input);
80
81 $html = $this->getDefaultRenderer(null, [
82 $this->input,
83 $additional_input,
84 ])->render($dropzone);
85
86 $this->assertTrue(str_contains($html, $expected_button_html));
87 }
88}
factory()
This implements the text input.
Definition: Text.php:33