File: 02_basic.t

package info (click to toggle)
libhtml-scrubber-perl 0.08-4%2Bdeb6u1
  • links: PTS
  • area: main
  • in suites: squeeze-lts
  • size: 140 kB
  • ctags: 23
  • sloc: perl: 329; makefile: 43
file content (151 lines) | stat: -rw-r--r-- 4,728 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl test.pl'

#########################

# change 'tests => 1' to 'tests => last_test_to_print';

use Test;
BEGIN { plan tests => 77 };
use HTML::Scrubber;
ok(1); # If we made it this far, we're ok.				# test 1

#########################

# Insert your test code below, the Test module is use()ed here so read
# its man page ( perldoc Test ) for help writing this test script.


my $html = q[
    <script>//blah</script>
    <HR Align="left">
    <B> bold <
        <U> underlined
            <I>
                <A href='#"'>  LINK    </A>
            </I>
        </U>
    </B>
    <!-- comments -->
];

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

ok( $scrubber );				# test 2
ok( ! $scrubber->default() );				# test 3
ok( ! $scrubber->comment() );				# test 4
ok( ! $scrubber->process() );				# test 5
ok( ! $scrubber->allow( qw[ p b i u hr br ] ) );				# test 6

$scrubber = $scrubber->scrub($html);

ok( $scrubber );				# test 7
ok( $scrubber !~ /href/i );				# test 8
ok( $scrubber !~ /Align/i );				# test 9
ok( $scrubber !~ /\Q<!--\E/ );				# test 10
ok( $scrubber =~ /bold &lt;/ );		# test 11

$scrubber = HTML::Scrubber->new( deny => [ qw[ p b i u hr br ] ] );

ok( $scrubber );				# test 12
ok( ! $scrubber->default() );				# test 13
ok( ! $scrubber->comment() );				# test 14
ok( ! $scrubber->process() );				# test 15

$scrubber = $scrubber->scrub($html);

ok( $scrubber );				# test 16
ok( $scrubber !~ /[><]/ );				# test 17
ok( $scrubber !~ /href/i );				# test 18
ok( $scrubber !~ /Align/i );				# test 19
ok( $scrubber !~ /\Q<!--\E/ );				# test 20
ok( $scrubber =~ /bold &lt;/ );		# test 21

$scrubber = HTML::Scrubber->new( default => [ 0 ] );

ok( $scrubber );				# test 22
ok( ! $scrubber->default() );				# test 23
ok( ! $scrubber->comment() );				# test 24
ok( ! $scrubber->process() );				# test 25

$scrubber = $scrubber->scrub($html);

ok( $scrubber );				# test 26
ok( $scrubber !~ /[><]/ );				# test 27
ok( $scrubber !~ /href/i );				# test 28
ok( $scrubber !~ /Align/i );				# test 29
ok( $scrubber !~ /\Q<!--\E/ );				# test 30
ok( $scrubber =~ /bold &lt;/ );		# test 31

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

ok( $scrubber );				# test 32
ok( $scrubber->default() );				# test 33
ok( ! $scrubber->comment() );				# test 34
ok( ! $scrubber->process() );				# test 35

#use Data::Dumper;die Dumper( [ $scrubber, $scrubber->scrub($html) ]);

$scrubber = $scrubber->scrub($html);


ok( $scrubber );				# test 36
ok( $scrubber =~ /[><]/ );				# test 37
ok( $scrubber !~ /href/i );				# test 38
ok( $scrubber !~ /Align/i );				# test 39
ok( $scrubber !~ /\Q<!--\E/ );				# test 40
ok( $scrubber =~ /bold &lt;/ );		# test 41

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

ok( $scrubber );				# test 42
ok( $scrubber->default() );				# test 43
ok( ! $scrubber->comment() );				# test 44
ok( ! $scrubber->process() );				# test 45
ok( ! $scrubber->comment(1) );				# test 46

$scrubber = $scrubber->scrub($html);

ok( $scrubber );				# test 47
ok( $scrubber =~ /[><]/ );				# test 48
ok( $scrubber !~ /href/i );				# test 49
ok( $scrubber !~ /Align/i );				# test 50
ok( $scrubber =~ /\Q<!--\E/ );				# test 51
ok( $scrubber =~ /bold &lt;/ );		# test 52


$scrubber = HTML::Scrubber->new( default => [ 1 => { align => 1, '*' => 0 } ] );

ok( $scrubber );				# test 53
ok( $scrubber->default() );				# test 54
ok( ! $scrubber->comment() );				# test 55
ok( ! $scrubber->process() );				# test 56
ok( ! $scrubber->comment(1) );				# test 57

$scrubber = $scrubber->scrub($html);

ok( $scrubber );				# test 58
ok( $scrubber =~ /[><]/ );				# test 59
ok( $scrubber !~ /href/i );				# test 60
ok( $scrubber =~ /Align/i );				# test 61
ok( $scrubber =~ /\Q<!--\E/ );				# test 62
ok( $scrubber =~ /"left"/ );				# test 63
ok( $scrubber =~ /bold &lt;/ );		# test 64

$scrubber = HTML::Scrubber->new( default => [ 1 => { align => 0, '*' => 1 } ] );

ok( $scrubber );				# test 65
ok( $scrubber->default() );				# test 66
ok( ! $scrubber->comment() );				# test 67
ok( ! $scrubber->process() );				# test 68
ok( ! $scrubber->comment(1) );				# test 69
$scrubber = $scrubber->scrub($html);

ok( $scrubber );				# test 70
ok( $scrubber =~ /[><]/ );				# test 71
ok( $scrubber =~ /href/i );				# test 72
ok( $scrubber !~ /Align/i );				# test 73
ok( $scrubber =~ /\Q<!--\E/ );				# test 74
ok( $scrubber =~ /\Q&quot\E/ );				# test 75
ok( $scrubber =~ /\#/ );				# test 76
ok( $scrubber =~ /bold &lt;/ );		# test 77