pod for everything
[gitmo/MooseX-ClassAttribute.git] / t / pod-coverage.t
index 4005e5e..105d648 100644 (file)
@@ -3,12 +3,38 @@ use warnings;
 
 use Test::More;
 
+eval "use Test::Pod::Coverage 1.04";
+plan skip_all => "Test::Pod::Coverage 1.04 required for testing POD coverage" if $@;
 
-plan skip_all => 'This test is only run for the module author'
-    unless -d '.svn' || $ENV{IS_MAINTAINER};
+# This is a stripped down version of all_pod_coverage_ok which lets us
+# vary the trustme parameter per module.
+my @modules = all_modules();
+plan tests => scalar @modules;
 
-eval "use Test::Pod::Coverage 1.04";
-plan skip_all => "Test::Pod::Coverage 1.04 required for testing POD coverage"
-    if $@;
+my %trustme =
+    ( 'MooseX::ClassAttribute'                         => [ 'init_meta', 'class_has' ],
+      'MooseX::ClassAttribute::Meta::Method::Accessor' => qr/.+/,
+    );
+
+for my $module ( sort @modules )
+{
+    my $trustme;
+
+    if ( $trustme{$module} )
+    {
+        # why is qr// not a ref?
+        if ( ! ref $trustme{module} )
+        {
+            $trustme = [ $trustme{module} ]
+        }
+        else
+        {
+            my $methods = join '|', @{ $trustme{$module} };
+            $trustme = [ qr/^(?:$methods)/ ];
+        }
+    }
 
-all_pod_coverage_ok( { trustme => [ qr/^(?:class_has|process_class_attribute|container_class|unimport)$/ ] } );
+    pod_coverage_ok( $module, { trustme => $trustme },
+                     "Pod coverage for $module"
+                   );
+}