File: delete.t

package info (click to toggle)
libtie-dxhash-perl 1.05-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 152 kB
  • sloc: perl: 108; makefile: 5
file content (21 lines) | stat: -rw-r--r-- 589 bytes parent folder | download | duplicates (4)
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');