Remove one stray version number
[dbsrgits/DBM-Deep.git] / t / 13_setpack.t
CommitLineData
ffed8b01 1##
2# DBM::Deep Test
3##
4use strict;
2120a181 5use Config;
6use Test::More tests => 10;
fde3db1a 7use t::common qw( new_fh );
ffed8b01 8
9use_ok( 'DBM::Deep' );
10
2120a181 11my ($default, $small, $medium, $large);
ffed8b01 12
251dfd0e 13{
fde3db1a 14 my ($fh, $filename) = new_fh();
251dfd0e 15 my $db = DBM::Deep->new(
2a81bf9e 16 file => $filename,
e0098e7f 17 autoflush => 1,
251dfd0e 18 );
19 $db->{key1} = "value1";
20 $db->{key2} = "value2";
6e6789b0 21 $default = (stat($filename))[7];
2120a181 22}
23
24{
25 my ($fh, $filename) = new_fh();
26 {
27 my $db = DBM::Deep->new(
28 file => $filename,
29 autoflush => 1,
30 pack_size => 'medium',
31 );
32
33 $db->{key1} = "value1";
34 $db->{key2} = "value2";
6e6789b0 35 $medium = (stat($filename))[7];
2120a181 36 }
37
38 # This tests the header to verify that the pack_size is really there
39 {
40 my $db = DBM::Deep->new(
41 file => $filename,
42 );
43
44 is( $db->{key1}, 'value1', 'Can read key1' );
45 is( $db->{key2}, 'value2', 'Can read key2' );
46 }
47
48 cmp_ok( $medium, '==', $default, "The default is medium" );
251dfd0e 49}
50
51{
fde3db1a 52 my ($fh, $filename) = new_fh();
9b2370e0 53 {
54 my $db = DBM::Deep->new(
55 file => $filename,
56 autoflush => 1,
57 pack_size => 'small',
58 );
251dfd0e 59
9b2370e0 60 $db->{key1} = "value1";
61 $db->{key2} = "value2";
6e6789b0 62 $small = (stat($filename))[7];
9b2370e0 63 }
64
65 # This tests the header to verify that the pack_size is really there
66 {
67 my $db = DBM::Deep->new(
68 file => $filename,
69 );
70
71 is( $db->{key1}, 'value1', 'Can read key1' );
72 is( $db->{key2}, 'value2', 'Can read key2' );
73 }
2120a181 74
75 cmp_ok( $medium, '>', $small, "medium is greater than small" );
251dfd0e 76}
ffed8b01 77
5ae752e2 78eval "pack('Q', 0);";
79my $haveQ = !$@;
80
2120a181 81SKIP: {
82 skip "Largefile support is not compiled into $^X", 3
5ae752e2 83 unless $haveQ;
2120a181 84
85 my ($fh, $filename) = new_fh();
86 {
87 my $db = DBM::Deep->new(
88 file => $filename,
89 autoflush => 1,
90 pack_size => 'large',
91 );
92
93 $db->{key1} = "value1";
94 $db->{key2} = "value2";
6e6789b0 95 $large = (stat($filename))[7];
2120a181 96 }
97
98 # This tests the header to verify that the pack_size is really there
99 {
100 my $db = DBM::Deep->new(
101 file => $filename,
102 );
103
104 is( $db->{key1}, 'value1', 'Can read key1' );
105 is( $db->{key2}, 'value2', 'Can read key2' );
106 }
107 cmp_ok( $medium, '<', $large, "medium is smaller than large" );
108}
5ae752e2 109
110#SKIP: {
111# skip "Largefile support is compiled into $^X", 3
112# if $haveQ;
113#
114# my ($fh, $filename) = new_fh();
115# {
116# my $db = DBM::Deep->new(
117# file => $filename,
118# autoflush => 1,
119# pack_size => 'large',
120# );
121# }
122#
123#}