Phpunit Matches Selector
, (*1)
PHPUnit extension for asserting if a dom element matches a given css selector, (*2)
Installation
Install via composer, (*3)
composer require --dev spiderling-php/phpunit-matches-selector
Since it is meant as an extension for your tests, all the requirements are in require-dev.
PHPUnit requirement is not explicitly stated as its assumed you will need it anyway to use in your tests., (*4)
Usage
This extension allows to check if a DOMElement matches a particular css selector, (*5)
use SP\PhpunitDomConstraints\DomConstraintsTrait;
use PHPUnit_Framework_TestCase;
class TestCaseTest extends PHPUnit_Framework_TestCase
{
use DomConstraintsTrait;
public function testTest()
{
$document = new DOMDocument();
$document->load('Some file');
$element = $document->getElementById('some id');
// Here is the test you can now perform
$this->assertMatchesSelector('div.some-class', $element, 'This should match');
// You can do even more complex selects
$this->assertMatchesSelector('ul li > #test.some-class[disabled]', $element, 'This should match');
}
}
License
Copyright (c) 2015, Clippings Ltd. Developed by Ivan Kerin, (*6)
Under BSD-3-Clause license, read LICENSE file., (*7)