public function testFilterXPath() { $crawler =
$this->
createTestCrawler();
$this->
assertNotSame($crawler,
$crawler->
filterXPath('//li'
), '->filterXPath() returns a new instance of a crawler'
);
$this->
assertInstanceOf(Crawler::
class,
$crawler->
filterXPath('//li'
), '->filterXPath() returns a new instance of a crawler'
);
$crawler =
$this->
createTestCrawler()->
filterXPath('//ul'
);
$this->
assertCount(6,
$crawler->
filterXPath('//li'
), '->filterXPath() filters the node list with the XPath expression'
);
$crawler =
$this->
createTestCrawler();
$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'
);