public function testConstructWithStructElement() { $dom = new DOMDocument('1.0', 'utf-8'); $structElement = $dom->createElement('struct'); $parameterElement = $dom->createElement('string', 'value1'); $valueElement = $dom->createElement('value'); $valueElement->appendChild($parameterElement); $memberElement = $dom->createElement('member'); $memberElement->appendChild($dom->createElement('name', 'var1')); $memberElement->appendChild($valueElement); $structElement->appendChild($memberElement); $parameterElement = $dom->createElement('string', 'value2'); $valueElement = $dom->createElement('value'); $valueElement->appendChild($parameterElement); $memberElement = $dom->createElement('member'); $memberElement->appendChild($dom->createElement('name', 'var2')); $memberElement->appendChild($valueElement); $structElement->appendChild($memberElement); $element = $dom->createElement('value'); $element->appendChild($structElement); $value = new Value($element); $this->assertEquals(array('var1' => 'value1', 'var2' => 'value2'), $value->getValue()); $this->assertEquals(Value::TYPE_STRUCT, $value->getType()); }