pod for everything
[gitmo/MooseX-ClassAttribute.git] / t / pod-coverage.t
CommitLineData
4dee0fd3 1use strict;
2use warnings;
3
4use Test::More;
5
7a4a3b1e 6eval "use Test::Pod::Coverage 1.04";
7plan skip_all => "Test::Pod::Coverage 1.04 required for testing POD coverage" if $@;
4dee0fd3 8
7a4a3b1e 9# This is a stripped down version of all_pod_coverage_ok which lets us
10# vary the trustme parameter per module.
11my @modules = all_modules();
12plan tests => scalar @modules;
4dee0fd3 13
7a4a3b1e 14my %trustme =
15 ( 'MooseX::ClassAttribute' => [ 'init_meta', 'class_has' ],
16 'MooseX::ClassAttribute::Meta::Method::Accessor' => qr/.+/,
17 );
18
19for my $module ( sort @modules )
20{
21 my $trustme;
22
23 if ( $trustme{$module} )
24 {
25 # why is qr// not a ref?
26 if ( ! ref $trustme{module} )
27 {
28 $trustme = [ $trustme{module} ]
29 }
30 else
31 {
32 my $methods = join '|', @{ $trustme{$module} };
33 $trustme = [ qr/^(?:$methods)/ ];
34 }
35 }
4dee0fd3 36
7a4a3b1e 37 pod_coverage_ok( $module, { trustme => $trustme },
38 "Pod coverage for $module"
39 );
40}