ILIAS  release_8 Revision v8.24
StandardTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
26
31{
32 public function testRenderStandard(): void
33 {
34 $expected_title = 'test_title';
35 $expected_msg = 'test_msg';
36 $expected_url = 'test_url';
37
38 $expected_html = $this->brutallyTrimHTML("
39 <div id=\"id_2\" class=\"ui-dropzone \">
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\">
44 <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"close\">
45 <span aria-hidden=\"true\">&times;</span>
46 </button>
47 <span class=\"modal-title\">$expected_title
48 </span>
49 </div>
50 <div class=\"modal-body\">
51 </div>
52 <div class=\"modal-footer\">
53 <button class=\"btn btn-default\" data-dismiss=\"modal\">cancel</button>
54 </div>
55 </div>
56 </div>
57 </div>
58 <div class=\"ui-dropzone-container\">
59 <span class=\"ui-dropzone-message\">$expected_msg
60 </span>
61 </div>
62 </div>
63 ");
64
65 $dropzone = $this->factory->standard($expected_title, $expected_msg, $expected_url, $this->input);
66
67 $html = $this->brutallyTrimHTML($this->getDefaultRenderer(null, [
68 $this->input,
69 ])->render($dropzone));
70
71 $this->assertEquals($expected_html, $html);
72 }
73
74 public function testRenderStandardWithUploadButton(): void
75 {
76 $expected_button_html = 'test_button';
77
78 $expected_html = $this->brutallyTrimHTML("
79 <div id=\"id_2\" class=\"ui-dropzone \">
80 <div class=\"modal fade il-modal-roundtrip\" tabindex=\"-1\" role=\"dialog\" id=\"id_1\">
81 <div class=\"modal-dialog\" role=\"document\" data-replace-marker=\"component\">
82 <div class=\"modal-content\">
83 <div class=\"modal-header\">
84 <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"close\">
85 <span aria-hidden=\"true\">&times;</span>
86 </button>
87 <span class=\"modal-title\">
88 </span>
89 </div>
90 <div class=\"modal-body\">
91 </div>
92 <div class=\"modal-footer\">
93 <button class=\"btn btn-default\" data-dismiss=\"modal\">cancel</button>
94 </div>
95 </div>
96 </div>
97 </div>
98 <div class=\"ui-dropzone-container\">
99 <span class=\"ui-dropzone-message\">
100 </span> $expected_button_html
101 </div>
102 </div>
103 ");
104
105 $button_mock = $this->createMock(Button::class);
106 $button_mock->method('getCanonicalName')->willReturn($expected_button_html);
107 $button_mock->method('withOnClick')->willReturnSelf();
108
109 $dropzone = $this->factory->standard('', '', '', $this->input)->withUploadButton($button_mock);
110
111 $html = $this->brutallyTrimHTML($this->getDefaultRenderer(null, [
112 $button_mock,
113 $this->input,
114 ])->render($dropzone));
115
116 $this->assertEquals($expected_html, $html);
117 }
118}
This implements commonalities between standard and primary buttons.
Definition: Button.php:33
brutallyTrimHTML(string $html)
A more radical version of normalizeHTML.
Definition: Base.php:444
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:355
Provides methods to interface with javascript.