summaryrefslogtreecommitdiff
path: root/t/compiles_pod.t
diff options
context:
space:
mode:
Diffstat (limited to 't/compiles_pod.t')
-rw-r--r--t/compiles_pod.t42
1 files changed, 42 insertions, 0 deletions
diff --git a/t/compiles_pod.t b/t/compiles_pod.t
new file mode 100644
index 0000000..076d016
--- /dev/null
+++ b/t/compiles_pod.t
@@ -0,0 +1,42 @@
+#!perl
+
+use strict;
+use warnings;
+
+use Test::More;
+use File::Find;
+
+if(($ENV{HARNESS_PERL_SWITCHES} || '') =~ /Devel::Cover/) {
+ plan skip_all => 'HARNESS_PERL_SWITCHES =~ /Devel::Cover/';
+}
+if(!eval 'use Test::Pod; 1') {
+ *Test::Pod::pod_file_ok = sub { SKIP: { skip "pod_file_ok(@_) (Test::Pod is required)", 1 } };
+}
+if(!eval 'use Test::Pod::Coverage; 1') {
+ *Test::Pod::Coverage::pod_coverage_ok = sub { SKIP: { skip "pod_coverage_ok(@_) (Test::Pod::Coverage is required)", 1 } };
+}
+
+my @files;
+
+find(
+ {
+ wanted => sub { /\.pm$/ and push @files, $File::Find::name },
+ no_chdir => 1
+ },
+ -e 'blib' ? 'blib' : 'lib',
+);
+
+plan tests => @files * 3;
+
+for my $file (@files) {
+ my $module = $file; $module =~ s,\.pm$,,; $module =~ s,.*/?lib/,,; $module =~ s,/,::,g;
+ ok eval "use $module; 1", "use $module" or diag $@;
+ Test::Pod::pod_file_ok($file);
+ TODO: {
+ # not enough POD coverage yet by a long way, also the nature
+ # of CGI.pm at present (most subs eval'd as strings) means
+ # this test isn't that much use - so mark as TODO for now
+ local $TODO = 'POD coverage';
+ Test::Pod::Coverage::pod_coverage_ok($module);
+ }
+}