| Test-HTML-Tidy documentation | Contained in the Test-HTML-Tidy distribution. |
Test::HTML::Tidy - Test::More-style wrapper around HTML::Tidy
Version 1.28
$Header: /home/cvs/test-html-tidy/Tidy.pm,v 1.4 2004/02/26 06:12:36 andy Exp $
use Test::HTML::Tidy tests => 4;
my $page = build_a_web_page();
html_tidy_ok( $page, 'Built page properly' );
Handy way to check that HTML is valid, according to HTML::Tidy. 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.
html_tidy_ok
Checks to see if $html contains valid HTML. $html being blank is OK.
$html being undef is not.
If you pass an HTML::Tidy object, html_tidy_ok() will use that for its
settings. The $html will get passed through $tidy.
my $tidy = new HTML::Tidy;
$tidy->ignore( type => TIDY_WARNING );
html_tidy_ok( $tidy, $content, "Web page passes without errors" );
Otherwise, html_tidy_ok will use the default rules.
html_tidy_ok( $content, "Web page passes ALL tests" );
Note that if you pass in your own HTML::Tidy object, html_tidy_ok()
will clear its errors before using it.
Please report any bugs or feature requests to
bug-test-html-tidy@rt.cpan.org, or through the web interface at
http://rt.cpan.org. I will be notified, and then you'll automatically
be notified of progress on your bug as I make changes.
Andy Lester, <andy@petdance.com>
Copyright 2004 Andy Lester, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Please note that these modules are not products of or supported by the employers of the various contributors to the code.
| Test-HTML-Tidy documentation | Contained in the Test-HTML-Tidy distribution. |
package Test::HTML::Tidy; use strict; use Test::Builder; use Exporter; use HTML::Tidy 1.00; use vars qw( @ISA $VERSION @EXPORT ); @ISA = qw( Exporter );
$VERSION = '1.00'; my $Tester = Test::Builder->new;
@EXPORT = qw( html_tidy_ok ); sub import { my $self = shift; my $pack = caller; $Tester->exported_to($pack); $Tester->plan(@_); $self->export_to_level(1, $self, @EXPORT); }
sub html_tidy_ok { my $tidy; if ( ref($_[0]) eq "HTML::Tidy" ) { $tidy = shift; $tidy->clear_messages(); } else { $tidy = HTML::Tidy->new; } my $html = shift; my $name = shift; my $ok = defined $html; if ( !$ok ) { $Tester->ok( 0, $name ); } else { $tidy->parse( $0, $html ); my $nerr = scalar $tidy->messages; $ok = !$nerr; $Tester->ok( $ok, $name ); if ( !$ok ) { my $msg = "Messages:"; $msg .= " $name" if $name; $Tester->diag( $msg ); $Tester->diag( $_->as_string ) for $tidy->messages; } } return $ok; }
1;