podcheck.t: tell the author where the problems db is located
[perl.git] / cpan / podlators / t / text.t
1 #!/usr/bin/perl -w
2 #
3 # text.t -- Additional specialized tests for Pod::Text.
4 #
5 # Copyright 2002, 2004, 2006, 2007, 2008, 2009, 2012
6 #     Russ Allbery <rra@stanford.edu>
7 #
8 # This program is free software; you may redistribute it and/or modify it
9 # under the same terms as Perl itself.
10
11 BEGIN {
12     chdir 't' if -d 't';
13     if ($ENV{PERL_CORE}) {
14         @INC = '../lib';
15     }
16     unshift (@INC, '../blib/lib');
17     $| = 1;
18 }
19
20 use strict;
21
22 use Pod::Simple;
23 use Test::More tests => 9;
24 BEGIN { use_ok ('Pod::Text') }
25
26 my $parser = Pod::Text->new;
27 isa_ok ($parser, 'Pod::Text', 'Parser object');
28 my $n = 1;
29 while (<DATA>) {
30     next until $_ eq "###\n";
31     open (TMP, "> tmp$$.pod") or die "Cannot create tmp$$.pod: $!\n";
32     while (<DATA>) {
33         last if $_ eq "###\n";
34         print TMP $_;
35     }
36     close TMP;
37     open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
38     $parser->parse_from_file ("tmp$$.pod", \*OUT);
39     close OUT;
40     open (TMP, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
41     my $output;
42     {
43         local $/;
44         $output = <TMP>;
45     }
46     close TMP;
47     1 while unlink ("tmp$$.pod", "out$$.tmp");
48     my $expected = '';
49     while (<DATA>) {
50         last if $_ eq "###\n";
51         $expected .= $_;
52     }
53     is ($output, $expected, "Output correct for test $n");
54     $n++;
55 }
56
57 # Below the marker are bits of POD and corresponding expected text output.
58 # This is used to test specific features or problems with Pod::Text.  The
59 # input and output are separated by lines containing only ###.
60
61 __DATA__
62
63 ###
64 =head1 PERIODS
65
66 This C<.> should be quoted.
67 ###
68 PERIODS
69     This "." should be quoted.
70
71 ###
72
73 ###
74 =head1 CE<lt>E<gt> WITH SPACES
75
76 What does C<<  this.  >> end up looking like?
77 ###
78 C<> WITH SPACES
79     What does "this." end up looking like?
80
81 ###
82
83 ###
84 =head1 Test of SE<lt>E<gt>
85
86 This is some S<  > whitespace.
87 ###
88 Test of S<>
89     This is some    whitespace.
90
91 ###
92
93 ###
94 =head1 Test of =for
95
96 =for comment
97 This won't be seen.
98
99 Yes.
100
101 =for text
102 This should be seen.
103
104 =for TEXT As should this.
105
106 =for man
107 But this shouldn't.
108
109 Some more text.
110 ###
111 Test of =for
112     Yes.
113
114 This should be seen.
115 As should this.
116     Some more text.
117
118 ###
119
120 ###
121 =pod
122
123 text
124
125   line1
126   
127   line3
128 ###
129     text
130
131       line1
132   
133       line3
134
135 ###
136
137 ###
138 =head1 LINK TO URL
139
140 This is a L<link|http://www.example.com/> to a URL.
141 ###
142 LINK TO URL
143     This is a link <http://www.example.com/> to a URL.
144
145 ###
146
147 ###
148 =head1 RT LINK
149
150 L<[perl #12345]|https://rt.cpan.org/12345>
151 ###
152 RT LINK
153     [perl #12345] <https://rt.cpan.org/12345>
154
155 ###