/**
  * 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());
     }
 }