/** * test if serialize returns proper XML */ public function testSerialize() { $testInput = array('key' => 'testKey', 'summary' => 'testSummary', 'issueType' => 'testIssue', 'issueTypeId' => 1, 'projectKey' => 'testKey', 'devTeam' => 'devTeam', 'reporter' => 'test', 'storyPoints' => 5, 'hasSubTasks' => 0, 'parent' => array('key' => 'testKey', 'summary' => 'testSummary'), 'sprint' => 'W-Sprint 17.11.2015'); $xmlSerializer = new XMLSerializer(); $expectedResult = '<?xml version="1.0" encoding="utf-8"?><ticket><key>testKey</key><reporter>test</reporter><issueType>testIssue</issueType><sprint>W-Sprint 17.11.2015</sprint><summary>testSummary</summary><devTeam>devTeam</devTeam><hasSubTasks>0</hasSubTasks><storyPoints>5</storyPoints></ticket>'; $unExpectedResult = '<ticket><key>testKey</key><reporter>test</reporter><issueType>testIssue</issueType><sprint>W-Sprint 17.11.2015</sprint><summary>testSummary</summary><devTeam>devTeam</devTeam><hasSubTasks>0</hasSubTasks><storyPoints>5</storyPoints></ticket>'; $this->assertEquals($expectedResult, $xmlSerializer->serialize($testInput), 'Xml is not build properly'); $this->assertNotEquals($unExpectedResult, $xmlSerializer->serialize($testInput), 'XML header is missing'); }
/** * @param array $ticket */ public function convertTicket($ticket) { $processor = new \XSLTProcessor(); $xmlSerializer = new XMLSerializer(); $serializedTicket = $xmlSerializer->serialize($ticket); $dom = new \DOMDocument(); $dom->loadXML($serializedTicket); $processor->registerPHPFunctions('config'); try { $stylesheet = new \DOMDocument(); $stylesheet->load(config('printer.XSLTemplatePath')); $processor->importStylesheet($stylesheet); $doc = $processor->transformToDoc($dom); $doc->save(config('printer.foOutputPath')); } catch (\Exception $e) { Log::error($e->getMessage()); } }