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
100
101
102
103
104
105
106
107
|
#!/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");
}
|