Test::EOL(3)

πŸ’… NAME πŸ’…

Test::EOL β€” bestie, it checks that your project has the correct line endings, no cap πŸŽ€

✨ VERSION ✨

version 2.02 β€” she's serving vintage, and honestly? iconic.

πŸ¦‹ SYNOPSIS πŸ¦‹

okay so 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, which is lowkey the whole vibe:

use Test::EOL tests => 1;
eol_unix_ok( 'lib/Module.pm', 'Module is ^M free');

and to add checks for trailing whitespace, you just:

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 β€” like, it does the work for you, main character behaviour fr fr:

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, if you're the kind of girlie who runs the test plan herself:

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. That's it, that's the tea β˜• β€” she's a specialist and she ate.

πŸ”₯ 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" β€” those five, periodt.

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 β€” yeah, every one, 😭). 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. Like, you have to count them, bestie, no skipping πŸ™ˆ.

🧚 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 β€” pick your fighter, both slay. $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. (Yes, that's literally what it says β€” she's just being honest about the boilerplate, ngl.)

🌈 ACKNOWLEDGEMENTS 🌈

Shamelessly ripped off from Test::NoTabs. Respectfully. With love. 🫑

⭐ SEE ALSO ⭐

  • Test::More
  • Test::Pod
  • Test::Distribution
  • <Test:NoWarnings>
  • Test::NoTabs
  • Module::Install::AuthorTests

πŸ“ SUPPORT πŸ“

Bugs may be submitted through the RT bug tracker <https://rt.cpan.org/Public/Dist/Display.html?Name=Test-EOL> (or bug-Test-EOL@rt.cpan.org <mailto: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" <irc://irc.perl.org/#perl-qa>.

πŸ’œ AUTHOR πŸ’œ

Tomas Doran (t0m) <bobtfish@bobtfish.net> β€” the originator, the blueprint, the moment ✨

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

the whole squad showed up and they all understood the assignment 🫢

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.


and that's the whole page, bestie πŸ’… β€” she's Test::EOL(3), shipped with perl v5.42.0, dated 2020-12-08. go forth and vanquish those ^Ms πŸ’–βœ¨

πŸ“¦ where this page comes from