#!/usr/bin/perl
use_ok(
'Pod::Inherit'
);
my
$pi
= Pod::Inherit->new({
input_files
=>
'/this/does/not/exist.pm'
});
dies_ok(
sub
{
$pi
->write_pod() },
'Dies when we pass a non-existant file'
);
my
$pi_empty
= Pod::Inherit->new({
input_files
=> [] });
dies_ok(
sub
{
$pi_empty
->write_pod() },
'Dies when we pass an empty filelist'
);
my
$pi_override
= Pod::Inherit->new({
input_files
=> [
't/lib/OverrideSubClass.pm'
] });
$pi_override
->write_pod;
ok(!-e
't/lib/OverrideSubClass.pod'
,
"Doesn't produce unneeded pod for completely overridden base class"
);
SKIP: {
skip
"Moose not installed"
, 1
unless
Test::JMM::has_moose;
my
$pi_moose
= Pod::Inherit->new({
input_files
=> [
't/auxlib/MooseSub.pm'
] });
$pi_moose
->write_pod;
my
$output
=
do
{
local
(
@ARGV
, $/) =
"t/auxlib/MooseSub.pod"
; <> ||
'NO OUTPUT'
};
$output
=~ s/=item L<Moose::Object>\n\n(.+)/=item L<Moose::Object>\n\n(some methods here)/;
eq_or_diff(
$output
,
do
{
local
(
@ARGV
, $/) =
"t/baseline/auxlib/MooseSub.pod"
; <> ||
'NO BASELINE'
},
"MooseSub - Moose extends, existing POD - out_dir unset"
);
unlink
"t/auxlib/MooseSub.pod"
;
}
SKIP: {
skip
"Class::C3 not installed"
, 1
unless
Test::JMM::has_c3;
my
$pi_c3
= Pod::Inherit->new({
input_files
=> [
't/auxlib/ClassC3Sub.pm'
] });
$pi_c3
->write_pod;
eq_or_diff(
do
{
local
(
@ARGV
, $/) =
"t/auxlib/ClassC3Sub.pod"
; <> ||
'NO OUTPUT'
},
do
{
local
(
@ARGV
, $/) =
"t/baseline/auxlib/ClassC3Sub.pod"
; <> ||
'NO BASELINE'
},
'ClassC3Sub - "use base" Class::C3 class, existing POD - out_dir unset'
);
unlink
"t/auxlib/ClassC3Sub.pod"
;
}