diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2013-05-08 22:21:52 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2013-05-08 22:21:52 +0000 |
commit | 2f253cfc85ffd55a8acb988e91f0bc5ab348124c (patch) | |
tree | 4734ccd522c71dd455879162006742002f8c1565 /t/declaration.t | |
download | HTML-Parser-tarball-master.tar.gz |
HTML-Parser-3.71HEADHTML-Parser-3.71master
Diffstat (limited to 't/declaration.t')
-rw-r--r-- | t/declaration.t | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/t/declaration.t b/t/declaration.t new file mode 100644 index 0000000..17de561 --- /dev/null +++ b/t/declaration.t @@ -0,0 +1,62 @@ +use Test::More tests => 2; + +use HTML::Parser; +my $res = ""; + +sub decl +{ + my $t = shift; + $res .= "[" . join("\n", map "<$_>", @$t) . "]"; +} + +sub text +{ + $res .= shift; +} + +my $p = HTML::Parser->new(declaration_h => [\&decl, "tokens"], + default_h => [\&text, "text"], + ); + +$p->parse(<<EOT)->eof; +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" --<comment>-- + "http://www.w3.org/TR/html40/strict.dtd"> + +<!ENTITY foo "<!-- foo -->"> +<!Entity foo "<!-- foo -->"> + +<!row --> foo +EOT + +is($res, <<EOT); +[<DOCTYPE> +<HTML> +<PUBLIC> +<"-//W3C//DTD HTML 4.01//EN"> +<--<comment>--> +<"http://www.w3.org/TR/html40/strict.dtd">] + +[<ENTITY> +<foo> +<"<!-- foo -->">] +[<Entity> +<foo> +<"<!-- foo -->">] + +<!row --> foo +EOT + +$res = ""; +$p->parse(<<EOT)->eof; +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"[]> +EOT +is($res, <<EOT); +[<DOCTYPE> +<html> +<PUBLIC> +<"-//W3C//DTD XHTML 1.0 Strict//EN"> +<"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<[]>] +EOT + |