Test::CleanNamespaces - Check for uncleaned imports |
Test::CleanNamespaces - Check for uncleaned imports
version 0.19
use strict; use warnings; use Test::CleanNamespaces;
all_namespaces_clean;
This module lets you check your module's namespaces for imported functions you might have forgotten to remove with the namespace::autoclean manpage or the namespace::clean manpage and are therefore available to be called as methods, which usually isn't want you want.
All functions are exported by default.
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;
Runs namespaces_clean for all modules in your distribution.
The exported functions are constructed using the the following methods. This is what you want to override if you're subclassing this module.
my $coderef = Test::CleanNamespaces->build_namespaces_clean;
Returns a coderef that will be exported as namespaces_clean
(or the
specified sub name, if provided).
my $coderef = Test::CleanNamespaces->build_all_namespaces_clean;
Returns a coderef that will be exported as all_namespaces_clean
.
(or the specified sub name, if provided).
It will use
the find_modules
method to get the list of modules to check.
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.
my $builder = Test::CleanNamespaces->builder;
Returns the Test::Builder
used by the test functions.
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, the Mouse::Role manpage, the Mouse::Util manpage, the Mouse::Util::TypeConstraints manpage, Carp, the Scalar::Util manpage, or the List::Util manpage.
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
.
Florian Ragwitz <rafl@debian.org>
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.
Test::CleanNamespaces - Check for uncleaned imports |