- rebuild MANIFEST, adding two forgotten files
- When printing diagnostics, differentiate the type of a blessed object
from the name of the class itself (RT#78288, caused by changes to how
blessed objects are treated in 0.109) (thanks, Karen Etheridge)
- Typo fixes (thanks, David Steinbrunner)
- Fixes to clarity and accuracy of documentation (thanks, Michael Hamlin)
- Add metadata links to repo and issue tracker
- Added obj_isa for testing ->isa without falling back to ref($x)
- Added the *experimental* ":v1" export group to skip importing
Isa, isa, and blessed
0.109 to 0.110.
Upstream changes:
0.110 2012-06-16
Allow methods() and listmethods() to work again on class methods
(RT#77804) (thanks, Ricardo Signes!)
Changes:
UNIVERSAL::isa and UNIVERAL::can are no longer called as functions:
this was deprecated in UNIVERSAL 1.03. (RT#74760, Karen Etheridge)
the code that builds the exporter configuration is cleaned up; more
documentation of how it may change (for the better, without breaking
stuff) should appear in the near futureChanges:
pkgsrc changes:
- Add license (perl license)
- Bump version dependency of Test::Tester (see Makefile.PL for details)
Upstream changes:
0.106
Release after dev.
0.105-dev
Fix for perl 5.010.1 - the code to check the version and act correctly
on regexp refs treated .1 as behaving like 5.011.
- Updating package to 0.104
Upstream changes:
0.104
Document behaviour of cmp_bag when a non ARRAY-ref argument is passed
to it. Explicity test for this a die with a useful message.
Document and export cmp_details and deep_diag, thanks to Tom Hukins
for the patch.
- took maintainership
- Makefile cleanup
Changelog:
0.103
Detect whether isa() is being called with 1 or 2 arguments and
dispatch to the correct function. This is hacky but fixes the problem
of clashing with UNIVERSAL::isa().
0.102
Behave well when a code comparator doesn't give diagnostics. Thanks to
Alex Kapranoff.
0.101
Fix an overloading problem with All and Any. Thanks to Kostas
Chatzikokolakis for reporting the bug and especially for explaining
how to fix it :)
Added a nasty hack to smooth over a problem in Test::Tester.
0.100
Apply patch from Andreas Koenig (ANDK) to cope with Perl 5.11's new
REGEXP objects.
0.099
Don't explode on perl's that don't have weakrefs. If they're not
available, just don't weaken the refs. It means refs can be cached for
longer than desirable but it's better than explodiing.
This doesn't fix all of te problems with perl 5.005 but I'm pushing it
out because the previous version number upsets CPAN.pm.
0.098
Cleaned up Test::Deep::NoTest by making it call Test::Deep's import,
that way it will always be in sync for exports. Also added some POD
docs.
Added notest_extra.t to check that things are correctly exported and
working.
Add cmp_details but left it undocumented. It manages localising the
stack etc. Factored eq_deeply and cmp_deeply through that. This meant
adding an icky hack into deep_diag. I should clean that whole thing up.
Remove $name from params of eq_deeply, in code and docs, it was unused.
0.097
Fixed doc typo for re().
Fix diagnostics for code(), it was always printing undef instead of
the got value.
Changes:
0.096
%WrapCache was keeping references to external data. It's now local()ised at the start of a comparison just like the other caches (why I didn't do that when I added it, I don't know). Thanks to Matthijs Bomhoff for reporting the problem.
0.095
Docs and code didn't match, useclass was actually requireclass, available as
both now
0.094
Changed Set and Bag to no longer issue warnings when undefs are
present. Needed to make the sort and the diagnotics
undef-aware. Thanks to Colin Kuskie for pointing this out.
Added tests for this.
0.093
Fixed inifinte recursion when adding comparators into bags. That whole area is unpleasant - conceptually as well as implementation-wise. Comparators no longer inherit a compare method, so we only call the specialised compare if it exists, otherwise we just do normal deep comparison.
Removed a debugging print.
Test::Deep gives you very flexible ways to check that the result
you got is the result you were expecting. At its simplest it compares
two structures by going through each level, ensuring that the values
match, that arrays and hashes have the same elements and that
references are blessed into the correct class. It also handles
circular data structures without getting caught in an infinite
loop.
Where it becomes more interesting is in allowing you to do something
besides simple exact comparisons. With strings, the = operator
checks that 2 strings are exactly equal but sometimes that's not
what you want. When you don't know exactly what the string should
be but you do know some things about how it should look, = is no
good and you must use pattern matching instead. Test::Deep provides
pattern matching for complex data structures.