PluginProbe
BeyondWords – AI audio for publishers / 4.6.2
BeyondWords – AI audio for publishers v4.6.2
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 / CrawlerSelectorTextSame.php

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

61 lines 1.4 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 CrawlerSelectorTextSame extends Constraint
18 {
19 private $selector;
20 private $expectedText;
21
22 public function __construct(string $selector, string $expectedText)
23 {
24 $this->selector = $selector;
25 $this->expectedText = $expectedText;
26 }
27
28 /**
29 * {@inheritdoc}
30 */
31 public function toString(): string
32 {
33 return sprintf('has a node matching selector "%s" with content "%s"', $this->selector, $this->expectedText);
34 }
35
36 /**
37 * @param Crawler $crawler
38 *
39 * {@inheritdoc}
40 */
41 protected function matches($crawler): bool
42 {
43 $crawler = $crawler->filter($this->selector);
44 if (!\count($crawler)) {
45 return false;
46 }
47
48 return $this->expectedText === trim($crawler->text(null, true));
49 }
50
51 /**
52 * @param Crawler $crawler
53 *
54 * {@inheritdoc}
55 */
56 protected function failureDescription($crawler): string
57 {
58 return 'the Crawler '.$this->toString();
59 }
60 }
61