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