summaryrefslogtreecommitdiff
path: root/cpan/Test-Simple/lib/Test/use/ok.pm
diff options
context:
space:
mode:
Diffstat (limited to 'cpan/Test-Simple/lib/Test/use/ok.pm')
-rw-r--r--cpan/Test-Simple/lib/Test/use/ok.pm67
1 files changed, 67 insertions, 0 deletions
diff --git a/cpan/Test-Simple/lib/Test/use/ok.pm b/cpan/Test-Simple/lib/Test/use/ok.pm
new file mode 100644
index 0000000000..132f1a7bbb
--- /dev/null
+++ b/cpan/Test-Simple/lib/Test/use/ok.pm
@@ -0,0 +1,67 @@
+package Test::use::ok;
+use strict;
+use warnings;
+use 5.005;
+
+our $VERSION = '1.301001_034';
+$VERSION = eval $VERSION; ## no critic (BuiltinFunctions::ProhibitStringyEval)
+
+1;
+__END__
+
+=encoding utf8
+
+=head1 NAME
+
+Test::use::ok - Alternative to Test::More::use_ok
+
+=head1 SYNOPSIS
+
+ use ok 'Some::Module';
+
+=head1 DESCRIPTION
+
+According to the B<Test::More> documentation, it used to be recommended to run
+C<use_ok()> inside a C<BEGIN> block, so functions are exported at compile-time
+and prototypes are properly honored.
+
+That is, instead of writing this:
+
+ use_ok( 'Some::Module' );
+ use_ok( 'Other::Module' );
+
+One should write this:
+
+ BEGIN { use_ok( 'Some::Module' ); }
+ BEGIN { use_ok( 'Other::Module' ); }
+
+However, people often either forget to add C<BEGIN>, or mistakenly group
+C<use_ok> with other tests in a single C<BEGIN> block, which can create subtle
+differences in execution order.
+
+With this module, simply change all C<use_ok> in test scripts to C<use ok>,
+and they will be executed at C<BEGIN> time. The explicit space after C<use>
+makes it clear that this is a single compile-time action.
+
+=head1 SEE ALSO
+
+L<Test::More>
+
+=head1 MAINTAINERS
+
+=over 4
+
+=item Chad Granum E<lt>exodist@cpan.orgE<gt>
+
+=back
+
+=head1 CC0 1.0 Universal
+
+To the extent possible under law, 唐鳳 has waived all copyright and related
+or neighboring rights to L<Test-use-ok>.
+
+This work is published from Taiwan.
+
+L<http://creativecommons.org/publicdomain/zero/1.0>
+
+=cut