NAME
Test::EOL - Check the correct line endings in your project
VERSION
version 2.02
SYNOPSIS
Test::EOL
lets you check for the presence of trailing whitespace and/or windows line endings in your perl code. It reports its results in standard Test::Simple
fashion:
use Test::EOL tests => 1;
eol_unix_ok( 'lib/Module.pm', 'Module is ^M free');
and to add checks for trailing whitespace:
use Test::EOL tests => 1;
eol_unix_ok( 'lib/Module.pm', 'Module is ^M and trailing whitespace free', { trailing_whitespace => 1 });
Module authors can include the following in a t/eol.t and have Test::EOL
automatically find and check all perl files in a module distribution:
use Test::EOL;
all_perl_files_ok();
or
use Test::EOL;
all_perl_files_ok( @mydirs );
and if authors would like to check for trailing whitespace:
use Test::EOL;
all_perl_files_ok({ trailing_whitespace => 1 });
or
use Test::EOL;
all_perl_files_ok({ trailing_whitespace => 1 }, @mydirs );
or
use Test::More;
use Test::EOL 'no_test';
all_perl_files_ok();
done_testing;
DESCRIPTION
This module scans your project/distribution for any perl files (scripts, modules, etc) for the presence of windows line endings.
FUNCTIONS
all_perl_files_ok
all_perl_files_ok( [ \%options ], [ @directories ] )
Applies eol_unix_ok()
to all perl files found in @directories
(and sub directories). If no <@directories> is given, the starting point is the current working directory, as tests are usually run from the top directory in a typical CPAN distribution. A perl file is *.pl or *.pm or *.pod or *.t or a file starting with #!...perl
Valid \%options
currently are:
trailing_whitespace
By default Test::EOL only looks for Windows (CR/LF) line-endings. Set this to true to raise errors if any kind of trailing whitespace is present in the file.
all_reasons
Normally Test::EOL reports only the first error in every file (given that a text file originated on Windows will fail every single line). Set this a true value to register a test failure for every line with an error.
If the test plan is defined:
use Test::EOL tests => 3;
all_perl_files_ok();
the total number of files tested must be specified.
eol_unix_ok
eol_unix_ok ( $file [, $text] [, \%options ] )
Run a unix EOL check on $file
. For a module, the path (lib/My/Module.pm) or the name (My::Module) can be both used. $text
is the diagnostic label emitted after the ok
/not ok
TAP output. \%options
takes the same values as described in "all_perl_files_ok".
EXPORT
A list of functions that can be exported. You can delete this section if you don't export anything, such as for a purely object-oriented module.
ACKNOWLEDGEMENTS
Shamelessly ripped off from Test::NoTabs.
SEE ALSO
SUPPORT
Bugs may be submitted through the RT bug tracker (or bug-Test-EOL@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
Tomas Doran (t0m) <bobtfish@bobtfish.net>
CONTRIBUTORS
Karen Etheridge <ether@cpan.org>
Olivier Mengué <dolmen@cpan.org>
Peter Rabbitson <ribasushi@cpan.org>
Florian Ragwitz <rafl@debian.org>
Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Arthur Axel 'fREW' Schmidt <frioux@gmail.com>
Father Chrysostomos <sprout@cpan.org>
Kent Fredric <kentfredric@gmail.com>
COPYRIGHT AND LICENCE
This software is copyright (c) 2009 by Tomas Doran.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.