177 {
178 $formData = array(
179 'certificate_text' => '<xml> Some Context </xml>',
180 'margin_body' => array(
181 'top' => '1cm',
182 'right' => '2cm',
183 'bottom' => '3cm',
184 'left' => '4cm'
185 ),
186 'pageformat' => 'custom',
187 'pagewidth' => '210mm',
188 'pageheight' => '297mm'
189 );
190
191 $settings = $this->getMockBuilder('ilSetting')
192 ->disableOriginalConstructor()
193 ->getMock();
194
195 $settings->method('get')
196 ->willReturn('Something');
197
198 $pageFormats = $this->getMockBuilder('ilPageFormats')
199 ->disableOriginalConstructor()
200 ->getMock();
201
202 $pageFormats->method('fetchPageFormats')
203 ->willReturn(array(
204 'a4' => array(
205 'name' => 'A4',
206 'value' => 'a4',
207 'width' => '210mm',
208 'height' => '297mm'
209 ),
210 ));
211
212 $xmlChecker = $this->getMockBuilder('ilXMLChecker')
213 ->getMock();
214
215 $utilHelper = $this->getMockBuilder('ilCertificateUtilHelper')
216 ->getMock();
217
218 $utilHelper->method('stripSlashes')
219 ->willReturnOnConsecutiveCalls(
220 '297mm',
221 '210mm',
222 '1cm',
223 '2cm',
224 '3cm',
225 '4cm'
226 );
227
228 $xlstProcess = $this->getMockBuilder('ilCertificateXlstProcess')
229 ->getMock();
230
231 $xlstProcess->method('process')
232 ->with(
233 array(
234 '/_xml' => '<html><body><xml> Some Context </xml></body></html>',
235 '/_xsl' => '<xml>Some XLS Content</xml>'
236 ),
237 array(
238 'pageheight' => '297mm',
239 'pagewidth' => '210mm',
240 'backgroundimage' => '[BACKGROUND_IMAGE]',
241 'marginbody' => '1cm 2cm 3cm 4cm'
242 )
243 )
244 ->willReturn('Something Processed');
245
246 $language = $this->getMockBuilder(
'ilLanguage')
247 ->disableOriginalConstructor()
248 ->getMock();
249
250 $certificateXlsFileLoader = $this->getMockBuilder('ilCertificateXlsFileLoader')
251 ->getMock();
252
253 $certificateXlsFileLoader->method('getXlsCertificateContent')
254 ->willReturn('<xml>Some XLS Content</xml>');
255
257 $settings,
258 $pageFormats,
259 $xmlChecker,
260 $utilHelper,
261 $xlstProcess,
263 $certificateXlsFileLoader
264 );
265
266 $output = $xlsFoParser->parse($formData);
267
268 $this->assertEquals(
'Something Processed',
$output);
269 }