1# t/eol2.t - check handling of \r, \n, and \r\n as line separators (again) 2 3use strict; 4use warnings; 5use Test::More tests => 7; 6 7use_ok('Pod::Simple::XHTML') or exit; 8 9open(POD, ">$$.pod") or die "$$.pod: $!"; 10print POD <<__EOF__; 11=pod 12 13=head1 NAME 14 15crlf 16 17=head1 DESCRIPTION 18 19crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf 20crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf 21crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf 22crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf 23 24 crlf crlf crlf crlf 25 crlf crlf crlf crlf 26 crlf crlf crlf crlf 27 28crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf 29crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf 30crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf 31crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf 32 33=cut 34__EOF__ 35close(POD); 36 37# --- CR --- 38 39my $p1 = Pod::Simple::XHTML->new (); 40isa_ok ($p1, 'Pod::Simple::XHTML'); 41 42open(POD, "<$$.pod") or die "$$.pod: $!"; 43my $i1 = ''; 44while (<POD>) { 45 s/[\r\n]+/\r/g; 46 $i1 .= $_; 47} 48close(POD); 49 50$p1->output_string(\my $o1); 51$p1->parse_string_document($i1); 52 53# --- LF --- 54 55my $p2 = Pod::Simple::XHTML->new (); 56isa_ok ($p2, 'Pod::Simple::XHTML'); 57 58open(POD, "<$$.pod") or die "$$.pod: $!"; 59my $i2 = ''; 60while (<POD>) { 61 s/[\r\n]+/\n/g; 62 $i2 .= $_; 63} 64close(POD); 65 66$p2->output_string(\my $o2); 67$p2->parse_string_document($i2); 68 69# --- CRLF --- 70 71my $p3 = Pod::Simple::XHTML->new (); 72isa_ok ($p3, 'Pod::Simple::XHTML'); 73 74open(POD, "<$$.pod") or die "$$.pod: $!"; 75my $i3 = ''; 76while (<POD>) { 77 s/[\r\n]+/\r\n/g; 78 $i3 .= $_; 79} 80close(POD); 81 82$p3->output_string(\my $o3); 83$p3->parse_string_document($i3); 84 85# --- now test --- 86 87my $cksum1 = unpack("%32C*", $o1); 88my $cksum2 = unpack("%32C*", $o2); 89my $cksum3 = unpack("%32C*", $o3); 90 91ok($cksum1 == $cksum2, "CR vs LF"); 92ok($cksum1 == $cksum3, "CR vs CRLF"); 93ok($cksum2 == $cksum3, "LF vs CRLF"); 94 95END { 96 1 while unlink("$$.pod", "$$.in"); 97} 98