summaryrefslogtreecommitdiff
path: root/t/default.t
blob: 4b5ed794fda04ceb78c86391e8143e1eeeedafe5 (plain)
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
use strict;
use Test::More tests => 3;

my $text = "";
use HTML::Parser ();
my $p = HTML::Parser->new(default_h => [sub { $text .= shift }, "text"],
                         );

my $html = <<'EOT';

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
                       "http://www.w3.org/TR/html40/strict.dtd">

<title>foo</title>
<!-- comment <a> -->
<?process instruction>

EOT

$p->parse($html)->eof;

is($text, $html);

$text = "";
$p->handler(start => sub { }, "");
$p->handler(declaration => sub { }, "");
$p->parse($html)->eof;

my $html2;
$html2 = $html;
$html2 =~ s/<title>//;
$html2 =~ s/<!DOCTYPE[^>]*>//;

is($text, $html2);

$text = "";
$p->handler(start => undef);
$p->parse($html)->eof;

$html2 = $html;
$html2 =~ s/<!DOCTYPE[^>]*>//;

is($text, $html2);