Revision history for Perl extension Carp::Assert::More.
2.5.0 Fri Oct 25 14:46:06 CDT 2024
[ENHANCEMENTS]
Add assert_context_list() function.
Add assert_context_void() function.
2.4.0 Mon Mar 4 21:54:07 CST 2024
[ENHANCEMENTS]
New function assert_arrayref_all() calls an assertion function for every element in the array.
my $aref_of_counts = get_counts();
assert_arrayref_all( $aref, \&assert_positive_integer, 'Counts are positive' );
assert_context_scalar() now provides a default message of
"function_name must be called in scalar context".
assert_context_nonvoid() now provide a default message of
"function_name must not be called in void context".
2.3.0 Tue May 30 21:52:20 CDT 2023
[ENHANCEMENTS]
Added assert_arrayref_of() to verify that all of the elements
in an arrayref are of a given type. For example:
my $users = get_users();
assert_arrayref_of( $users, 'My::User' );
2.2.0 Sun Jan 29 20:23:59 CST 2023
[ENHANCEMENTS]
Added assert_cmp( $x, $op, $y [, $msg] ), analogous to cmp_ok in Test::More, so you can do
assert_cmp( $n, '>', 10 );
which will give better diagnostics than just
assert( $n > 10 );
Operators supported are: lt le gt ge == != > >= < <=
assert_all_keys_in() now lists all key failures in the message, not just the first one.
assert_keys_are() now lists all key failures in the message, not just the first one.
2.1.0 Mon Aug 15 19:54:27 CDT 2022
[ENHANCEMENTS]
Add diagnostic strings to the failures. For example:
assert_nonblank( [ 'foo' ], 'This should be nonblank' );
would fail with:
Assertion (This should be nonblank) failed!
but now fails with:
Assertion (This should be nonblank) failed!
Value is a reference to ARRAY.
Similar changes have been made to:
* assert_all_keys_in
* assert_keys_are
* assert_empty
* assert_nonempty
2.0.1 Fri Aug 13 11:57:15 CDT 2021
[FIXES]
assert_all_keys_in() mistakenly required a non-empty list of
keys to check.
[ENHANCEMENTS]
Sped up assert_isa_in(), assert_is().
2.0.0 Thu Aug 12 23:00::00 CDT 2021
[DIFFERENCES]
Now requires Perl 5.10 or higher. No longer requires Carp::Assert.
The numeric functions are more stringent now. If it expects
a number, then you need to pass a number. For example,
assert_nonnegative($x) would pass if $x was a non-numeric
string. Now it must be numeric.
assert_empty() and assert_nonempty() no longer gives a message
of "Not an array or hash reference". If you don't pass an array
or hash reference, the assertion will just fail with the message
passe3d in.
assert_aoh() and assert_datetime() no longer provide a default
message.
assert_in() is more strict. Each element of the target array
is checked to not be a reference.
assert_exists() and assert_lacks() are more strict. The list
of keys to check cannot be empty.
[ENHANCEMENTS]
Most of the functions are about twice as fast because of reduced
number of function calls internally.
Added assert_context_nonvoid() and assert_context_scalar()
to assert on how the executing function has been called.
assert_in() now lets you use undef as both the needle and one
of the values in the haystack.
1.26 Sat Dec 26 00:26:23 CST 2020
[ENHANCEMENTS]
Add assert_arrayref_nonempty().
Add assert_hashref_nonempty().
1.24 Tue Oct 6 22:37:06 CDT 2020
[ENHANCEMENTS]
The requirement for Perl 5.10 has been reverted to 5.6.1.
1.22 Tue Oct 6 22:03:55 CDT 2020
[ENHANCEMENTS]
Add assert_keys_are() for asserting an exact list of keys.
1.20 Fri Aug 9 10:10:06 CDT 2019
[ENHANCEMENTS]
Add assert_datetime() for asserting DateTime objects.
1.18 Fri Jul 19 17:12:32 CDT 2019
[ENHANCEMENTS]
Added assert_aoh() for asserting an array of hashrefs.
1.16 Fri Aug 4 14:18:51 CDT 2017
[ENHANCEMENTS]
Added the following functions:
* assert_numeric( $n )
* assert_all_keys_in( \%hash, \@keylist )
* assert_empty( [\%hash|\@list] )
* assert_coderef( $ref )
* assert_isa_in( $ref, \@class_list )
Thanks to Eric A. Zarko for some of them. The rest were migrated
from a private code project.
Renamed assert_listref() to assert_arrayref(), but keep
assert_listref() as backward compatibility. assert_listref()
may go away in the future.
[DOCUMENTATION]
Fixed a goof in the assert_integer() docs. Thanks, Randy Lauen.
1.14 Wed Oct 31 11:37:04 CDT 2012
[ENHANCEMENTS]
Added assert_undefined() for Ben Hengst.
Added assert_unlike().
[FIXES]
assert_nonblank() wasn't using the correct message. Thanks to
Leland Johnson.
assert_nonempty() wouldn't work on blessed arrays and refs.
Now it will.
1.12 Oct 14 2005
[ENHANCEMENTS]
* Added assert_nonnegative() and assert_nonnegative_integer().
* Added assert_lacks(). Thanks to Bob Diss.
1.10 Wed Feb 16 12:52:16 CST 2005
[FIXES]
* Fixed assert_positive_integer() to not pass "14.".
1.08 Wed Nov 24 11:44:34 CST 2004
[ENHANCEMENTS]
* Added assert_is() and assert_isnt()
* Organized the functions into logical groupings.
[INTERNALS]
* Now requires Test::Exception.
* Added t/pod.t and t/pod-coverage.t
1.06 Sat Oct 30 23:50:45 CDT 2004
* No functionality changes. Just added a Copyright notice to
so we can put it in Debian.
1.04 Mon Oct 18 10:21:37 CDT 2004
[ENHANCEMENTS]
* assert_isa() is now aware of subclasses.
[FIXES]
* $names weren't getting passed to sub-assertions. Now they are.
[DOCUMENTATION]
* Documentation fix.
This is the "all thanks to Allard Hoeve" release.
1.02 Tue Oct 5 17:31:56 CDT 2004
[ENHANCEMENTS]
* Added assert_hashref() and assert_listref(). Thanks to Dan
Friedman.
1.00 Wed Sep 22 10:14:28 CDT 2004
* First real official version. I'm not sure what's different
between this and 0.04.
* Added a bunch of new assert_* functions. Thanks David
Storrs and Pete Krawczyk.
0.04 August 21, 2002
- Added assert_integer
- Added assert_nonzero
- Added assert_nonzero_integer
- Added assert_exists
0.03 August 15, 2002
- Added assert_fail
0.02 August 8, 2002
- Added assert_nonblank and assert_nonref
0.01 August 8, 2002
- Original version, stolen from Carp::Assert