From 14eed630698a5507b480791757f19d887cb48cea Mon Sep 17 00:00:00 2001 From: Diego Saint Esteben Date: Tue, 25 Dec 2012 20:45:05 -0300 Subject: [PATCH] Method each return an instance of Crawler instead DOMElement --- src/Symfony/Component/DomCrawler/Crawler.php | 3 ++- src/Symfony/Component/DomCrawler/Tests/CrawlerTest.php | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Symfony/Component/DomCrawler/Crawler.php b/src/Symfony/Component/DomCrawler/Crawler.php index 21ab0bdd8b..f3e652102f 100644 --- a/src/Symfony/Component/DomCrawler/Crawler.php +++ b/src/Symfony/Component/DomCrawler/Crawler.php @@ -277,7 +277,7 @@ class Crawler extends \SplObjectStorage * * $crawler->filter('h1')->each(function ($node, $i) * { - * return $node->nodeValue; + * return $node->text(); * }); * * @param \Closure $closure An anonymous function @@ -290,6 +290,7 @@ class Crawler extends \SplObjectStorage { $data = array(); foreach ($this as $i => $node) { + $node = new static($node, $this->uri); $data[] = $closure($node, $i); } diff --git a/src/Symfony/Component/DomCrawler/Tests/CrawlerTest.php b/src/Symfony/Component/DomCrawler/Tests/CrawlerTest.php index 835c4d2473..3185741e02 100644 --- a/src/Symfony/Component/DomCrawler/Tests/CrawlerTest.php +++ b/src/Symfony/Component/DomCrawler/Tests/CrawlerTest.php @@ -276,8 +276,8 @@ EOF public function testEach() { - $data = $this->createTestCrawler()->filterXPath('//ul[1]/li')->each(function ($node, $i) { - return $i.'-'.$node->nodeValue; + $data = $this->createTestCrawler()->filter('ul:first-child li')->each(function ($node, $i) { + return $i.'-'.$node->text(); }); $this->assertEquals(array('0-One', '1-Two', '2-Three'), $data, '->each() executes an anonymous function on each node of the list');