See my reply to Andrew for the $a."" stuff and see my reply a long
time ago when I also said that is_deeply should stay the same (both
for this case and others).
I'm just defending the idea that such a comparison is self-consistent,
possible and useful,
F
On 7/2/05, Eirik Berg Hanssen <[EMAIL PROTECTED]> wrote:
> Fergal Daly <[EMAIL PROTECTED]> writes:
>
> > The point about modification is that if 2 things start out equal to
> > one another and they are modified in the same way then they should
> > still be equal to one-another.
>
>
> That implies that two array refs are not equal:
>
>
> use Test::More 'no_plan';
> $x = [];
> $y = [];
> is_deeply($x, $y); # Equal, but "should" not be:
> $x .= ""; # after the "same" modification
> $y .= ""; # of the two things, they are
> is_deeply($x, $y); # not equal!
> __END__
> ok 1
> not ok 2
> # Failed test (- at line 7)
> # got: 'ARRAY(0x812b468)'
> # expected: 'ARRAY(0x812b54c)'
> 1..2
> # Looks like you failed 1 tests of 2.
>
>
> Currently, is_deeply's idea of equivalence does not include that the
> equivalent structures are equivalent after the same modification. Or
> even that they can be modified the same way:
>
>
> use Test::More 'no_plan';
> $x = \do{ my $t = 1 };
> $y = \1;
> is_deeply($$x, $$y); # Equal, but "should" not be:
> eval { $$x++ }; # after the "same" modification
> eval { $$y++ }; # of the two things, they are
> is_deeply($$x, $$y); # not equal!
> __END__
> ok 1
> not ok 2
> # Failed test (- at line 7)
> # got: '2'
> # expected: '1'
> 1..2
> # Looks like you failed 1 tests of 2.
>
>
> Note the similarity between the previous and this:
>
>
> use Test::More 'no_plan';
> $t = 1;
> is_deeply($t, 1); # Equal, but "should" not be:
> eval q{ $t++ }; # after the "same" modification
> eval q{ 1++ }; # of the two things, they are
> is_deeply($t, 1); # not equal!
> __END__
> ok 1
> not ok 2
> # Failed test (- at line 6)
> # got: '2'
> # expected: '1'
> 1..2
> # Looks like you failed 1 tests of 2.
>
>
> ... and what do you know, I would welcome is_deeply to continue
> behaving like this. :-)
>
>
>
> Eirik
> --
> You just paddle around there awhile, and I'll explain about these poles ...
> -- Sally Brown
> Is that in Europe?
> -- Joyce Brown
>