$this->
assertCount(3,
$crawler->
filterXPath('//body'
)->
filterXPath('//button'
)->
ancestors(), '->filterXpath() preserves ancestors when chained'
);
} public function testFilterRemovesDuplicates() { $crawler =
$this->
createTestCrawler()->
filter('html, body'
)->
filter('li'
);
$this->
assertCount(6,
$crawler, 'The crawler removes duplicates when filtering.'
);
} public function testFilterXPathWithDefaultNamespace() { $crawler =
$this->
createTestXmlCrawler()->
filterXPath('//default:entry/default:id'
);
$this->
assertCount(1,
$crawler, '->filterXPath() automatically registers a namespace'
);
$this->
assertSame('tag:youtube.com,2008:video:kgZRZmEc9j4',
$crawler->
text());
} public function testFilterXPathWithCustomDefaultNamespace() { $crawler =
$this->
createTestXmlCrawler();
$crawler->
setDefaultNamespacePrefix('x'
);
$crawler =
$crawler->
filterXPath('//x:entry/x:id'
);
$this->
assertCount(1,
$crawler, '->filterXPath() lets to override the default namespace prefix'
);