use PHPUnit\Framework\ExpectationFailedException;
use PHPUnit\Framework\TestCase;
use PHPUnit\Framework\TestFailure;
use Symfony\Component\DomCrawler\Crawler;
use Symfony\Component\DomCrawler\Test\Constraint\CrawlerSelectorTextContains;
class CrawlerSelectorTextContainsTest extends TestCase
{ public function testConstraint() { $constraint =
new CrawlerSelectorTextContains('title', 'Foo'
);
$this->
assertTrue($constraint->
evaluate(new Crawler('<html><head><title>Foobar'
), '', true
));
$this->
assertFalse($constraint->
evaluate(new Crawler('<html><head><title>Bar'
), '', true
));
$this->
assertFalse($constraint->
evaluate(new Crawler('<html><head></head><body>Bar'
), '', true
));
try { $constraint->
evaluate(new Crawler('<html><head><title>Bar'
));
$this->
fail();
} catch (ExpectationFailedException
$e) { $this->
assertEquals("Failed asserting that the text \"Bar\" of the node matching selector \"title\" contains \"Foo\".\n", TestFailure::
exceptionToString($e));
}