use Test::More tests => 6;
use strict;
use HTML::Parser ();
my $p = HTML::Parser->new(api_version => 3);
eval {
$p->handler(end => "end", q(xyzzy));
};
like($@, qr/^Unrecognized identifier xyzzy in argspec/);
eval {
$p->handler(end => "end", q(tagname text));
};
like($@, qr/^Missing comma separator in argspec/);
eval {
$p->handler(end => "end", q(tagname, "text));
};
like($@, qr/^Unterminated literal string in argspec/);
eval {
$p->handler(end => "end", q(tagname, "t\\t"));
};
like($@, qr/^Backslash reserved for literal string in argspec/);
eval {
$p->handler(end => "end", '"' . ("x" x 256) . '"');
};
like($@, qr/^Literal string is longer than 255 chars in argspec/);
$p->handler(end => sub { is(length(shift), 255) },
'"' . ("x" x 255) . '"');
$p->parse("</x>");