Example #1
0
 /**	
  * 
  * Generates a new KalturaTestsFailures object from a given failure file path 
  * @param string $failureFilePath
  */
 public function fromXml($failureFilePath)
 {
     $simpleXML = kXml::openXmlFile($failureFilePath);
     foreach ($simpleXML->Failures->UnitTestFailures as $unitTestFailureXml) {
         $this->testCaseFailures[] = KalturaTestCaseFailure::generateFromXml($unitTestFailureXml);
     }
 }
 /**
  * 
  * Sets the given object's given property value 
  * @param testCaseFailure $failure
  * @param string $rootNodeName - default to 'data'
  * @return DOMDocument - the xml for the given error
  */
 public static function toXml(KalturaTestCaseFailure $failure, $rootNodeName = 'data')
 {
     if (count($failure->testCaseFailures) == 0) {
         return "";
     }
     $xml = new DOMDocument(1.0);
     $rootNode = $xml->createElement($rootNodeName);
     $xml->appendChild($rootNode);
     $inputsNode = $xml->createElement("Inputs");
     foreach ($failure->testCaseInput as $inputKey => $inputValue) {
         //TODO: add support for non propel objects
         $node = $xml->createElement("Input");
         $type = gettype($inputValue);
         if (class_exists(get_class($inputValue))) {
             $type = get_class($inputValue);
         }
         $node->setAttribute("type", $type);
         $id = $inputValue;
         if ($inputValue instanceof BaseObject) {
             $id = $inputValue->getId();
         }
         $node->setAttribute($type . "Id", $id);
         $inputsNode->appendChild($node);
     }
     $failuresNode = $xml->createElement("Failures");
     foreach ($failure->testCaseFailures as $kalturaFailure) {
         $failureNode = $xml->createElement("Failure");
         $fieldNode = $xml->createElement("Field", $kalturaFailure->field);
         $failureNode->appendChild($fieldNode);
         $outputReferenceNode = $xml->createElement("OutputReference");
         $failureNode->appendChild($outputReferenceNode);
         KalturaTestCaseFailure::setElementValue($xml, $outputReferenceNode, $kalturaFailure->outputReferenceValue, $kalturaFailure->field);
         $actualOutputNode = $xml->createElement("ActualOutput");
         $failureNode->appendChild($actualOutputNode);
         KalturaTestCaseFailure::setElementValue($xml, $actualOutputNode, $kalturaFailure->actualValue, $kalturaFailure->field);
         if ($kalturaFailure->assert != null) {
             $assertNode = $xml->createElement("Assert");
             $failureNode->appendChild($assertNode);
             KalturaTestCaseFailure::setElementValue($xml, $assertNode, $kalturaFailure->assert);
         }
         if ($kalturaFailure->message != null) {
             $messageNode = $xml->createElement("Message");
             $failureNode->appendChild($messageNode);
             KalturaTestCaseFailure::setElementValue($xml, $messageNode, $kalturaFailure->message);
         }
         $failuresNode->appendChild($failureNode);
     }
     $rootNode->appendChild($inputsNode);
     $rootNode->appendChild($failuresNode);
     //pass back DomElement object
     return $xml;
 }