NAME

Test::HTML::Lint - Test::More-style wrapper around HTML::Lint

VERSION

Version 2.32

SYNOPSIS

    use Test::HTML::Lint tests => 4;

    my $table = build_display_table();
    html_ok( $table, 'Built display table properly' );

DESCRIPTION

This module provides a few convenience methods for testing exception based code. It is built with Test::Builder and plays happily with Test::More and friends.

If you are not already familiar with Test::More now would be the time to go take a look.

EXPORT

html_ok

html_ok( [$lint, ] $html, $name )

Checks to see if $html is a valid HTML document, including checks for having <html>, <head>, <title>> and <body> tags.

If you're checking something that is only a fragment of an HTML document, use html_fragment_ok().

If you pass an HTML::Lint object, html_ok() will use that for its settings.

    my $lint = new HTML::Lint( only_types => STRUCTURE );
    html_ok( $lint, $content, "Web page passes structural tests only" );

Otherwise, it will use the default rules.

    html_ok( $content, "Web page passes ALL tests" );

Note that if you pass in your own HTML::Lint object, html_ok() will clear its errors before using it.

html_fragment_ok( [$lint, ] $html, $name )

Checks that $fragment is valid HTML, but not necessarily a valid HTML document.

For example, this is a valid fragment, but not a valid HTML document:

    <body>
        <p>Lorem ipsum</p>
    </body>

because it doesn't contain <html> and <head> tags. If you want to check that it is a valid document, use html_ok().

If you pass an HTML::Lint object, html_fragment_ok() will use that for its settings.

    my $lint = new HTML::Lint( only_types => STRUCTURE );
    html_fragment_ok( $lint, $content, 'Web page passes structural tests only' );

Otherwise, it will use the default rules.

    html_fragment_ok( $content, 'Fragment passes ALL tests' );

Note that if you pass in your own HTML::Lint object, html_fragment_ok() will clear its errors before using it.

BUGS

All bugs and requests are now being handled through GitHub.

    https://github.com/petdance/html-lint/issues

DO NOT send bug reports to http://rt.cpan.org/.

TO DO

There needs to be a html_table_ok() to check that the HTML is a self-contained, well-formed table, and then a comparable one for html_page_ok().

If you think this module should do something that it doesn't do at the moment please let me know.

ACKNOWLEDGEMENTS

Thanks to chromatic and Michael G Schwern for the excellent Test::Builder, without which this module wouldn't be possible.

Thanks to Adrian Howard for writing Test::Exception, from which most of this module is taken.

COPYRIGHT & LICENSE

Copyright 2005-2018 Andy Lester.

This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License v2.0.

http://www.opensource.org/licenses/Artistic-2.0

Please note that these modules are not products of or supported by the employers of the various contributors to the code.

AUTHOR

Andy Lester, andy@petdance.com