NAME

Test::CleanNamespaces - Check for uncleaned imports

VERSION

version 0.24

SYNOPSIS

use strict;
use warnings;
use Test::CleanNamespaces;

all_namespaces_clean;

DESCRIPTION

This module lets you check your module's namespaces for imported functions you might have forgotten to remove with namespace::autoclean or namespace::clean and are therefore available to be called as methods, which usually isn't want you want.

FUNCTIONS

All functions are exported by default.

namespaces_clean

namespaces_clean('YourModule', 'AnotherModule');

Tests every specified namespace for uncleaned imports. If the module couldn't be loaded it will be skipped.

all_namespaces_clean

all_namespaces_clean;

Runs "namespaces_clean" for all modules in your distribution.

find_modules

my @modules = Test::CleanNamespaces->find_modules;

Returns a list of modules in the current distribution. It'll search in blib/, if it exists. lib/ will be searched otherwise.

builder

my $builder = Test::CleanNamespaces->builder;

Returns the Test::Builder used by the test functions.

KNOWN ISSUES

Uncleaned imports from Mouse classes are incompletely detected, due to its lack of ability to return the correct method list -- it assumes that all subs are meant to be callable as methods unless they originated from (were imported by) one of: Mouse, Mouse::Role, Mouse::Util, Mouse::Util::TypeConstraints, Carp, Scalar::Util, or List::Util.

SEE ALSO

SUPPORT

Bugs may be submitted through the RT bug tracker (or bug-Test-CleanNamespaces@rt.cpan.org).

There is also a mailing list available for users of this distribution, at http://lists.perl.org/list/perl-qa.html.

There is also an irc channel available for users of this distribution, at #perl on irc.perl.org.

AUTHOR

Florian Ragwitz <rafl@debian.org>

CONTRIBUTORS

  • Karen Etheridge <ether@cpan.org>

  • Graham Knop <haarg@haarg.org>

COPYRIGHT AND LICENCE

This software is copyright (c) 2009 by Florian Ragwitz.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.