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());
 }
Ejemplo n.º 2
0
    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());
    }