718502c2952a806dd1a952c59c11b5b73f4bd879
[dbsrgits/DBM-Deep.git] / t / 40_freespace.t
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';
15 $db->{foo} = '2345';
16
17 my $size = -s $filename;
18 $db->{foo} = '3456';
19 cmp_ok( $size, '==', -s $filename, "A second overwrite doesn't change size" );
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';
27 cmp_ok( $size, '==', -s $filename, "Added a new key after a delete reuses space" );