Test::P...Coverage(3)

πŸ’– NAME πŸ’–

Okay bestie, welcome to the Test::Pod::Coverage(3) manpage, straight out of the User Contributed Perl Documentation pile. The NAME says it all: Test::Pod::Coverage β€” check for pod coverage in your distribution. That's the whole assignment, periodt. πŸŽ€

✨ VERSION ✨

Version 1.10. That's the version, no cap. πŸ’…

πŸ¦‹ SYNOPSIS πŸ¦‹

Drop this in one of your dist's test files (eg t/pod-coverage.t):

use Test::Pod::Coverage tests=>1;
pod_coverage_ok( "Foo::Bar", "Foo::Bar is covered" );

🌸 DESCRIPTION 🌸

Test::Pod::Coverage is the little test-maker for your distribution: it makes sure all the relevant files in your distribution are appropriately documented in pod. Literally its whole personality. ✨

It can also be called with Pod::Coverage parms. Like this:

use Test::Pod::Coverage tests=>1;
pod_coverage_ok(
    "Foo::Bar",
    { also_private => [ qr/^[A-Z_]+$/ ], },
    "Foo::Bar, with all-caps functions as privates",
);

Those Pod::Coverage parms are also useful for subclasses that don't re-document the parent class's methods. Here's an example from Mail::SRS:

pod_coverage_ok( "Mail::SRS" ); # No exceptions

# Define the three overridden methods.
my $trustme = { trustme => [qr/^(new|parse|compile)$/] };
pod_coverage_ok( "Mail::SRS::DB", $trustme );
pod_coverage_ok( "Mail::SRS::Guarded", $trustme );
pod_coverage_ok( "Mail::SRS::Reversable", $trustme );
pod_coverage_ok( "Mail::SRS::Shortcut", $trustme );

Alternately, you could use Pod::Coverage::CountParents, which always allows a subclass to reimplement its parents' methods without redocumenting them. For example:

my $trustparents = { coverage_class => 'Pod::Coverage::CountParents' };
pod_coverage_ok( "IO::Handle::Frayed", $trustparents );
Caveat bestie: the coverage_class parameter is not passed to the coverage class with other parameters. Important little detail, iykyk. πŸ‘‘

If you want POD coverage for your module but don't want to make Test::Pod::Coverage a prerequisite for installing, create the following as your t/pod-coverage.t file:

use Test::More;
eval "use Test::Pod::Coverage";
plan skip_all => "Test::Pod::Coverage required for testing pod coverage" if $@;

plan tests => 1;
pod_coverage_ok( "Pod::Master::Html");

Finally, module authors can include the following in a t/pod-coverage.t file and have Test::Pod::Coverage automatically find and check all modules in the module distribution:

use Test::More;
eval "use Test::Pod::Coverage 1.00";
plan skip_all => "Test::Pod::Coverage 1.00 required for testing POD coverage" if $@;
all_pod_coverage_ok();

πŸ’… FUNCTIONS πŸ’…

All functions listed below are exported to the calling namespace. Yes bestie, they show up in your namespace ready to go. 🫢

πŸŽ€ all_pod_coverage_ok( [$parms, ] $msg ) πŸŽ€

Checks that the POD code in all modules in the distro have proper POD coverage.

If the $parms hashref is passed in, it gets passed into the Pod::Coverage object that the function uses. Check the Pod::Coverage manual for what those can be.

The exception is the coverage_class parameter, which specifies a class to use for coverage testing. It defaults to Pod::Coverage.

πŸŽ€ pod_coverage_ok( $module, [$parms, ] $msg ) πŸŽ€

Checks that the POD code in $module has proper POD coverage.

If the $parms hashref is passed in, it gets passed into the Pod::Coverage object that the function uses. Check the Pod::Coverage manual for what those can be.

The exception is the coverage_class parameter, which specifies a class to use for coverage testing. It defaults to Pod::Coverage.

πŸŽ€ all_modules( [@dirs] ) πŸŽ€

Returns a list of all modules in $dir and in directories below. If no directories are passed, it defaults to blib if blib exists, or lib if not.

Note that the modules are as Foo::Bar, not Foo/Bar.pm.

The order of the files returned is machine-dependent. If you want them sorted, you'll have to sort them yourself. That's a you-problem, bestie. 😭

πŸ’€ BUGS πŸ’€

Please report any bugs or feature requests to bug-test-pod-coverage at rt.cpan.org, or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Pod-Coverage>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

🌈 SUPPORT 🌈

You can find documentation for this module with the perldoc command.

perldoc Test::Pod::Coverage

You can also look for information at:

πŸ¦‹ REPOSITORY πŸ¦‹

<https://github.com/neilbowers/Test-Pod-Coverage>

πŸ‘‘ AUTHOR πŸ‘‘

Written by Andy Lester, <andy at petdance.com>.

πŸ’– ACKNOWLEDGEMENTS πŸ’–

Thanks to Ricardo Signes for patches, and Richard Clamp for writing Pod::Coverage. Iconic collab behavior. ✨

Copyright 2006, Andy Lester, All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License version 2.0.

See http://dev.perl.org/licenses/ for more information


And that's the footer situation, fr fr: perl v5.42.0, 2014-07-25, Test::P...Coverage(3). Bye bestie, go get that pod coverage πŸ’…πŸ«ΆπŸŒΈ

πŸ“¦ where this page comes from