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] };

Reply via email to