Codebase list libhtml-parser-perl / fc168e2
Test utf8_mode. gisle 19 years ago
1 changed file(s) with 22 addition(s) and 3 deletion(s). Raw diff Collapse all Expand all
1010 use Test qw(plan ok);
1111 use HTML::Parser;
1212
13 plan tests => 75;
13 plan tests => 87;
1414
1515 my @warn;
1616 $SIG{__WARN__} = sub {
117117 print $fh <<EOT;
118118 \x{FEFF}
119119 <title>\x{263A} Love! </title>
120 <h1>&hearts Love \x{2665}<h1>
120 <h1 id=&hearts\x{2665}>&hearts Love \x{2665}<h1>
121121 EOT
122122 close($fh) || die;
123123
125125 @parsed = ();
126126 $p->parse_file($file);
127127 ok(@parsed, "11");
128 ok($parsed[6][0], "start");
129 ok($parsed[6][8]{id}, "\x{2665}\xE2\x99\xA5");
128130 ok($parsed[7][0], "text");
129131 ok($parsed[7][1], "&hearts Love \xE2\x99\xA5");
130132 ok($parsed[7][2], "\x{2665} Love \xE2\x99\xA5"); # expected garbage
137139 open($fh, "<:utf8", $file) || die;
138140 $p->parse_file($fh);
139141 ok(@parsed, "11");
142 ok($parsed[6][0], "start");
143 ok($parsed[6][8]{id}, "\x{2665}\x{2665}");
140144 ok($parsed[7][0], "text");
141145 ok($parsed[7][1], "&hearts Love \x{2665}");
142146 ok($parsed[7][2], "\x{2665} Love \x{2665}");
143 ok($parsed[10][3], (-s $file) - 3 * 2);
147 ok($parsed[10][3], (-s $file) - 2 * 4);
144148 ok(@warn, 0);
145149
150 @warn = ();
151 @parsed = ();
152 open($fh, "<:raw", $file) || die;
153 $p->utf8_mode(1);
154 $p->parse_file($fh);
155 ok(@parsed, "11");
156 ok($parsed[6][0], "start");
157 ok($parsed[6][8]{id}, "\x{2665}\x{2665}");
158 ok($parsed[7][0], "text");
159 ok($parsed[7][1], "&hearts Love \xE2\x99\xA5");
160 ok($parsed[7][2], "\x{2665} Love \x{2665}");
161 ok($parsed[10][3], -s $file);
162 ok(@warn, 0);
163
164
146165 unlink($file);