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