NAME¶
Test::CleanNamespaces - Check for uncleaned imports
VERSION¶
version 0.16
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.
METHODS¶
The exported functions are constructed using the the following methods. This is
what you want to override if you're subclassing this module.
build_namespaces_clean¶
my $coderef = Test::CleanNamespaces->build_namespaces_clean;
Returns a coderef that will be exported as "namespaces_clean" (or the
specified sub name, if provided).
build_all_namespaces_clean¶
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.
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¶
- •
- namespace::clean
- •
- namespace::autoclean
- •
- namespace::sweep
- •
- Sub::Exporter::ForMethods
- •
- Test::API
- •
- Sub::Name
- •
- Sub::Install
- •
- MooseX::MarkAsMethods
- •
- Dist::Zilla::Plugin::Test::CleanNamespaces
AUTHOR¶
Florian Ragwitz <rafl@debian.org>
COPYRIGHT AND LICENSE¶
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.
CONTRIBUTOR¶
Karen Etheridge <ether@cpan.org>