# 07_booleans.t
use strict;
use File::Spec;
use Test::More tests => 9;
BEGIN { $^W = 1 }
use_ok('HTML::Scrubber');
use HTML::Scrubber;
my @allow = qw[ br hr b a option button th ];
my $scrubber = HTML::Scrubber->new();
$scrubber->allow(@allow);
$scrubber->default(
undef, # don't change
{ # default attribute rules
'/' => 1, # '/' ia boolean (stand-alone) attribute
'pie' => 1,
'selected' => 1,
'disabled' => 1,
'nowrap' => 1,
}
);
ok( $scrubber, "got scrubber" );
test( q~<br> hi <br /> <a href= >~, q~<br> hi <br /> <a>~, "br /" );
test( q~<option selected> flicka <a href=>~, q~<option selected> flicka <a>~, "selected" );
test(
q~<button name="flicka" Disabled > the flicker </button>~,
q~<button disabled> the flicker </button>~,
"disabled"
);
test( q~<button disabled > dd </button>~, q~<button disabled> dd </button>~, "dd" );
test( q~<a disabled pie=6> | </a>~, q~<a disabled pie="6"> | </a>~, "pie" );
test(
q~<a selected disabled selected pie pie pie disabled /> | </a>~,
q~<a selected disabled pie /> | </a>~,
"selected pie"
);
#dependent on version of HTML::Parser, after 0.36 1st is returned (ie pie)
#test(q~<br pie pie=4>~, q~<br pie="4">~, 'repeated mixed');
test( q~<th nowrap=nowrap>~, q~<th nowrap="nowrap">~, "th nowrap=nowrap" );
sub test {
my ( $in, $out, $name ) = @_;
is( $scrubber->scrub($in), $out, $name );
}