X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=dev%2Farm%2Flibhtml-parser-perl%2Flibhtml-parser-perl-3.56%2Ft%2Foffset.t;fp=dev%2Farm%2Flibhtml-parser-perl%2Flibhtml-parser-perl-3.56%2Ft%2Foffset.t;h=840728d7c3bafec917b597644ab6fc1773c2584c;hb=f477fa73365d491991707e7ed9217b48d6994551;hp=0000000000000000000000000000000000000000;hpb=da95c414033799c3a62606f299c3c00b5c77ca11;p=dh-make-perl diff --git a/dev/arm/libhtml-parser-perl/libhtml-parser-perl-3.56/t/offset.t b/dev/arm/libhtml-parser-perl/libhtml-parser-perl-3.56/t/offset.t new file mode 100644 index 0000000..840728d --- /dev/null +++ b/dev/arm/libhtml-parser-perl/libhtml-parser-perl-3.56/t/offset.t @@ -0,0 +1,58 @@ +use strict; +use HTML::Parser (); +use Test::More tests => 1; + +my $HTML = <<'EOT'; + + + +heisan + + +xmp + +EOT + +my $p = HTML::Parser->new(api_version => 3); + +my $sum_len = 0; +my $count = 0; +my $err; + +$p->handler(default => + sub { + my($offset, $length, $offset_end, $line, $col, $text) = @_; + my $copy = $text; + $copy =~ s/\n/\\n/g; + substr($copy, 30) = "..." if length($copy) > 32; + #diag sprintf ">>> %d.%d %s", $line, $col, $copy; + if ($offset != $sum_len) { + diag "offset mismatch $offset vs $sum_len"; + $err++; + } + if ($offset_end != $offset + $length) { + diag "offset_end $offset_end wrong"; + $err++; + } + if ($length != length($text)) { + diag "length mismatch"; + $err++; + } + if (substr($HTML, $offset, $length) ne $text) { + diag "content mismatch"; + $err++; + } + $sum_len += $length; + $count++; + }, + 'offset,length,offset_end,line,column,text'); + +for (split(//, $HTML)) { + $p->parse($_); +} +$p->eof; + +ok($count > 5 && !$err); + +