Can't specify prereq version with require
[gitmo/MooseX-ClassAttribute.git] / xt / release / pod-coverage.t
1 use strict;
2 use warnings;
3
4 use Test::More;
5
6 use Test::Requires {
7     'Test::Pod::Coverage' => '1.04', # skip all if not installed
8 };
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::Role::Attribute'  => ['new'],
18     'MooseX::ClassAttribute::Trait::Class' =>
19         ['compute_all_applicable_class_attributes'],
20     'MooseX::ClassAttribute::Trait::Role' =>
21         ['composition_class_roles'],
22     'MooseX::ClassAttribute::Trait::Mixin::HasClassAttributes' => [
23         qw( add_class_attribute get_class_attribute_map remove_class_attribute )
24     ],
25 );
26
27 for my $module ( sort @modules ) {
28     my $trustme;
29
30     if ( $trustme{$module} ) {
31         my $methods = join '|', @{ $trustme{$module} };
32         $trustme = [qr/^(?:$methods)/];
33     }
34
35     pod_coverage_ok(
36         $module, { trustme => $trustme },
37         "Pod coverage for $module"
38     );
39 }