From c905bba6a0763eaf7d418426660c5798e80bca3b Mon Sep 17 00:00:00 2001 From: Jakub Zalas Date: Fri, 13 Sep 2013 12:03:00 +0100 Subject: [PATCH] [DomCrawler] Added more tests for namespaced filtering. --- .../DomCrawler/Tests/CrawlerTest.php | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/Symfony/Component/DomCrawler/Tests/CrawlerTest.php b/src/Symfony/Component/DomCrawler/Tests/CrawlerTest.php index 3e7f835eec..0b20e732fe 100644 --- a/src/Symfony/Component/DomCrawler/Tests/CrawlerTest.php +++ b/src/Symfony/Component/DomCrawler/Tests/CrawlerTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\DomCrawler\Tests; +use Symfony\Component\CssSelector\CssSelector; use Symfony\Component\DomCrawler\Crawler; class CrawlerTest extends \PHPUnit_Framework_TestCase @@ -374,6 +375,7 @@ EOF { $crawler = $this->createTestXmlCrawler()->filterXPath('//entry/id'); $this->assertCount(1, $crawler, '->filterXPath() automatically registers a namespace'); + $this->assertSame('tag:youtube.com,2008:video:kgZRZmEc9j4', $crawler->text()); } public function testFilterXPathWithNamespace() @@ -386,6 +388,7 @@ EOF { $crawler = $this->createTestXmlCrawler()->filterXPath('//media:group/yt:aspectRatio'); $this->assertCount(1, $crawler, '->filterXPath() automatically registers multiple namespaces'); + $this->assertSame('widescreen', $crawler->text()); } /** @@ -404,14 +407,36 @@ EOF $this->assertCount(6, $crawler->filter('li'), '->filter() filters the node list with the CSS selector'); } + public function testFilterWithDefaultNamespace() + { + $this->markSkippedIfCssSelectorNotPresent(); + + $crawler = $this->createTestXmlCrawler()->filter('entry id'); + $this->assertCount(1, $crawler, '->filter() automatically registers namespaces'); + $this->assertSame('tag:youtube.com,2008:video:kgZRZmEc9j4', $crawler->text()); + } + public function testFilterWithNamespace() { $this->markSkippedIfCssSelectorNotPresent(); + CssSelector::disableHtmlExtension(); + $crawler = $this->createTestXmlCrawler()->filter('yt|accessControl'); $this->assertCount(2, $crawler, '->filter() automatically registers namespaces'); } + public function testFilterWithMultipleNamespaces() + { + $this->markSkippedIfCssSelectorNotPresent(); + + CssSelector::disableHtmlExtension(); + + $crawler = $this->createTestXmlCrawler()->filter('media|group yt|aspectRatio'); + $this->assertCount(1, $crawler, '->filter() automatically registers namespaces'); + $this->assertSame('widescreen', $crawler->text()); + } + public function testSelectLink() { $crawler = $this->createTestCrawler();