The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
# ----------------------------------------------------------------
    use strict;
    use Test::More tests => 10;
    BEGIN { use_ok('HTML::TagParser') };
# ----------------------------------------------------------------
    my $FILE = "t/sample/index-e.html";
# ----------------------------------------------------------------
    &test_main();
# ----------------------------------------------------------------
sub test_main {
    my $html = HTML::TagParser->new( $FILE );
    ok( ref $html, "open by new()" );

    my $root = $html->getElementsByTagName('html');
    is( $root->getAttribute('lang'), 'en', 'html lang en' );

	my @meta = $html->getElementsByTagName('meta');
	my $css = (grep {$_->getAttribute('http-equiv') && $_->getAttribute('http-equiv') eq 'Content-Style-Type'} @meta)[0];
	is( $css->getAttribute('content'), 'text/css', 'Content-Style-Type' );

	my $copy = (grep {$_->getAttribute('name') && $_->getAttribute('name') eq 'copyright'} @meta)[0];
	like( $copy->getAttribute('content'), qr/^Copyright/i, 'copyright' );

	my @link = $html->getElementsByTagName('link');
	my $rss = (grep {$_->getAttribute('rel') eq 'alternate'} @link)[0];
	is( $rss->getAttribute('href'), 'http://www.kawa.net/rss/index-e.rdf', 'application/rss+xml' );

	my $style = $html->getElementsByAttribute('rel','stylesheet');
	is( $style->getAttribute('type'), 'text/css', 'link rel stylesheet' );

	my $script = $html->getElementsByAttribute('src','http://www.kawa.net/works/js/jkl/js/jkl-parsexml.js');
	is( $script->tagName(), 'script', 'script src' );

	my $table = $html->getElementsByTagName('table');
	is( $table->getAttribute('width'), '100%', 'first table' );

	my $address = $html->getElementsByTagName('address');
	like( $address->innerText, qr/Copyright/i, 'address' );
}
# ----------------------------------------------------------------
;1;
# ----------------------------------------------------------------
__END__