#!/usr/bin/perl # # Additional tests for Pod::Man heading generation. # # Copyright 2002, 2004, 2006, 2008-2009, 2012, 2015, 2018-2019 # Russ Allbery # # This program is free software; you may redistribute it and/or modify it # under the same terms as Perl itself. # # SPDX-License-Identifier: GPL-1.0-or-later OR Artistic-1.0-Perl use 5.008; use strict; use warnings; use lib 't/lib'; use Test::More tests => 9; use Test::Podlators qw(read_test_data); BEGIN { use_ok('Pod::Man'); } # Loop through all the test data, generate output, and compare it to the # desired output data. while (defined(my $data = read_test_data(\*DATA, { options => 1 }))) { my $parser = Pod::Man->new(%{ $data->{options} }); isa_ok($parser, 'Pod::Man', 'Parser object'); # Run the parser, storing the output into a Perl variable. my $got; $parser->output_string(\$got); $parser->parse_string_document($data->{input}); # Extract just the heading line. my ($heading) = ($got =~ m{^ ([.]TH [^\n]+ \n)}xms); # Compare the results. is($heading, $data->{output}); } # Below the marker are sets of options, the input data, and the corresponding # expected .TH line from the man page. The options and output are separated # by lines containing only ###. __DATA__ ### date 2009-01-17 release 1.0 ### =head1 NAME test - Test man page ### .TH STDIN 1 "2009-01-17" "1.0" "User Contributed Perl Documentation" ### ### date 2009-01-17 name TEST section 8 release 2.0-beta ### =head1 NAME test - Test man page ### .TH TEST 8 "2009-01-17" "2.0-beta" "User Contributed Perl Documentation" ### ### date 2009-01-17 release 1.0 center Testing Documentation ### =head1 NAME test - Test man page ### .TH STDIN 1 "2009-01-17" "1.0" "Testing Documentation" ### ### date release center ### =head1 NAME test - Test man page ### .TH STDIN 1 "" "" "" ###