Blame Changes

Packit 61a564
Revision history for Test-Deep
Packit 61a564
Packit 61a564
1.127     2017-05-04
Packit 61a564
        - no code changes from previous release
Packit 61a564
Packit 61a564
1.126_001 2017-04-17
Packit 61a564
        - do not eagerly convert simple scalars into tests in the all, any, and
Packit 61a564
          none tests; this was breaking LeafWrapper application
Packit 61a564
Packit 61a564
1.126     2016-12-27
Packit 61a564
        - no changes since v1.125_001
Packit 61a564
Packit 61a564
1.125_001 2016-12-27
Packit 61a564
        - if objects in the "expected" structured have an as_test_deep_cmp
Packit 61a564
          method, it will be called and its return (which should be a
Packit 61a564
          Test::Deep::Cmp object) will be used as the test for that location in
Packit 61a564
          the structure
Packit 61a564
        - internal undocumented class_base routine has been replaced
Packit 61a564
          with a different, clearly private routine
Packit 61a564
        - the LeafWrapper is also used for objects with an unknown reftype
Packit 61a564
          (like LVALUE or other weird ones)
Packit 61a564
Packit 61a564
1.124     2016-11-05
Packit 61a564
        - avoid an uninitialized warning when array_each() compares to a
Packit 61a564
          non-reference (thanks, Максим Вуец!)
Packit 61a564
Packit 61a564
1.123     2016-09-09
Packit 61a564
        - remove test suite reliance on "." appearing @INC (thanks, Graham Knop
Packit 61a564
          and Karen Etheridge!)
Packit 61a564
        - when an object with stringification overloading fails to match a
Packit 61a564
          "re" test, its stringification is included in the diagnostics
Packit 61a564
Packit 61a564
1.122     2016-09-07
Packit 61a564
        - added $Test::Deep::LeafWrapper to control the behavior of simple
Packit 61a564
          values in the "expected" definition; by default, they are treated as
Packit 61a564
          shallow($x) tests, but you can now say (for example)
Packit 61a564
          C<< $Test::Deep::LeafWrapper = \&str >> to always treat the got value
Packit 61a564
          as a string, even if blessed, etc.
Packit 61a564
Packit 61a564
1.121_001 2016-07-19
Packit 61a564
        - documentation improvements
Packit 61a564
        - avoid a few evals, localize $@ in a few places where eval is used
Packit 61a564
        - good bye tabs, hello spaces
Packit 61a564
Packit 61a564
1.120     2015-11-27
Packit 61a564
        - no changes since 0.119_01
Packit 61a564
        - this massive version bump was a mistake
Packit 61a564
Packit 61a564
0.119_01  2015-11-19
Packit 61a564
        - add none() test; it's like any(), but negative
Packit 61a564
        - fix stringification of any() expectations
Packit 61a564
Packit 61a564
0.119     2015-09-29
Packit 61a564
        - remove use of Test::NoWarnings for user-facing tests
Packit 61a564
Packit 61a564
0.118     2015-07-27 TRIAL RELEASE
Packit 61a564
        - overloading of & and | no longer can change All or Any objects
Packit 61a564
          found as arguments
Packit 61a564
        - an All as an argument to an All constructed is flattened out into its
Packit 61a564
          All-ed values; the same goes for Any
Packit 61a564
Packit 61a564
0.117     2015-06-21
Packit 61a564
        - do not lose argument(s) to import
