use strict;
use warnings;
use Test::More;
# Ensure a recent version of Test::Pod::Coverage
my $min_tpc = 1.08;
eval "use Test::Pod::Coverage $min_tpc";
plan skip_all =>
"Test::Pod::Coverage $min_tpc required for testing POD coverage"
if $@;
# Test::Pod::Coverage doesn't require a minimum Pod::Coverage version,
# but older versions don't recognize some common documentation styles
my $min_pc = 0.18;
eval "use Pod::Coverage $min_pc";
plan skip_all => "Pod::Coverage $min_pc required for testing POD coverage"
if $@;
my @drivers;
my @modules
= grep { $_ ne 'Test::Database' }
grep { !/Driver::/ or push @drivers, $_ and 0 } all_modules();
plan tests => @modules + @drivers + 1;
# Test::Database exports are not documented
pod_coverage_ok( 'Test::Database', { trustme => [qr/^test_db_\w+$/] } );
# no exception for those modules
pod_coverage_ok($_) for @modules;
# the drivers methods are documented Test::Database::Driver
pod_coverage_ok(
$_,
{ trustme => [
qr/^(?:(?:create|drop)_database|databases|dsn|is_filebased|cleanup|essentials)$/
]
}
) for @drivers;