Transactions now seem to work, except for the rollback/commit bits
[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" );