Test::CleanNamespaces - Check for uncleaned imports



NAME

Test::CleanNamespaces - Check for uncleaned imports


VERSION

version 0.19


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 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.


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, the Mouse::Role manpage, the Mouse::Util manpage, the Mouse::Util::TypeConstraints manpage, Carp, the Scalar::Util manpage, or the List::Util manpage.


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


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.

 Test::CleanNamespaces - Check for uncleaned imports