Perl extension for emulating troublesome interfaces.
Test::MockTime was created to enable test suites to test code at
specific points in time. Specifically it overrides localtime, gmtime and
time at compile time and then relies on the user supplying a mock time
via set_relative_time, set_absolute_time or set_fixed_time to alter
future calls to gmtime, time or localtime.
Test::Modern provides the best features of Test::More, Test::Fatal,
Test::Warnings, Test::API, Test::LongString, and Test::Deep, as well as ideas
from Test::Requires, Test::DescribeMe, Test::Moose, and Test::CleanNamespaces.
Test::Modern also automatically imposes strict and warnings on your script, and
loads IO::File. (Much of the same stuff Modern::Perl does.)
Although Test::Modern is a modern testing framework, it should run fine on
pre-modern versions of Perl. It should be easy to install on Perl 5.8.9 and
above; and if you can persuade its dependencies to install (not necessarily
easy!), should be OK on anything back to Perl 5.6.1.
Test::utf8 is a collection of tests useful for dealing with utf8 strings in
Perl. It has two types of tests: The validity tests check if a string is valid
and not corrupt, whereas the characteristics tests will check that string has a
given set of characteristics.
This is a port of Josh Goldberg's Text::LevenshteinXS
An XS implementation of the Levenshtein edit distance
Strips leading whitespace from here-docs
Most commonly needed test functions and features.
Skip test scripts if modules are not available. The requested modules will be
loaded, and optionally have their versions checked. If the module is missing,
the test script will be skipped. Modules that are found but fail to compile will
exit with an error rather than skip.
If used in a subtest, the remainder of the subtest will be skipped.
Skipping will work even if some tests have already been run, or if a plan has
been declared.
Versions are checked via a $module->VERSION($wanted_version) call. Versions must
be provided in a format that will be accepted. No extra processing is done on
them.
If perl is used as a module, the version is checked against the running perl
version ($]). The version can be specified as a number, dotted-decimal string,
v-string, or version object.
If the RELEASE_TESTING environment variable is set, the tests will fail rather
than skip. Subtests will be aborted, but the test script will continue running
after that point.
Test::NoTabs scans your project/distribution for any perl files (scripts,
modules, etc) for the presence of tabs.
This module adds suspend and resume operations for threads.
Suspensions are cumulative, and need to be matched by an equal number of resume
calls.