File: 08_cb_attrs.t

package info (click to toggle)
libhtml-scrubber-perl 0.19-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 292 kB
  • sloc: perl: 422; makefile: 2
file content (28 lines) | stat: -rw-r--r-- 710 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use strict;
use warnings;
use Test::More;

use_ok('HTML::Scrubber');
use HTML::Scrubber;

my $scrubber = HTML::Scrubber->new;
$scrubber->default(1);

my $cb = sub {
    my ( $self, $tag, $attr, $avalue ) = @_;
    my %h = (
        drop  => [],
        bool  => [undef],
        empty => [''],
        foo   => ['bar'],
    );
    return @{ $h{$avalue} };
};

$scrubber->rules( p => { a => $cb } );
is( $scrubber->scrub('<p a="drop">'),  '<p>',         "correct result" );
is( $scrubber->scrub('<p a="bool">'),  '<p a>',       "correct result" );
is( $scrubber->scrub('<p a="empty">'), '<p a="">',    "correct result" );
is( $scrubber->scrub('<p a="foo">'),   '<p a="bar">', "correct result" );

done_testing;