[DomCrawler] extract(): fix a bug when the attribute list is empty

This commit is contained in:
Kévin Dunglas 2018-03-06 23:27:05 +01:00
parent 1616d368d9
commit 028c9f2366
No known key found for this signature in database
GPG Key ID: 4D04EBEF06AAF3A6
2 changed files with 2 additions and 1 deletions

View File

@ -605,7 +605,7 @@ class Crawler extends \SplObjectStorage
}
}
$data[] = $count > 1 ? $elements : $elements[0];
$data[] = 1 === $count ? $elements[0] : $elements;
}
return $data;

View File

@ -369,6 +369,7 @@ EOF
$this->assertEquals(array('One', 'Two', 'Three'), $crawler->extract('_text'), '->extract() returns an array of extracted data from the node list');
$this->assertEquals(array(array('One', 'first'), array('Two', ''), array('Three', '')), $crawler->extract(array('_text', 'class')), '->extract() returns an array of extracted data from the node list');
$this->assertEquals(array(array(), array(), array()), $crawler->extract(array()), '->extract() returns empty arrays if the attribute list is empty');
$this->assertEquals(array(), $this->createTestCrawler()->filterXPath('//ol')->extract('_text'), '->extract() returns an empty array if the node list is empty');
}