Neos\Neos\Tests\Functional\Fusion\RenderingTest::assertSelectEquals PHP Метод

assertSelectEquals() публичный статический Метод

Helper function for setting assertions
public static assertSelectEquals ( string $selector, string $content, integer | boolean $count, mixed $actual, string $message = '', boolean $isHtml = true )
$selector string
$content string
$count integer | boolean assert specific number of elements, assert any elements exist if true, assert no elements exist if false
$actual mixed
$message string
$isHtml boolean
    public static function assertSelectEquals($selector, $content, $count, $actual, $message = '', $isHtml = true)
    {
        if ($message === '') {
            $message = $selector . ' did not match: ' . $actual;
        }
        $crawler = new Crawler();
        if ($actual instanceof \DOMDocument) {
            $crawler->addDocument($actual);
        } elseif ($isHtml) {
            $crawler->addHtmlContent($actual);
        } else {
            $crawler->addXmlContent($actual);
        }
        $crawler = $crawler->filter($selector);
        if (is_string($content)) {
            $crawler = $crawler->reduce(function (Crawler $node, $i) use($content) {
                if ($content === '') {
                    return $node->text() === '';
                }
                if (preg_match('/^regexp\\s*:\\s*(.*)/i', $content, $matches)) {
                    return (bool) preg_match($matches[1], $node->text());
                }
                return strstr($node->text(), $content) !== false;
            });
        }
        $found = count($crawler);
        if (is_numeric($count)) {
            self::assertEquals($count, $found, $message);
        } elseif (is_bool($count)) {
            $found = $found > 0;
            if ($count) {
                self::assertTrue($found, $message);
            } else {
                self::assertFalse($found, $message);
            }
        } elseif (is_array($count) && (isset($count['>']) || isset($count['<']) || isset($count['>=']) || isset($count['<=']))) {
            if (isset($count['>'])) {
                self::assertTrue($found > $count['>'], $message);
            }
            if (isset($count['>='])) {
                self::assertTrue($found >= $count['>='], $message);
            }
            if (isset($count['<'])) {
                self::assertTrue($found < $count['<'], $message);
            }
            if (isset($count['<='])) {
                self::assertTrue($found <= $count['<='], $message);
            }
        } else {
            throw new \PHPUnit_Framework_Exception('Invalid count format');
        }
    }