ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
WrapperTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
25 
30 {
31  public function testRenderWrapper(): void
32  {
33  $expected_title = 'test_title';
34  $expected_url = 'test_url';
35  $expected_legacy_html = 'test_legacy_html';
36 
37  $expected_html = $this->brutallyTrimHTML(
38  '
39 <div id="id_4" class="ui-dropzone ui-dropzone-wrapper">
40  <div class="modal fade il-modal-roundtrip" tabindex="-1" role="dialog" id="id_1">
41  <div class="modal-dialog" role="document" data-replace-marker="component">
42  <div class="modal-content">
43  <div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-label="close"><span aria-hidden="true">&times;</span></button><h1 class="modal-title">' . $expected_title . ' </h1></div>
44  <div class="modal-body">
45  <form id="id_2" role="form" class="il-standard-form form-horizontal" enctype="multipart/form-data" action="' . $expected_url . '" method="post" >File Field Input</form>
46  </div>
47  <div class="modal-footer"><button class="btn btn-default" id="id_3">save</button><button class="btn btn-default" data-dismiss="modal">cancel</button></div>
48  </div>
49  </div>
50  </div>
51  <div class="ui-dropzone-container"> ' . $expected_legacy_html . '</div>
52 </div>
53  '
54  );
55 
56  $legacy_mock = $this->createMock(Legacy::class);
57  $legacy_mock->method('getCanonicalName')->willReturn($expected_legacy_html);
58 
59  $dropzone = $this->factory->wrapper($expected_title, $expected_url, $legacy_mock, $this->input);
60 
61  $html = $this->brutallyTrimHTML($this->getDefaultRenderer(null, [
62  $legacy_mock,
63  $this->input,
64  ])->render($dropzone));
65 
66  $this->assertEquals($expected_html, $html);
67  }
68 
69  public function testRenderWrapperWithAdditionalInputs(): void
70  {
71  $expected_button_html = md5(Text::class);
72 
73  $additional_input = $this->createMock(Text::class);
74  $additional_input->method('getCanonicalName')->willReturn($expected_button_html);
75  $additional_input->method('isRequired')->willReturn(false);
76  $additional_input->method('withNameFrom')->willReturnSelf();
77 
78  $dropzone = $this->factory->standard('', '', '', $this->input, $additional_input);
79 
80  $html = $this->getDefaultRenderer(null, [
81  $this->input,
82  $additional_input,
83  ])->render($dropzone);
84 
85  $this->assertTrue(str_contains($html, $expected_button_html));
86  }
87 }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:377
brutallyTrimHTML(string $html)
A more radical version of normalizeHTML.
Definition: Base.php:475