ILIAS  trunk Revision v11.0_alpha-1749-g1a06bdef097
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
WrapperTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
25 
26 require_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 
70  public function testRenderWrapperWithAdditionalInputs(): void
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()
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null