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