PluginProbe
BeyondWords – AI audio for publishers / 4.0.3
BeyondWords – AI audio for publishers v4.0.3
7.2.0 7.1.0 trunk 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.1.0 4.1.1 4.1.2 4.2.0 4.2.1 4.2.2 4.2.3 4.2.4 4.3.0 4.4.0 4.5.0 4.5.1 4.6.0 4.6.1 4.6.2 All 44 releases
speechkit / vendor / symfony / dom-crawler / Test / Constraint / CrawlerSelectorTextContains.php

CrawlerSelectorTextContains.php in BeyondWords – AI audio for publishers 4.0.3, at vendor/symfony/dom-crawler/Test/Constraint/CrawlerSelectorTextContains.php

72 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <[email protected]>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12 namespace Symfony\Component\DomCrawler\Test\Constraint;
13
14 use PHPUnit\Framework\Constraint\Constraint;
15 use Symfony\Component\DomCrawler\Crawler;
16
17 final class CrawlerSelectorTextContains extends Constraint
18 {
19 private $selector;
20 private $expectedText;
21 private $hasNode = false;
22 private $nodeText;
23
24 public function __construct(string $selector, string $expectedText)
25 {
26 $this->selector = $selector;
27 $this->expectedText = $expectedText;
28 }
29
30 /**
31 * {@inheritdoc}
32 */
33 public function toString(): string
34 {
35 if ($this->hasNode) {
36 return sprintf('the text "%s" of the node matching selector "%s" contains "%s"', $this->nodeText, $this->selector, $this->expectedText);
37 }
38
39 return sprintf('the Crawler has a node matching selector "%s"', $this->selector);
40 }
41
42 /**
43 * @param Crawler $crawler
44 *
45 * {@inheritdoc}
46 */
47 protected function matches($crawler): bool
48 {
49 $crawler = $crawler->filter($this->selector);
50 if (!\count($crawler)) {
51 $this->hasNode = false;
52
53 return false;
54 }
55
56 $this->hasNode = true;
57 $this->nodeText = $crawler->text(null, true);
58
59 return false !== mb_strpos($this->nodeText, $this->expectedText);
60 }
61
62 /**
63 * @param Crawler $crawler
64 *
65 * {@inheritdoc}
66 */
67 protected function failureDescription($crawler): string
68 {
69 return $this->toString();
70 }
71 }
72