use strict;
print "1..6\n";
my $pi;
my $orig;
use HTML::Parser ();
my $p = HTML::Parser->new(process_h => [sub { $pi = shift; $orig = shift; },
"token0,text"]
);
$p->parse("<a><?foo><a>");
print "not " unless $pi eq "foo" && $orig eq "<?foo>";
print "ok 1\n";
$p->parse("<a><?><a>");
print "not " unless $pi eq "" && $orig eq "<?>";
print "ok 2\n";
$p->parse("<a><?
foo
><a>");
print "not " unless $pi eq "\nfoo\n" && $orig eq "<?\nfoo\n>";
print "ok 3\n";
for (qw(< a > < ? b a r > < a >)) {
$p->parse($_);
}
print "not " unless $pi eq "bar" && $orig eq "<?bar>";
print "ok 4\n";
$p->xml_mode(1);
$p->parse("<a><?foo>bar??><a>");
print "not " unless $pi eq "foo>bar?" && $orig eq "<?foo>bar??>";
print "ok 5\n";
$p->parse("<a><??></a>");
print "not " unless $pi eq "" && $orig eq "<??>";
print "ok 6\n";