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 ) = @_; is( $p->filter_html($in), $out, $name ); }