perl/cpan/Pod-Simple/t/eol.t

108 lines
2.2 KiB
Perl

#!/usr/bin/perl
# t/eol.t - check handling of \r, \n, and \r\n as line separators
BEGIN {
chdir 't' if -d 't';
}
use warnings;
use strict;
use lib '../lib';
use Test::More tests => 7;
use_ok('Pod::Simple::XHTML') or exit;
open(POD, ">$$.pod") or die "$$.pod: $!";
print POD <<__EOF__;
=pod
=head1 NAME
crlf
=head1 DESCRIPTION
crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf
crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf
crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf
crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf
crlf crlf crlf crlf
crlf crlf crlf crlf
crlf crlf crlf crlf
crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf
crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf
crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf
crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf crlf
=cut
__EOF__
close(POD);
# --- CR ---
my $p1 = Pod::Simple::XHTML->new ();
isa_ok ($p1, 'Pod::Simple::XHTML');
open(POD, "<$$.pod") or die "$$.pod: $!";
open(IN, ">$$.in") or die "$$.in: $!";
while (<POD>) {
s/[\r\n]+/\r/g;
print IN $_;
}
close(POD);
close(IN);
$p1->output_string(\my $o1);
$p1->parse_file("$$.in");
# --- LF ---
my $p2 = Pod::Simple::XHTML->new ();
isa_ok ($p2, 'Pod::Simple::XHTML');
open(POD, "<$$.pod") or die "$$.pod: $!";
open(IN, ">$$.in") or die "$$.in: $!";
while (<POD>) {
s/[\r\n]+/\n/g;
print IN $_;
}
close(POD);
close(IN);
$p2->output_string(\my $o2);
$p2->parse_file("$$.in");
# --- CRLF ---
my $p3 = Pod::Simple::XHTML->new ();
isa_ok ($p3, 'Pod::Simple::XHTML');
open(POD, "<$$.pod") or die "$$.pod: $!";
open(IN, ">$$.in") or die "$$.in: $!";
while (<POD>) {
s/[\r\n]+/\r\n/g;
print IN $_;
}
close(POD);
close(IN);
$p3->output_string(\my $o3);
$p3->parse_file("$$.in");
# --- now test ---
my $cksum1 = unpack("%32C*", $o1);
my $cksum2 = unpack("%32C*", $o2);
my $cksum3 = unpack("%32C*", $o3);
ok($cksum1 == $cksum2, "CR vs LF");
ok($cksum1 == $cksum3, "CR vs CRLF");
ok($cksum2 == $cksum3, "LF vs CRLF");
END {
1 while unlink("$$.pod", "$$.in");
}