Esempio n. 1
0
 /** @test */
 public function itShouldParseMessedUpKeys()
 {
     $xmlString = '<data>
         <items>
             <item index="2">a</item>
             <item index="5">b</item>
             <item index="44">c</item>
             <bla>d</bla>
             <item index="9">e</item>
         </items>
     </data>';
     $parser = new Parser();
     $parser->setPluralizer(function ($string) {
         return $string . 's';
     });
     $data = $parser->parse($xmlString);
     $this->assertEquals(['data' => ['items' => [2 => 'a', 5 => 'b', 44 => 'c', 'bla' => 'd', 9 => 'e']]], $data);
     $xml = '<data>
         <item key="22">guff</item>
         <item key="2">more guff</item>
     </data>';
     $parser = new Parser();
     $parser->setIndexAttributeKey('key');
     $parser->setIndexKey('item');
     $data = $parser->parse($xml);
     $this->assertEquals(['data' => [22 => 'guff', 2 => 'more guff']], $data);
     $xml = '<data>
         <item index="22">guff</item>
         <item index="2">more guff</item>
     </data>';
     $parser = new Parser();
     $parser->setIndexKey('item');
     $data = $parser->parse($xml);
     $this->assertEquals(['data' => [22 => 'guff', 2 => 'more guff']], $data);
 }