Update podlators to version 4.03
[perl.git] / cpan / podlators / t / man / heading.t
1 #!/usr/bin/perl
2 #
3 # Additional tests for Pod::Man heading generation.
4 #
5 # Copyright 2002, 2004, 2006, 2008, 2009, 2012, 2015
6 #     Russ Allbery <rra@cpan.org>
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 use 5.006;
12 use strict;
13 use warnings;
14
15 use lib 't/lib';
16
17 use Test::More tests => 9;
18 use Test::Podlators qw(read_test_data);
19
20 BEGIN {
21     use_ok('Pod::Man');
22 }
23
24 # Loop through all the test data, generate output, and compare it to the
25 # desired output data.
26 while (defined(my $data = read_test_data(\*DATA, { options => 1 }))) {
27     my $parser = Pod::Man->new(%{ $data->{options} });
28     isa_ok($parser, 'Pod::Man', 'Parser object');
29
30     # Run the parser, storing the output into a Perl variable.
31     my $got;
32     $parser->output_string(\$got);
33     $parser->parse_string_document($data->{input});
34
35     # Extract just the heading line.
36     my ($heading) = ($got =~ m{^ ([.]TH [^\n]+ \n)}xms);
37
38     # Compare the results.
39     is($heading, $data->{output});
40 }
41
42 # Below the marker are sets of options, the input data, and the corresponding
43 # expected .TH line from the man page.  The options and output are separated
44 # by lines containing only ###.
45
46 __DATA__
47
48 ###
49 date 2009-01-17
50 release 1.0
51 ###
52 =head1 NAME
53
54 test - Test man page
55 ###
56 .TH STDIN 1 "2009-01-17" "1.0" "User Contributed Perl Documentation"
57 ###
58
59 ###
60 date 2009-01-17
61 name TEST
62 section 8
63 release 2.0-beta
64 ###
65 =head1 NAME
66
67 test - Test man page
68 ###
69 .TH TEST 8 "2009-01-17" "2.0-beta" "User Contributed Perl Documentation"
70 ###
71
72 ###
73 date 2009-01-17
74 release 1.0
75 center Testing Documentation
76 ###
77 =head1 NAME
78
79 test - Test man page
80 ###
81 .TH STDIN 1 "2009-01-17" "1.0" "Testing Documentation"
82 ###
83
84 ###
85 date
86 release
87 center
88 ###
89 =head1 NAME
90
91 test - Test man page
92 ###
93 .TH STDIN 1 "" "" ""
94 ###