Test::NoTabs(3)

πŸ’… Test::NoTabs

Okay bestie, so this is Test::NoTabs(3) β€” a Perl manpage, and honestly? It's giving "tiny module, huge main character energy." Let's get into it. πŸŽ€

✨ NAME ✨

Test::NoTabs β€” literally just checks whether there are tabs lurking in your project. That's it. That's the whole gig. πŸ•΅οΈβ€β™€οΈ

🌸 VERSION 🌸

version 2.02 β€” yes queen, we're on 2.02. πŸ’–

πŸ¦‹ SYNOPSIS πŸ¦‹

So Test::NoTabs lets you check the presence of tabs in your perl code. It reports its results in standard Test::Simple fashion, which is the whole vibe:

use Test::NoTabs tests => 1;
notabs_ok( 'lib/Module.pm', 'Module is tab free');

Module authors can include the following in a t/notabs.t and have Test::NoTabs automatically find and check all perl files in a module distribution β€” like, it does the legwork for you, no cap:

use Test::NoTabs;
all_perl_files_ok();

or

use Test::NoTabs;
all_perl_files_ok( @mydirs );

🌈 DESCRIPTION 🌈

This module scans your project/distribution for any perl files (scripts, modules, etc) for the presence of tabs. Like a little tab detector. Iconic behaviour, honestly. πŸ”


πŸ’œ FUNCTIONS πŸ’œ

🧚 all_perl_files_ok( [ @directories ] )

Applies notabs_ok() to all perl files found in @directories (and sub directories). Slay, it recurses. 🌟

If no <@directories> is given, the starting point is one level above the current running script β€” that should cover all the files of a typical CPAN distribution. Very thoughtful of it tbh.

A perl file is *.pl or *.pm or *.t or a file starting with "#!...perl" β€” those are the ones it's checking, iykyk. 🎯

If the test plan is defined:

use Test::NoTabs tests => 3;
all_perl_files_ok();

the total number of files tested must be specified. Like, you gotta count them, bestie, no skipping that part. 😭

πŸŽ€ notabs_ok( $file [, $text] )

Run a tab check on $file. For a module, the path (lib/My/Module.pm) or the name (My::Module) can be both used. Either one works, we love flexibility. ✨


🫢 ACKNOWLEDGEMENTS 🫢

  • Inspired by some code written by Paul Lindner. πŸ’«
  • Test::Strict was used as an example when creating this module and distribution. Respect the blueprint. πŸ“š
  • Rick Myers and Emanuele Zeppieri also provided valuable feedback. 10/10 contributors. πŸ™Œ
  • Patch to fix warnings provided by Florian Ragwitz (rafl) β€” thank you for the fix, king. πŸ”₯
  • Currently maintained by Tomas Doran (t0m) "bobtfish@bobtfish.net" β€” the current main character of this repo. πŸ‘‘

πŸ”­ SEE ALSO πŸ”­

Test::More, Test::Pod. Test::Distribution, Test::NoWarnings β€” go read those too, they're the friend group. πŸ’–

🩷 SUPPORT 🩷

Bugs may be submitted through the RT bug tracker <https://rt.cpan.org/Public/Dist/Display.html?Name=Test-NoTabs> (or bug-Test-NoTabs@rt.cpan.org <mailto:bug-Test-NoTabs@rt.cpan.org>). Found a bug? Tell them, don't just suffer in silence. πŸ™ˆ

There is also a mailing list available for users of this distribution, at <http://lists.perl.org/list/perl-qa.html>. Join the list, it's a whole community vibe. πŸ’Œ

There is also an irc channel available for users of this distribution, at "#perl" on "irc.perl.org" <irc://irc.perl.org/#perl-qa>. Come hang out in #perl! 🌸

πŸ‘‘ AUTHORS πŸ‘‘

  • Nick Gerakines <nick@socklabs.com>
  • Tomas Doran (t0m) <bobtfish@bobtfish.net>

⭐ CONTRIBUTORS ⭐

  • Karen Etheridge <ether@cpan.org>
  • Nick Gerakines <nick@gerakines.net>
  • Prakash Kailasa <pk-github@kailasa.net>
  • Justin Cook <jscook@users.noreply.github.com>

This software is copyright (c) 2006 by Nick Gerakines. πŸŽ€

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. Free as in, go wild, just keep the same terms. πŸ¦‹


and that's the whole page, bestie β€” no tabs were harmed in the making of this documentation πŸ’–βœ¨

Signing off from the footer with love: this was perl v5.42.0, dated 2018-04-22, and the page is Test::NoTabs(3) β€” periodt. πŸ’…πŸŽ€

πŸ“¦ where this page comes from