Packit 61a564
          (fixes https://github.com/rjbs/Test-Deep/issues/29 )
Packit 61a564
Packit 61a564
0.116     2015-06-20
Packit 61a564
        - on its own, :preload options uses default group of exports
Packit 61a564
Packit 61a564
0.115     2015-01-09
Packit 61a564
        - worked around a bug in chained goto on 5.8.5
Packit 61a564
Packit 61a564
0.114     2014-12-11
Packit 61a564
        - improve prereqs metadata (thanks, Karen Etheridge)
Packit 61a564
        - add a noneof() set test (thanks, Peter Haworth)
Packit 61a564
        - regexponly hasn't worked... ever. now it does
Packit 61a564
        - passing :preload to import loads all plugins up front
Packit 61a564
        - a few more tests have been documented
Packit 61a564
        - the many exports of Test::Deep are now documented!
Packit 61a564
Packit 61a564
0.113     2014-08-22
Packit 61a564
        - fix a compile error (!!) in RegexpOnly
Packit 61a564
        - fix some documentation typos (thanks, ZOFFIX)
Packit 61a564
        - add license to META file
Packit 61a564
Packit 61a564
0.112     2013-11-30
Packit 61a564
        - rebuild MANIFEST, adding two forgotten files
Packit 61a564
Packit 61a564
0.111     2013-11-30
Packit 61a564
Packit 61a564
        - When printing diagnostics, differentiate the type of a blessed object
Packit 61a564
          from the name of the class itself (RT#78288, caused by changes to how
Packit 61a564
          blessed objects are treated in 0.109) (thanks, Karen Etheridge)
Packit 61a564
Packit 61a564
        - Typo fixes (thanks, David Steinbrunner)
Packit 61a564
Packit 61a564
        - Fixes to clarity and accuracy of documentation (thanks, Michael Hamlin)
Packit 61a564
Packit 61a564
        - Add metadata links to repo and issue tracker
Packit 61a564
Packit 61a564
        - Added obj_isa for testing ->isa without falling back to ref($x)
Packit 61a564
Packit 61a564
        - Added the *experimental* ":v1" export group to skip importing
Packit 61a564
          Isa, isa, and blessed
Packit 61a564
Packit 61a564
0.110     2012-06-16
Packit 61a564
Packit 61a564
          Allow methods() and listmethods() to work again on class methods
Packit 61a564
          (RT#77804) (thanks, Ricardo Signes!)
Packit 61a564
Packit 61a564
0.109     2012-02-16
Packit 61a564
Packit 61a564
          UNIVERSAL::isa and UNIVERAL::can are no longer called as functions:
Packit 61a564
          this was deprecated in UNIVERSAL 1.03. (RT#74760, Karen Etheridge)
Packit 61a564
Packit 61a564
          the code that builds the exporter configuration is cleaned up; more
Packit 61a564
          documentation of how it may change (for the better, without breaking
Packit 61a564
          stuff) should appear in the near future
Packit 61a564
Packit 61a564
0.108     2010-10-15
Packit 61a564
Packit 61a564
          simple (stringwise) comparison should now be much faster (thanks,
Packit 61a564
          NCLEATON)
Packit 61a564
Packit 61a564
0.107     2009-10-28
Packit 61a564
Packit 61a564
          New maintainer:  Ricardo Signes (rjbs)
Packit 61a564
Packit 61a564
          On 5.10.0 and newer perl, install to the "site" directory, not the
Packit 61a564
          core perl directory in @INC.  (Prior to 5.10.0, @INC ordering was
Packit 61a564
          unfortunate, and fixing the install target would make upgrading
Packit 61a564
          difficult.)
Packit 61a564
Packit 61a564
          cope with new stringification of qr{} objects in 5.13.x+ (thanks,
Packit 61a564
          ANDK)
Packit 61a564
Packit 61a564
          fix Pod escaping errors (thanks, FWIE)
Packit 61a564
Packit 61a564
0.106
Packit 61a564
Packit 61a564
          Release after dev.
Packit 61a564
Packit 61a564
0.105-dev
Packit 61a564
Packit 61a564
          Fix for perl 5.010.1 - the code to check the version and act
Packit 61a564
          correctly on regexp refs treated .1 as behaving like 5.011.
Packit 61a564
Packit 61a564
0.104
Packit 61a564
Packit 61a564
          Document behaviour of cmp_bag when a non ARRAY-ref argument is passed
Packit 61a564
          to it. Explicity test for this a die with a useful message.
Packit 61a564
Packit 61a564
          Document and export cmp_details and deep_diag, thanks to Tom Hukins
Packit 61a564
          for the patch.
Packit 61a564
Packit 61a564
0.103
Packit 61a564
Packit 61a564
          Detect whether isa() is being called with 1 or 2 arguments and
Packit 61a564
          dispatch to the correct function. This is hacky but fixes the problem
Packit 61a564
          of clashing with UNIVERSAL::isa().
Packit 61a564
Packit 61a564
0.102
Packit 61a564
Packit 61a564
          Behave well when a code comparator doesn't give diagnostics. Thanks
Packit 61a564
          to Alex Kapranoff.
Packit 61a564
Packit 61a564
0.101
Packit 61a564
Packit 61a564
          Fix an overloading problem with All and Any. Thanks to Kostas
Packit 61a564
          Chatzikokolakis for reporting the bug and especially for explaining
Packit 61a564
          how to fix it :)
Packit 61a564
Packit 61a564
          Added a nasty hack to smooth over a problem in Test::Tester.
Packit 61a564
Packit 61a564
0.100
Packit 61a564
Packit 61a564
          Apply patch from Andreas Koenig (ANDK) to cope with Perl 5.11's new
Packit 61a564
          REGEXP objects.
Packit 61a564
Packit 61a564
0.099
Packit 61a564
Packit 61a564
          Don't explode on perl's that don't have weakrefs. If they're not
Packit 61a564
          available, just don't weaken the refs. It means refs can be cached
Packit 61a564
          for longer than desirable but it's better than explodiing.
Packit 61a564
Packit 61a564
          This doesn't fix all of te problems with perl 5.005 but I'm pushing
Packit 61a564
          it out because the previous version number upsets CPAN.pm.
Packit 61a564
Packit 61a564
0.098
Packit 61a564
Packit 61a564
          Cleaned up Test::Deep::NoTest by making it call Test::Deep's import,
Packit 61a564
          that way it will always be in sync for exports. Also added some POD
Packit 61a564
          docs.
Packit 61a564
Packit 61a564
          Added notest_extra.t to check that things are correctly exported and
Packit 61a564
          working.
Packit 61a564
Packit 61a564
          Add cmp_details but left it undocumented. It manages localising the
Packit 61a564
          stack etc. Factored eq_deeply and cmp_deeply through that. This meant
Packit 61a564
          adding an icky hack into deep_diag. I should clean that whole thing
Packit 61a564
          up.
Packit 61a564
Packit 61a564
          Remove $name from params of eq_deeply, in code and docs, it was
Packit 61a564
          unused.
Packit 61a564
Packit 61a564
0.097
Packit 61a564
Packit 61a564
          Fixed doc typo for re().
Packit 61a564
Packit 61a564
          Fix diagnostics for code(), it was always printing undef instead of
Packit 61a564
          the got value.
Packit 61a564
Packit 61a564
0.096
Packit 61a564
Packit 61a564
          %WrapCache was keeping references to external data. It's now
Packit 61a564
          local()ised at the start of a comparison just like the other caches
Packit 61a564
          (why I didn't do that when I added it, I don't know). Thanks to
Packit 61a564
          Matthijs Bomhoff for reporting the problem.
Packit 61a564
Packit 61a564
0.095
Packit 61a564
Packit 61a564
          Docs and code didn't match, useclass was actually requireclass,
Packit 61a564
          available as both now
Packit 61a564
Packit 61a564
0.094
Packit 61a564
Packit 61a564
          Changed Set and Bag to no longer issue warnings when undefs are
Packit 61a564
          present. Needed to make the sort and the diagnotics
Packit 61a564
          undef-aware. Thanks to Colin Kuskie for pointing this out.
Packit 61a564
Packit 61a564
          Added tests for this.
Packit 61a564
Packit 61a564
0.093
Packit 61a564
Packit 61a564
          Fixed inifinte recursion when adding comparators into bags. That
Packit 61a564
          whole area is unpleasant - conceptually as well as
Packit 61a564
          implementation-wise. Comparators no longer inherit a compare method,
Packit 61a564
          so we only call the specialised compare if it exists, otherwise we
Packit 61a564
          just do normal deep comparison.
Packit 61a564
Packit 61a564
          Removed a debugging print.
Packit 61a564
Packit 61a564
0.092
Packit 61a564
Packit 61a564
          Got the if backwards for loading Test::Builder (again for NoTest -
Packit 61a564
          simples changes...). No ill effects for most people as they load it
Packit 61a564
          via something else any but ApacheSession for example doesn't.
Packit 61a564
Packit 61a564
          Now tetsing for lack of testing framework.
Packit 61a564
Packit 61a564
0.091
Packit 61a564
Packit 61a564
          Forgot to export lots of stuff via NoTest
Packit 61a564
Packit 61a564
0.090
Packit 61a564
Packit 61a564
          Added Test::Builder::NoTest so that eq_deeply can be use entirely
Packit 61a564
          without Test::Builder.
Packit 61a564
Packit 61a564
0.089
Packit 61a564
Packit 61a564
          Wasn't corrrectly setting $Test::Builder::Level in cmp_bag, cmp_set
Packit 61a564
          and cmp_methods, this caused test error messages to include the wrong
Packit 61a564
          line/file.
Packit 61a564
Packit 61a564
          Whitespace changes.
Packit 61a564
Packit 61a564
0.088
Packit 61a564
Packit 61a564
          Slight twiddle to silence warnings from the new Test::Tester thanks to
Packit 61a564
          SSORICHE
Packit 61a564
Packit 61a564
0.087
Packit 61a564
Packit 61a564
          cmp_methods, cmp_bag and cmp_set weren't passing on the test name.
Packit 61a564
          Thanks to Alex Kapranoff for the patch.
Packit 61a564
Packit 61a564
0.086
Packit 61a564
Packit 61a564
          Add $tolerance to Number so now you can check that 2 numbers are
Packit 61a564
          equal, give or take a little bit.
Packit 61a564
Packit 61a564
          Autogenerating most of the convenience constructor routines, deleted
Packit 61a564
          nearly 200 lines of boilerplate. Why didn't I think of that before?
Packit 61a564
Packit 61a564
          Almost every test script had the same lines at the beginning. These
Packit 61a564
          are now in t/std.pm, another 200 lines of code (well 50% whitespace)
Packit 61a564
          gone. Happy.
Packit 61a564
Packit 61a564
          Added use warnings to the test scripts, didn't make a difference.
Packit 61a564
Packit 61a564
          Added inspection of strings captured from a regex and fixed up some
Packit 61a564
          re() doc errors.
Packit 61a564
Packit 61a564
0.085
Packit 61a564
Packit 61a564
          When a hash or array value or amethod does not exist and the expected
Packit 61a564
          value was a reference, the diagnostics were wrong because it headed
Packit 61a564
          into Reftype tests. Now Test::Deep::descend catches "Does not exist"
Packit 61a564
          early on.
Packit 61a564
Packit 61a564
          Added listmethods()
Packit 61a564
Packit 61a564
0.084
Packit 61a564
Packit 61a564
          Added subhashof and superhashof, restructured various Hash modules to
Packit 61a564
          handle sub and super.
Packit 61a564
Packit 61a564
          Got rid of unexported hash_elements from Test::Deep.
Packit 61a564
Packit 61a564
          Fixed a problem with circular set comparisons.
Packit 61a564
Packit 61a564
0.083
Packit 61a564
Packit 61a564
          The cache is more efficient, using a single layer and weak refs, also
Packit 61a564
          previously it could be fooled by reused addresses for objects (this
Packit 61a564
          is not just theoretical).
Packit 61a564
Packit 61a564
          Now Test::Deep::descend is responsible for pushing onto the stack as
Packit 61a564
          well as pulling, this means most tests don't need to think about the
Packit 61a564
          stack at all
Packit 61a564
Packit 61a564
          For the stack stuff, had to create lots of "only" modules these are
Packit 61a564
          tests that should never be called on their own as they make
Packit 61a564
          assumptions about the validity of the data, they are used as subtests
Packit 61a564
          inside others
Packit 61a564
Packit 61a564
          cleaned up lots of copy and paste Data::Dumper and confess and
Packit 61a564
          various other bits and pieces
Packit 61a564
Packit 61a564
          Test::Deep::Cmp (and it's descendants) autopush themselves onto the
Packit 61a564
          stack of any Test::Deep::* that uses them. Cuts even more cruft.
Packit 61a564
Packit 61a564
          Now everything uses the compare in Test::Deep::Cmp which just does a
Packit 61a564
          deep comparison. This is not perfect for All and Set but it's as good
Packit 61a564
          as what was happeneing before now.
Packit 61a564
Packit 61a564
          Wrapping unknown reftypes as shallow
Packit 61a564
Packit 61a564
0.082
Packit 61a564
Packit 61a564
          Got rid of silly use lib in the tests, shouldn't have been in public
Packit 61a564
Packit 61a564
          Added dependency on Test::More
Packit 61a564
Packit 61a564
          Moved from type =>, vals => to exp =>, got => in stack entries
Packit 61a564
Packit 61a564
          Individual descend()s no longer pop their data from the stack, that's
Packit 61a564
          taken care of by Test::Deep::descend. This made things simpler in all
Packit 61a564
          the comparisons.
Packit 61a564
Packit 61a564
          Added support for sub/super se/bag comparisons, thanks to Boris
Packit 61a564
          Sukholitko <bobatonhu@yahoo.co.uk>
Packit 61a564
Packit 61a564
          Added scalarref.t
Packit 61a564
Packit 61a564
0.081
Packit 61a564
Packit 61a564
          Got rid of struct mode for num()
Packit 61a564
Packit 61a564
          Large internal changes, now using a stack object rather than just an
Packit 61a564
          array.  This handles rendering the stack.
Packit 61a564
Packit 61a564
          The comparisons handle rendering the got and expected values now.
Packit 61a564
Packit 61a564
          num() and str() numify/stringify before comparing, this makes
Packit 61a564
          overload of == or eq irrelevant. This also prevents problems with the
Packit 61a564
          diag when something stringifies differently to it's numificiation or
Packit 61a564
          differently each time you look.
Packit 61a564
Packit 61a564
          fixed diag of overloaded refs to display the ref value, not the
Packit 61a564
          overloaded value
Packit 61a564
Packit 61a564
          nicer diags for booleans
Packit 61a564
Packit 61a564
0.08
Packit 61a564
Packit 61a564
          Slight doc fix
Packit 61a564
Packit 61a564
          Added coderef calling as a test
Packit 61a564
Packit 61a564
0.07
Packit 61a564
Packit 61a564
          Fixed number.t to skip strict test when if Scalar::Util is not right
Packit 61a564
Packit 61a564
          Major improvement of docs. No longer reads like it was written by a
Packit 61a564
          drunken badger.
Packit 61a564
Packit 61a564
0.06
Packit 61a564
Packit 61a564
          Overhaul of Test::Deep::descend, native types are now wrapped up in a
Packit 61a564
          Test::Deep:Cmp object, moves lots of logic out of descend
Packit 61a564
Packit 61a564
          Added ArrayLength, HashKeys, RefType, and Blessed comparisons
Packit 61a564
Packit 61a564
          All tests now use Test::NoWarnings
Packit 61a564
Packit 61a564
          Broke out descend tests into hash.t, array, regexpref.t, probably
Packit 61a564
          should break out more
Packit 61a564
Packit 61a564
          Updated version of Scalar::Util dependency, thanks to Steve Purkis
Packit 61a564
Packit 61a564
0.05
Packit 61a564
Packit 61a564
          No longer using overload::StrVal() for looking behind overloads as
Packit 61a564
          it's broken for Regexp refs in some versions of Perl.
Packit 61a564
Packit 61a564
0.04
Packit 61a564
Packit 61a564
          Documented bool and included the files!!
Packit 61a564
Packit 61a564
0.03
Packit 61a564
Packit 61a564
          cmp_deeply(undef, \"") calls overload::StrVal(undef)
Packit 61a564
Packit 61a564
          added bool test
Packit 61a564
Packit 61a564
          using Scalar::Util to get reftype and blessed class
Packit 61a564
Packit 61a564
0.02
Packit 61a564
Packit 61a564
          Added prereq to Makefile.PL
Packit 61a564
Packit 61a564
0.01
Packit 61a564
Packit 61a564
          First release