This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
new perldelta
[perl5.git] / cpan / Pod-Simple / t / eol2.t
CommitLineData
60527824
FR
1# t/eol2.t - check handling of \r, \n, and \r\n as line separators (again)
2
643dfa47 3use strict;
3afe1500 4use warnings;
60527824
FR
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}