There's a line missing from Test::More::_deep_check(). It results in funny
diagnostics after comparing scalar refs, so
perl -MTest::More=no_plan -e 'is_deeply([(\"a") x 5, "b"], [(\"a") x 5, "c"])'
gives
# Structures begin differing at:
# $got->[0][1][2][3][4][5] = 'b'
# $expected->[0][1][2][3][4][5] = 'c'
instead of
# Structures begin differing at:
# $got->[5] = 'b'
# $expected->[5] = 'c'
attached patch fixes it,
F
--
Do you need someone with lots of Unix sysadmin and/or lots of OO software
development experience? Go on, giz a job.
My CV - http://www.fergaldaly.com/cv.html
--- ./lib/Test/More.pm.ref 2003-02-27 17:08:09.000000000 +0000
+++ ./lib/Test/More.pm 2003-02-27 20:54:34.000000000 +0000
@@ -1061,6 +1061,7 @@
{
push @Data_Stack, { type => 'REF', vals => [$e1, $e2] };
$ok = _deep_check($$e1, $$e2);
+ pop @Data_Stack if $ok;
}
else {
push @Data_Stack, { vals => [$e1, $e2] };