Commit | Line | Data |
---|---|---|
60527824 FR |
1 | #!/usr/bin/perl |
2 | ||
3 | # t/eol.t - check handling of \r, \n, and \r\n as line separators | |
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 | open(IN, ">$$.in") or die "$$.in: $!"; | |
51 | while (<POD>) { | |
52 | s/[\r\n]+/\r/g; | |
53 | print IN $_; | |
54 | } | |
55 | close(POD); | |
56 | close(IN); | |
57 | ||
58 | $p1->output_string(\my $o1); | |
59 | $p1->parse_file("$$.in"); | |
60 | ||
61 | # --- LF --- | |
62 | ||
63 | my $p2 = Pod::Simple::XHTML->new (); | |
64 | isa_ok ($p2, 'Pod::Simple::XHTML'); | |
65 | ||
66 | open(POD, "<$$.pod") or die "$$.pod: $!"; | |
67 | open(IN, ">$$.in") or die "$$.in: $!"; | |
68 | while (<POD>) { | |
69 | s/[\r\n]+/\n/g; | |
70 | print IN $_; | |
71 | } | |
72 | close(POD); | |
73 | close(IN); | |
74 | ||
75 | $p2->output_string(\my $o2); | |
76 | $p2->parse_file("$$.in"); | |
77 | ||
78 | # --- CRLF --- | |
79 | ||
80 | my $p3 = Pod::Simple::XHTML->new (); | |
81 | isa_ok ($p3, 'Pod::Simple::XHTML'); | |
82 | ||
83 | open(POD, "<$$.pod") or die "$$.pod: $!"; | |
84 | open(IN, ">$$.in") or die "$$.in: $!"; | |
85 | while (<POD>) { | |
86 | s/[\r\n]+/\r\n/g; | |
87 | print IN $_; | |
88 | } | |
89 | close(POD); | |
90 | close(IN); | |
91 | ||
92 | $p3->output_string(\my $o3); | |
93 | $p3->parse_file("$$.in"); | |
94 | ||
95 | # --- now test --- | |
96 | ||
97 | my $cksum1 = unpack("%32C*", $o1); | |
98 | my $cksum2 = unpack("%32C*", $o2); | |
99 | my $cksum3 = unpack("%32C*", $o3); | |
100 | ||
101 | ok($cksum1 == $cksum2, "CR vs LF"); | |
102 | ok($cksum1 == $cksum3, "CR vs CRLF"); | |
103 | ok($cksum2 == $cksum3, "LF vs CRLF"); | |
104 | ||
105 | END { | |
106 | 1 while unlink("$$.pod", "$$.in"); | |
107 | } |