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 / CrawlerSelectorAttributeValueSame.php

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

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