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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
|
# files which have triggered bugs
#########################
use Test::More tests => 2;
use HTML::TextToHTML;
#########################
# compare two files
sub compare {
my $file1 = shift;
my $file2 = shift;
if (!open(F1, $file1))
{
print "error - $file1 did not open\n";
return 0;
}
if (!open(F2, $file2))
{
print "error - $file2 did not open\n";
return 0;
}
my $res = 1;
my $count = 0;
while (<F1>)
{
$count++;
my $comp1 = $_;
# remove newline/carriage return (in case these are not both Unix)
$comp1 =~ s/\n//;
$comp1 =~ s/\r//;
my $comp2 = <F2>;
# check if F2 has less lines than F1
if (!defined $comp2)
{
print "error - line $count does not exist in $file2\n $file1 : $comp1\n";
close(F1);
close(F2);
return 0;
}
# remove newline/carriage return
$comp2 =~ s/\n//;
$comp2 =~ s/\r//;
if ($comp1 ne $comp2)
{
print "error - line $count not equal\n $file1 : $comp1\n $file2 : $comp2\n";
close(F1);
close(F2);
return 0;
}
}
close(F1);
# check if F2 has more lines than F1
if (defined($comp2 = <F2>))
{
$comp2 =~ s/\n//;
$comp2 =~ s/\r//;
print "error - extra line in $file2 : '$comp2'\n";
$res = 0;
}
close(F2);
return $res;
}
#-----------------------------------------------------------------
my $conv = new HTML::TextToHTML();
#
# bugs : make_tables
#
$result = $conv->txt2html(
system_link_dict=>"txt2html.dict",
default_link_dict=>"",
make_tables=>1,
infile=>["tfiles/robo.txt"],
outfile=>"robo.html",
custom_heading_regexp=>[],
#debug=>1,
#dict_debug=>15,
);
ok($result, 'converted robo.txt');
# compare the files
$result = compare('tfiles/good_robo.html', 'robo.html');
ok($result, 'test file matches original example exactly');
if ($result) {
unlink('robo.html');
}
|