ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ilXlsFoParserTest.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2018 ILIAS open source, Extended GPL, see docs/LICENSE */
3
8{
10 {
11 $formData = array(
12 'certificate_text' => '<xml> Some Context </xml>',
13 'margin_body' => array(
14 'top' => '1cm',
15 'right' => '2cm',
16 'bottom' => '3cm',
17 'left' => '4cm'
18 ),
19 'pageformat' => 'a4'
20 );
21
22 $settings = $this->getMockBuilder('ilSetting')
23 ->disableOriginalConstructor()
24 ->getMock();
25
26 $settings->method('get')
27 ->willReturn('Something');
28
29 $pageFormats = $this->getMockBuilder('ilPageFormats')
30 ->disableOriginalConstructor()
31 ->getMock();
32
33 $pageFormats->method('fetchPageFormats')
34 ->willReturn(array(
35 'a4' => array(
36 'name' => 'A4',
37 'value' => 'a4',
38 'width' => '210mm',
39 'height' => '297mm'
40 ),
41 ));
42
43 $xmlChecker = $this->getMockBuilder('ilXMLChecker')
44 ->getMock();
45
46 $utilHelper = $this->getMockBuilder('ilCertificateUtilHelper')
47 ->getMock();
48
49 $utilHelper->method('stripSlashes')
50 ->willReturnOnConsecutiveCalls(
51 '297mm',
52 '210mm',
53 '1cm',
54 '2cm',
55 '3cm',
56 '4cm'
57 );
58
59 $xlstProcess = $this->getMockBuilder('ilCertificateXlstProcess')
60 ->getMock();
61
62 $xlstProcess->method('process')
63 ->with(
64 array(
65 '/_xml' => '<html><body><xml> Some Context </xml></body></html>',
66 '/_xsl' => '<xml>Some XLS Content</xml>'
67 ),
68 array(
69 'pageheight' => '297mm',
70 'pagewidth' => '210mm',
71 'backgroundimage' => '[BACKGROUND_IMAGE]',
72 'marginbody' => '1cm 2cm 3cm 4cm'
73 )
74 )
75 ->willReturn('Something Processed');
76
77 $language = $this->getMockBuilder('ilLanguage')
78 ->disableOriginalConstructor()
79 ->getMock();
80
81 $certificateXlsFileLoader = $this->getMockBuilder('ilCertificateXlsFileLoader')
82 ->getMock();
83
84 $certificateXlsFileLoader->method('getXlsCertificateContent')
85 ->willReturn('<xml>Some XLS Content</xml>');
86
87 $xlsFoParser = new ilXlsFoParser(
88 $settings,
89 $pageFormats,
90 $xmlChecker,
91 $utilHelper,
92 $xlstProcess,
93 $language,
94 $certificateXlsFileLoader
95 );
96
97 $output = $xlsFoParser->parse($formData);
98
99 $this->assertEquals('Something Processed', $output);
100 }
101
106 {
107 $this->expectException(\Exception::class);
108
109 $formData = array(
110 'certificate_text' => '<xml> Some Context </xml>',
111 'margin_body' => array(
112 'top' => '1cm',
113 'right' => '2cm',
114 'bottom' => '3cm',
115 'left' => '4cm'
116 ),
117 'pageformat' => 'custom'
118 );
119
120 $settings = $this->getMockBuilder('ilSetting')
121 ->disableOriginalConstructor()
122 ->getMock();
123
124 $settings->method('get')
125 ->willReturn('Something');
126
127 $pageFormats = $this->getMockBuilder('ilPageFormats')
128 ->disableOriginalConstructor()
129 ->getMock();
130
131 $pageFormats->method('fetchPageFormats')
132 ->willReturn(array(
133 'a4' => array(
134 'name' => 'A4',
135 'value' => 'a4',
136 'width' => '210mm',
137 'height' => '297mm'
138 ),
139 ));
140
141 $xmlChecker = $this->getMockBuilder('ilXMLChecker')
142 ->getMock();
143
144 $xmlChecker->method('hasError')
145 ->willReturn(true);
146
147 $utilHelper = $this->getMockBuilder('ilCertificateUtilHelper')
148 ->getMock();
149
150 $xlstProcess = $this->getMockBuilder('ilCertificateXlstProcess')
151 ->getMock();
152
153 $language = $this->getMockBuilder('ilLanguage')
154 ->disableOriginalConstructor()
155 ->getMock();
156
157 $certificateXlsFileLoader = $this->getMockBuilder('ilCertificateXlsFileLoader')
158 ->getMock();
159
160 $certificateXlsFileLoader->method('getXlsCertificateContent')
161 ->willReturn('<xml>Some XLS Content</xml>');
162
163 $xlsFoParser = new ilXlsFoParser(
164 $settings,
165 $pageFormats,
166 $xmlChecker,
167 $utilHelper,
168 $xlstProcess,
169 $language,
170 $certificateXlsFileLoader
171 );
172
173 $xlsFoParser->parse($formData);
174
175 $this->fail();
176 }
177
179 {
180 $formData = array(
181 'certificate_text' => '<xml> Some Context </xml>',
182 'margin_body' => array(
183 'top' => '1cm',
184 'right' => '2cm',
185 'bottom' => '3cm',
186 'left' => '4cm'
187 ),
188 'pageformat' => 'custom',
189 'pagewidth' => '210mm',
190 'pageheight' => '297mm'
191 );
192
193 $settings = $this->getMockBuilder('ilSetting')
194 ->disableOriginalConstructor()
195 ->getMock();
196
197 $settings->method('get')
198 ->willReturn('Something');
199
200 $pageFormats = $this->getMockBuilder('ilPageFormats')
201 ->disableOriginalConstructor()
202 ->getMock();
203
204 $pageFormats->method('fetchPageFormats')
205 ->willReturn(array(
206 'a4' => array(
207 'name' => 'A4',
208 'value' => 'a4',
209 'width' => '210mm',
210 'height' => '297mm'
211 ),
212 ));
213
214 $xmlChecker = $this->getMockBuilder('ilXMLChecker')
215 ->getMock();
216
217 $utilHelper = $this->getMockBuilder('ilCertificateUtilHelper')
218 ->getMock();
219
220 $utilHelper->method('stripSlashes')
221 ->willReturnOnConsecutiveCalls(
222 '297mm',
223 '210mm',
224 '1cm',
225 '2cm',
226 '3cm',
227 '4cm'
228 );
229
230 $xlstProcess = $this->getMockBuilder('ilCertificateXlstProcess')
231 ->getMock();
232
233 $xlstProcess->method('process')
234 ->with(
235 array(
236 '/_xml' => '<html><body><xml> Some Context </xml></body></html>',
237 '/_xsl' => '<xml>Some XLS Content</xml>'
238 ),
239 array(
240 'pageheight' => '297mm',
241 'pagewidth' => '210mm',
242 'backgroundimage' => '[BACKGROUND_IMAGE]',
243 'marginbody' => '1cm 2cm 3cm 4cm'
244 )
245 )
246 ->willReturn('Something Processed');
247
248 $language = $this->getMockBuilder('ilLanguage')
249 ->disableOriginalConstructor()
250 ->getMock();
251
252 $certificateXlsFileLoader = $this->getMockBuilder('ilCertificateXlsFileLoader')
253 ->getMock();
254
255 $certificateXlsFileLoader->method('getXlsCertificateContent')
256 ->willReturn('<xml>Some XLS Content</xml>');
257
258 $xlsFoParser = new ilXlsFoParser(
259 $settings,
260 $pageFormats,
261 $xmlChecker,
262 $utilHelper,
263 $xlstProcess,
264 $language,
265 $certificateXlsFileLoader
266 );
267
268 $output = $xlsFoParser->parse($formData);
269
270 $this->assertEquals('Something Processed', $output);
271 }
272
274 {
275 $formData = array(
276 'certificate_text' => '<xml> Some Context </xml>',
277 'margin_body' => array(
278 'top' => '1cm',
279 'right' => '2cm',
280 'bottom' => '3cm',
281 'left' => '4cm'
282 ),
283 'pageformat' => 'custom',
284 'pagewidth' => '210mm',
285 'pageheight' => '297mm'
286 );
287
288 $settings = $this->getMockBuilder('ilSetting')
289 ->disableOriginalConstructor()
290 ->getMock();
291
292 $settings->method('get')
293 ->willReturn('Something');
294
295 $pageFormats = $this->getMockBuilder('ilPageFormats')
296 ->disableOriginalConstructor()
297 ->getMock();
298
299 $pageFormats->method('fetchPageFormats')
300 ->willReturn(array(
301 'a4' => array(
302 'name' => 'A4',
303 'value' => 'a4',
304 'width' => '21,0mm',
305 'height' => '29,7mm'
306 ),
307 ));
308
309 $xmlChecker = $this->getMockBuilder('ilXMLChecker')
310 ->getMock();
311
312 $utilHelper = $this->getMockBuilder('ilCertificateUtilHelper')
313 ->getMock();
314
315 $utilHelper->method('stripSlashes')
316 ->willReturnOnConsecutiveCalls(
317 '29,7mm',
318 '21,0mm',
319 '1cm',
320 '2cm',
321 '3cm',
322 '4cm'
323 );
324
325 $xlstProcess = $this->getMockBuilder('ilCertificateXlstProcess')
326 ->getMock();
327
328 $xlstProcess->method('process')
329 ->with(
330 array(
331 '/_xml' => '<html><body><xml> Some Context </xml></body></html>',
332 '/_xsl' => '<xml>Some XLS Content</xml>'
333 ),
334 array(
335 'pageheight' => '29.7mm',
336 'pagewidth' => '21.0mm',
337 'backgroundimage' => '[BACKGROUND_IMAGE]',
338 'marginbody' => '1cm 2cm 3cm 4cm'
339 )
340 )
341 ->willReturn('Something Processed');
342
343 $language = $this->getMockBuilder('ilLanguage')
344 ->disableOriginalConstructor()
345 ->getMock();
346
347 $certificateXlsFileLoader = $this->getMockBuilder('ilCertificateXlsFileLoader')
348 ->getMock();
349
350 $certificateXlsFileLoader->method('getXlsCertificateContent')
351 ->willReturn('<xml>Some XLS Content</xml>');
352
353 $xlsFoParser = new ilXlsFoParser(
354 $settings,
355 $pageFormats,
356 $xmlChecker,
357 $utilHelper,
358 $xlstProcess,
359 $language,
360 $certificateXlsFileLoader
361 );
362
363 $output = $xlsFoParser->parse($formData);
364
365 $this->assertEquals('Something Processed', $output);
366 }
367}
An exception for terminatinating execution or to throw for unit testing.
Class ilCertificateBaseTestCase.
testCommasWillBeConvertedToPointInDecimalSepartor()