Removed notion of trans_ctr as an attribute - still having issues with multiple runni...
[dbsrgits/DBM-Deep.git] / t / 40_freespace.t
CommitLineData
ed38e772 1##
2# DBM::Deep Test
3##
4use strict;
5use Test::More tests => 4;
6use Test::Exception;
7use t::common qw( new_fh );
8
9use_ok( 'DBM::Deep' );
10
11my ($fh, $filename) = new_fh();
12my $db = DBM::Deep->new( $filename );
13
14$db->{foo} = '1234';
2432d6cc 15$db->{foo} = '2345';
ed38e772 16
17my $size = -s $filename;
2432d6cc 18$db->{foo} = '3456';
19cmp_ok( $size, '==', -s $filename, "A second overwrite doesn't change size" );
ed38e772 20
21$size = -s $filename;
22delete $db->{foo};
23cmp_ok( $size, '==', -s $filename, "Deleted space isn't released" );
24
25$size = -s $filename;
26$db->{bar} = '2345';
ed38e772 27cmp_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 ];
35cmp_ok( $size, '==', -s $filename, "Overwritten arrays of the same number of keys reuses space" );