The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Pod::Coverage::Careful - more careful subclass of Pod::Coverage

SYNOPSIS

 use Test::Pod::Coverage 1.08;
 use Pod::Coverage::Careful;

 pod_coverage_ok(
     "Some::Module",
     {
        coverage_class => "Pod::Coverage::Careful",
     },
     "improved pod coverage on Some::Module",
 );

DESCRIPTION

This module carefully subclasses Pod::Coverage to override its idea of which subs need to be documented. This catches several important cases that it misses.

The Pod::Coverage module doesn't count subs that appear to be imported as ones needing documentation. However, this also exempts subs that were generated dynamically, such as:

    for my $color (qw(red blue green)) {
        no strict "refs";
        *$color = sub { print "I like $color.\n" };
    }

By supplying "pod_coverage_ok" in Test::Pod::Coverage with a coverage_class of "Pod::Coverage::Careful", those generated functions will now show up as in need of pod.

It also finds cases where subs are created by aliasing an old one of a different name:

    *new_sub = \&old_sub;

This is true whether the alias is created form a sub in this same package, or if you're importing one of a different name.

One imports that are the same name as what they import are still exempted from pod requirements.

BUGS AND RESTRICTIONS

None noted.

SEE ALSO

Pod::Coverage

Checks if the documentation of a module is comprehensive.

Test::Pod::Coverage

Check for pod coverage in your distribution.

AUTHOR

Tom Christiansen <tchrist@perl.com>

LICENCE AND COPYRIGHT

Copyright (c) 2016, Tom Christiansen <tchrist@perl.com>. All Rights Reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.