public function testXmlSerializationRoundtrip() { $node = new ymcPipeBasicNodeMock($this->getMock('ymcPipe')); $node->config->setPropertiesTestHelper(array('hi' => 'du')); $document = new DOMDocument(); $element = $document->createElement('xyzblub'); $document->appendChild($element); $node->serializeToXml($element); $newNode = ymcPipeNode::unserializeFromXml($element, $this->getMock('ymcPipe')); $this->assertEquals($node, $newNode); }
public static function loadFromDocument(DOMDocument $document) { $pipe = new ymcPipe($document->documentElement->getAttribute('name')); // Create node objects. $nodes = array(); $xmlNodes = $document->getElementsByTagName('node'); // unserialize nodes foreach ($xmlNodes as $xmlNode) { $id = (int) $xmlNode->getAttribute('id'); $node = ymcPipeNode::unserializeFromXml($xmlNode, $pipe); $node->id = (int) $id; $nodes[$id] = $node; } // Connect node objects. foreach ($xmlNodes as $xmlNode) { $id = (int) $xmlNode->getAttribute('id'); foreach ($xmlNode->getElementsByTagName('outNode') as $outNode) { $nodes[$id]->addOutNode($nodes[(int) $outNode->getAttribute('id')]); } } //$pipe->definitionStorage = $this; $pipe->version = $document->documentElement->getAttribute('version'); //$pipe->verify(); return $pipe; }