podcheck.t: tell the author where the problems db is located
[perl.git] / cpan / podlators / t / man-heading.t
1 #!/usr/bin/perl -w
2 #
3 # man-options.t -- Additional tests for Pod::Man options.
4 #
5 # Copyright 2002, 2004, 2006, 2008, 2009, 2012 Russ Allbery <rra@stanford.edu>
6 #
7 # This program is free software; you may redistribute it and/or modify it
8 # under the same terms as Perl itself.
9
10 BEGIN {
11     chdir 't' if -d 't';
12     if ($ENV{PERL_CORE}) {
13         @INC = '../lib';
14     }
15     unshift (@INC, '../blib/lib');
16     $| = 1;
17 }
18
19 use strict;
20
21 use Test::More tests => 7;
22 BEGIN { use_ok ('Pod::Man') }
23
24 my $n = 1;
25 while (<DATA>) {
26     my %options;
27     next until $_ eq "###\n";
28     while (<DATA>) {
29         last if $_ eq "###\n";
30         my ($option, $value) = split (' ', $_, 2);
31         chomp $value;
32         $options{$option} = $value;
33     }
34     open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
35     print TMP "=head1 NAME\n\ntest - Test man page\n";
36     close TMP;
37     my $parser = Pod::Man->new (%options);
38     isa_ok ($parser, 'Pod::Man', 'Parser object');
39     open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
40     $parser->parse_from_file ('tmp.pod', \*OUT);
41     close OUT;
42     open (TMP, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
43     my $heading;
44     while (<TMP>) {
45         if (/^\.TH/) {
46             $heading = $_;
47             last;
48         }
49     }
50     close TMP;
51     1 while unlink ('tmp.pod', "out$$.tmp");
52     my $expected = '';
53     while (<DATA>) {
54         last if $_ eq "###\n";
55         $expected .= $_;
56     }
57     is ($heading, $expected, "Heading is correct for test $n");
58     $n++;
59 }
60
61 # Below the marker are sets of options and the corresponding expected .TH line
62 # from the man page.  This is used to test specific features or problems with
63 # Pod::Man.  The options and output are separated by lines containing only
64 # ###.
65
66 __DATA__
67
68 ###
69 date 2009-01-17
70 release 1.0
71 ###
72 .TH TMP 1 "2009-01-17" "1.0" "User Contributed Perl Documentation"
73 ###
74
75 ###
76 date 2009-01-17
77 name TEST
78 section 8
79 release 2.0-beta
80 ###
81 .TH TEST 8 "2009-01-17" "2.0-beta" "User Contributed Perl Documentation"
82 ###
83
84 ###
85 date 2009-01-17
86 release 1.0
87 center Testing Documentation
88 ###
89 .TH TMP 1 "2009-01-17" "1.0" "Testing Documentation"
90 ###