Commit | Line | Data |
ed38e772 |
1 | ## |
2 | # DBM::Deep Test |
3 | ## |
4 | use strict; |
5 | use Test::More tests => 4; |
6 | use Test::Exception; |
7 | use t::common qw( new_fh ); |
8 | |
9 | use_ok( 'DBM::Deep' ); |
10 | |
11 | my ($fh, $filename) = new_fh(); |
12 | my $db = DBM::Deep->new( $filename ); |
13 | |
14 | $db->{foo} = '1234'; |
2432d6cc |
15 | $db->{foo} = '2345'; |
ed38e772 |
16 | |
17 | my $size = -s $filename; |
2432d6cc |
18 | $db->{foo} = '3456'; |
19 | cmp_ok( $size, '==', -s $filename, "A second overwrite doesn't change size" ); |
ed38e772 |
20 | |
21 | $size = -s $filename; |
22 | delete $db->{foo}; |
23 | cmp_ok( $size, '==', -s $filename, "Deleted space isn't released" ); |
24 | |
25 | $size = -s $filename; |
26 | $db->{bar} = '2345'; |
ed38e772 |
27 | cmp_ok( $size, '==', -s $filename, "Added a new key after a delete reuses space" ); |
41e27db3 |
28 | |
29 | __END__ |
30 | $db->{bar} = [ 1 .. 3 ]; |
31 | |
32 | $size = -s $filename; |
33 | |
34 | $db->{bar} = [ 3 .. 5 ]; |
35 | cmp_ok( $size, '==', -s $filename, "Overwritten arrays of the same number of keys reuses space" ); |