New testing feature that allows specification of the workdir for the tests
[dbsrgits/DBM-Deep.git] / t / 13_setpack.t
CommitLineData
ffed8b01 1##
2# DBM::Deep Test
3##
4use strict;
5use Test::More tests => 2;
fde3db1a 6use t::common qw( new_fh );
ffed8b01 7
8use_ok( 'DBM::Deep' );
9
251dfd0e 10my ($before, $after);
ffed8b01 11
251dfd0e 12{
fde3db1a 13 my ($fh, $filename) = new_fh();
251dfd0e 14 my $db = DBM::Deep->new(
2a81bf9e 15 file => $filename,
251dfd0e 16 autoflush => 1
17 );
18 $db->{key1} = "value1";
19 $db->{key2} = "value2";
20 $before = (stat($db->_fh()))[7];
21}
22
23{
fde3db1a 24 my ($fh, $filename) = new_fh();
251dfd0e 25 my $db = DBM::Deep->new(
2a81bf9e 26 file => $filename,
251dfd0e 27 autoflush => 1
28 );
29
30 ##
31 # set pack to 2-byte (16-bit) words
32 ##
33 $db->_get_self->{engine}->set_pack( 2, 'S' );
ffed8b01 34
251dfd0e 35 $db->{key1} = "value1";
36 $db->{key2} = "value2";
37 $after = (stat($db->_fh()))[7];
38}
ffed8b01 39
251dfd0e 40ok( $after < $before, "The new packsize reduced the size of the file" );