use strict; use Test::More tests => 14; BEGIN { $^W = 1 } use_ok( 'HTML::StripScripts::Parser' ); use vars qw($p); $p = HTML::StripScripts::Parser->new; isa_ok($p, 'HTML::StripScripts::Parser'); my $pp = $p->new; isa_ok($pp, 'HTML::StripScripts::Parser'); test( '', '', 'empty document'); test( 'foo', 'foo', 'text only document'); test( "f\0o", 'f o', 'strip nulls' ); test( 'foo', 'foo', 'parse into tags' ); test( 'xy', 'xy', 'filter start' ); test( 'xy', 'xy', 'filter end' ); test( '
', '
', 'filter text' ); test( 'xy', 'xy', 'filter process' ); test( 'xy', 'xy', 'filter comment' ); test( 'xy', 'xy', 'filter declaration' ); { package MyFilter; use base qw(HTML::StripScripts::Parser); sub output_end { my ($self, $text) = @_; $self->output(uc $text); } } $p = MyFilter->new; test( 'foo', 'foo', 'subclassing works as expected' ); sub test { my ($in, $out, $name) = @_; $p->parse($in); $p->eof; is( $p->filtered_document, $out, $name ); }