function CrawlerAnySelectorTextContains::matches
Overrides Constraint::matches
File
-
vendor/
symfony/ dom-crawler/ Test/ Constraint/ CrawlerAnySelectorTextContains.php, line 36
Class
Namespace
Symfony\Component\DomCrawler\Test\ConstraintCode
protected function matches($other) : bool {
if (!$other instanceof Crawler) {
throw new \InvalidArgumentException(\sprintf('"%s" constraint expected an argument of type "%s", got "%s".', self::class, Crawler::class, get_debug_type($other)));
}
$other = $other->filter($this->selector);
if (!\count($other)) {
$this->hasNode = false;
return false;
}
$this->hasNode = true;
$nodes = $other->each(fn(Crawler $node) => $node->text(null, true));
$matches = array_filter($nodes, function (string $node) : bool {
return str_contains($node, $this->expectedText);
});
return 0 < \count($matches);
}