public function testExtensionAttributes()
 {
     $extensionAttributes = $this->originalEvent->extensionAttributes;
     $extensionAttributes['foo1'] = array('name' => 'foo1', 'value' => 'bar');
     $extensionAttributes['foo2'] = array('name' => 'foo2', 'value' => 'rab');
     $this->originalEvent->extensionAttributes = $extensionAttributes;
     $this->assertEquals('bar', $this->originalEvent->extensionAttributes['foo1']['value']);
     $this->assertEquals('rab', $this->originalEvent->extensionAttributes['foo2']['value']);
     $originalEventXml = $this->originalEvent->saveXML();
     $newOriginalEvent = new Extension\OriginalEvent();
     $newOriginalEvent->transferFromXML($originalEventXml);
     $this->assertEquals('bar', $newOriginalEvent->extensionAttributes['foo1']['value']);
     $this->assertEquals('rab', $newOriginalEvent->extensionAttributes['foo2']['value']);
 }
 /**
  * Creates individual Entry objects of the appropriate type and
  * stores them as members of this entry based upon DOM data.
  *
  * @param DOMNode $child The DOMNode to process
  */
 protected function takeChildFromDOM($child)
 {
     $absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
     switch ($absoluteNodeName) {
         case $this->lookupNamespace('gd') . ':' . 'entryLink':
             $entryLink = new EntryLink();
             $entryLink->transferFromDOM($child);
             $this->_entryLink = $entryLink;
             break;
         case $this->lookupNamespace('gd') . ':' . 'originalEvent':
             $originalEvent = new OriginalEvent();
             $originalEvent->transferFromDOM($child);
             $this->_originalEvent = $originalEvent;
             break;
         default:
             parent::takeChildFromDOM($child);
             break;
     }
 }