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
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 }