NAME
TAP::Parser::SourceHandler::Validator::W3C::HTML - validate HTML content
SYNOPSIS
$ prove --source Validator::W3C::HTML http://example.com/some/page.html /path/to/some/file.html
DESCRIPTION
Unit testing is awesome. App::Prove is awesome. HTML validation is
awesome. Thus, the Validator::W3C::HTML SourceHandler was born.
This SourceHandler provides TAP::Harness with TAP output generated as
the result of HTML validation via the W3C validator. Both remote URIs
and local HTML files are supported depending upon the type of source
passed to the harness.
If the source is a file with a .html or .htm extension or a file which
contains text matching /html/i in the first line, then the source will
be handled by this SourceHandler as raw HTML content.
If the source is an HTTP or HTTPS URI, the source will be handled by
this SourceHandler via <WWW::Robot>. When operating in URI mode, a few
extra options are available. See below for configuration.
CONFIGURATION
Configuration is done via the environment as is pretty common with perl
testing. The supported configuration options are as follows:
TEST_W3C_HTML_CRAWL (default: no)
When in URI mode, crawl the site and recursively test all URIs below
the hierarchy of the root URI.
TEST_W3C_HTML_VALIDATOR_URI (default: http://validator.w3.org/check)
The location of the W3C validator instance you wish to use. Please
do not use the default if you're going to be using the validator for
any volume.
TEST_W3C_HTML_TIMEOUT (default: 5)
The timeout for the LWP::UserAgent instance used by WWW::Robot.
TEST_W3C_HTML_CHILDREN (default: no)
When recursively crawling a site, use a Test::Builder child for each
URI. This indents the TAP output for each URI, but can be less
readable when using non-TAP formatters such as JUnit.
Any environment variables beginning with TEST_W3C_HTML_SPIDER_ will be
interpreted as attributes to be passed on to the WWW::Robot instance
after stripping the leading portion.
CAVEATS
This is my first experience with TAP::Harness. TAP::Harness is quite
abstract and I am probably abusing it horribly. Please let me know if
you have any suggestions for improvement.
AUTHOR
Mike Eldridge <diz@cpan.org>
COPYRIGHT AND LICENSE
Copyright (c) 2013 by Infinity Interactive, Inc.
http://www.iinteractive.com
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.