1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
package Tie::DxHash::Child;
use strict;
use warnings;
use base qw(Tie::DxHash);
use Test::More;
BEGIN { plan tests => 4 }
tie my %obj, 'Tie::DxHash::Child';
%obj = ( r => 'red', g => 'green', g => 'greenish', b => 'blue' );
my $element = delete $obj{x};
is_deeply( $element, [ ], 'non-existent key');
$element = delete $obj{r};
is_deeply( $element, [ 'red' ], 'scalar return value');
my @elements = delete @obj{ qw(g b x) };
is( keys %obj, 0, 'all hash elements removed' );
is_deeply( \@elements, [ [ qw(green greenish) ], [ 'blue' ], [ ] ], 'list return value correctly defined');
|