File: clean-crash.t

package info (click to toggle)
libhtml-tidy5-perl 1.06-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 368 kB
  • sloc: perl: 1,853; makefile: 14
file content (42 lines) | stat: -rw-r--r-- 1,244 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/bin/perl -T

use 5.010001;
use warnings;
use strict;

# From a bug found by Aaron Patterson
#Full context and any attached attachments can be found at:
#<URL: https://rt.cpan.org/Ticket/Display.html?id=7254 >
#Here's a snippet of code to repro the bug, it produces an 'Illegal instruction' error

use Test::More tests => 2;

use HTML::Tidy5;

my $html = do { local $/ = undef; <DATA> };

my $tidy = HTML::Tidy5->new;
isa_ok( $tidy, 'HTML::Tidy5' );
$tidy->ignore( type => TIDY_INFO );
$tidy->clean( $html );

my @expected = split( /\n/, <<'HERE' );
(1:1) Warning: missing <!DOCTYPE> declaration
(1:1) Warning: inserting implicit <body>
(1:1) Warning: missing </form> before <td>
(2:1) Warning: inserting implicit <table>
(2:1) Warning: missing <tr>
(3:1) Error: discarding unexpected </form>
(2:1) Warning: missing </table>
(1:1) Warning: missing </form>
(1:1) Warning: inserting missing 'title' element
HERE
my @mess = map { $_ ? $_->as_string() : undef } $tidy->messages();
is_deeply( \@mess, \@expected, 'Messages match' );

exit 0;

__DATA__
<form action="http://www.alternation.net/cobra/index.pl">
<td><input name="random" type="image" value="random creature" src="http://www.creaturesinmyhead.com/images/random.gif"></td>
</form>