kevintweber/phpunit-markup-validators

This package is abandoned and no longer maintained. No replacement package was suggested.

HTML, CSS, and feed validation for PHPUnit

v2.0.0 2015-03-14 23:37 UTC

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.

ClassValidatesService
AssertHTML5HTML5http://html5.validator.nu/

Installation

  1. Install Composer.

  2. composer require kevintweber/phpunit-markup-validators
    or add it to your composer.json file.

  3. 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:

  1. isValidMarkup(string $markup, string $message = '', Connector $connector = null)
    Passes test if $markup is valid markup.

  2. isValidFile(string $pathToFile, string $message = '', Connector $connector = null)
    Passes test if file at $pathToFile has valid markup.

  3. 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.