Commit | Line | Data |
4dee0fd3 |
1 | use strict; |
2 | use warnings; |
3 | |
4 | use Test::More; |
5 | |
a6527818 |
6 | plan skip_all => 'This test is only run for the module author' |
935486ef |
7 | unless -d '.git' || $ENV{IS_MAINTAINER}; |
a6527818 |
8 | |
7a4a3b1e |
9 | eval "use Test::Pod::Coverage 1.04"; |
a6527818 |
10 | plan skip_all => "Test::Pod::Coverage 1.04 required for testing POD coverage" |
11 | if $@; |
4dee0fd3 |
12 | |
7a4a3b1e |
13 | # This is a stripped down version of all_pod_coverage_ok which lets us |
14 | # vary the trustme parameter per module. |
15 | my @modules = all_modules(); |
16 | plan tests => scalar @modules; |
4dee0fd3 |
17 | |
7ce70009 |
18 | my %trustme = ( |
19 | 'MooseX::ClassAttribute' => [ 'init_meta', 'class_has' ], |
4cbcd0f0 |
20 | 'MooseX::ClassAttribute::Meta::Method::Accessor' => ['.+'], |
21 | 'MooseX::ClassAttribute::Meta::Role::Attribute' => ['new'], |
7ce70009 |
22 | 'MooseX::ClassAttribute::Trait::Class' => |
23 | ['compute_all_applicable_class_attributes'], |
4cbcd0f0 |
24 | 'MooseX::ClassAttribute::Trait::Mixin::HasClassAttributes' => [ |
25 | qw( add_class_attribute get_class_attribute_map remove_class_attribute ) |
26 | ], |
7ce70009 |
27 | ); |
28 | |
29 | for my $module ( sort @modules ) { |
7a4a3b1e |
30 | my $trustme; |
31 | |
7ce70009 |
32 | if ( $trustme{$module} ) { |
5761254f |
33 | my $methods = join '|', @{ $trustme{$module} }; |
7ce70009 |
34 | $trustme = [qr/^(?:$methods)/]; |
7a4a3b1e |
35 | } |
4dee0fd3 |
36 | |
7ce70009 |
37 | pod_coverage_ok( |
38 | $module, { trustme => $trustme }, |
39 | "Pod coverage for $module" |
40 | ); |
7a4a3b1e |
41 | } |