Test::Tabs - check the presence of tabs in your project
use Test::Tabs tests => 1; tabs_ok('lib/Module.pm', 'Module is indented sanely');
use Test::Tabs; all_perl_files_ok();
use Test::Tabs; all_perl_files_ok( @mydirs );
This module scans your project/distribution for any perl files (scripts, modules, etc) for the presence of tabs.
In particular, it checks that all indentation is done using tabs, not spaces; alignment is done via spaces, not tabs; indentation levels never jump up (e.g. going from 1 tab indent to 3 tab indent without an intervening 2 tab indent); and there is no trailing whitespace on any line (though lines may consist entirely of whitespace).
Comment lines and pod are ignored. (A future version may also ignore heredocs.)
all_perl_files_ok( @directories )
tabs_ok() to all perl files found in
@directories recursively. If no
@directories are given, the starting point is one level above the current running script, that should cover all the files of a typical CPAN distribution. A perl file is *.pl or *.pm or *.t or a file starting with
tabs_ok( $file, $text )
Run a tab check on
$file. For a module, either the path (
lib/My/Module.pm) or the package name (
My::Module) can be used.
$text is the optional test name.
Please report any bugs to http://rt.cpan.org/Dist/Display.html?Queue=Test-Tabs.
Toby Inkster <email@example.com>.
Large portions stolen from Test::NoTabs by Nick Gerakines.
This software is copyright (c) 2012 by Toby Inkster.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.