kevintweber / phpunit-markup-validators
HTML, CSS, and feed validation for PHPUnit
Installs: 20 744
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 1
Open Issues: 0
Requires
- php: >= 5.3.3
This package is not auto-updated.
Last update: 2020-01-25 01:09:14 UTC
README
This is an extension for PHPUnit that uses online services for markup validation.
Class | Validates | Service |
---|---|---|
AssertHTML5 | HTML5 | http://html5.validator.nu/ |
Installation
-
Install Composer.
-
composer require kevintweber/phpunit-markup-validators
or add it to your composer.json file. -
Install PHPUnit.
Note: I have removed PHPUnit as a composer dependency for folks who run PHPUnit globally. To install PHPUnit locally, use: composer require phpunit/phpunit
Usage
Here is an example of a minimal test case that will pass.
<?php require_once("vendor/autoload.php"); use Kevintweber\PhpunitMarkupValidators\Assert\AssertHtml5; class HtmlTest extends PHPUnit_Framework_TestCase { public function testHTMLValidation() { AssertHTML5::isValidMarkup("<div>Whoa</div>", "Optional custom message."); } }
Each assert class has three methods:
-
isValidMarkup(string $markup, string $message = '', Connector $connector = null)
Passes test if $markup is valid markup. -
isValidFile(string $pathToFile, string $message = '', Connector $connector = null)
Passes test if file at $pathToFile has valid markup. -
isValidUrl(string $URL, string $message = '', Connector $connector = null)
Passes test if webpage at $URL has valid markup.
In the event that a test fails, first the $message will be displayed, then a detailed error report will be listed.
(The third parameter is for custom connectors, in case you want to extend this library with your own services.)
Note: Each online service requests that API usage does not exceed 1 request per second. I have included a throttle class to limit requests. An easy workaround is to not use the same test class repeatedly, but rather alternate test classes.
Authors
Kevin Weber - kevintweber@gmail.com
License
phpunit-markup-validators is licensed under the MIT license. See LICENSE
for more details.
Acknowledgements
Parts were inspired from xvoland/html-validate.