public function testOneNestedOptions() { $dom_document = new Document('1.0', 'utf-8'); $dom_document->loadXML('<random_container xmlns="http://berlinonline.net/trellis/1.0/schema"> <option name="types"> <option>VotingStats</option> </option> </random_container>'); $xpath = new Xpath($dom_document); $parser = new OptionDefinitionXpathParser(); $option_definitions = $parser->parse($xpath, array('context' => $dom_document->documentElement)); $types_option = $option_definitions[0]; $types_options_value = $types_option->getValue(); $this->assertInstanceOf('Trellis\\CodeGen\\Schema\\OptionDefinitionList', $option_definitions); $this->assertInstanceOf('Trellis\\CodeGen\\Schema\\OptionDefinitionList', $types_option->getValue()); $this->assertEquals(1, $option_definitions->getSize()); $this->assertEquals('VotingStats', $types_options_value[0]->getValue()); }
public function testDocumentNamespace() { $dom_document = new Document('1.0', 'utf-8'); $dom_document->loadXML(<<<XML <any_container xmlns:on="urn:other:namespace" xmlns="http://berlinonline.net/trellis/1.0/schema"> <option name="types"> <option>Namespaced</option> <on:option>OtherNamespace</on:option> <option xmlns="">NonNamespaced</option> </option> </any_container> XML ); $xpath = new Xpath($dom_document, 'customPrefix'); $parser = new OptionDefinitionXpathParser(); $option_definitions = $parser->parse($xpath, array('context' => $dom_document->documentElement)); $types_option = $option_definitions[0]; $types_options_value = $types_option->getValue(); $this->assertEquals(1, $types_options_value->count()); $this->assertEquals('Namespaced', $types_options_value[0]->getValue()); }