privatize apply_class_attributes and update pod coverage exclusions
[gitmo/MooseX-ClassAttribute.git] / xt / pod-coverage.t
CommitLineData
4dee0fd3 1use strict;
2use warnings;
3
4use Test::More;
5
a6527818 6plan skip_all => 'This test is only run for the module author'
935486ef 7 unless -d '.git' || $ENV{IS_MAINTAINER};
a6527818 8
7a4a3b1e 9eval "use Test::Pod::Coverage 1.04";
a6527818 10plan 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.
15my @modules = all_modules();
16plan tests => scalar @modules;
4dee0fd3 17
7ce70009 18my %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
29for 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}