Plan the tests
[gitmo/MooseX-ClassAttribute.git] / t / 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" if $@;
8
9 # This is a stripped down version of all_pod_coverage_ok which lets us
10 # vary the trustme parameter per module.
11 my @modules = all_modules();
12 plan tests => scalar @modules;
13
14 my %trustme =
15     ( 'MooseX::ClassAttribute'                         => [ 'init_meta', 'class_has' ],
16       'MooseX::ClassAttribute::Meta::Method::Accessor' => qr/.+/,
17     );
18
19 for 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     }
36
37     pod_coverage_ok( $module, { trustme => $trustme },
38                      "Pod coverage for $module"
39                    );
40 }