Commit | Line | Data |
f72b2dfb |
1 | ## |
2 | # DBM::Deep Test |
3 | ## |
4 | use strict; |
5 | use Test::More tests => 8; |
6 | |
7 | use t::common qw( new_fh ); |
8 | |
0856d3d8 |
9 | sub do_stuff { |
10 | my ($db) = @_; |
11 | |
12 | $db->{foo}{bar} = [ 1 .. 3 ]; |
13 | } |
14 | |
15 | sub verify { |
16 | my ($db) = @_; |
17 | |
18 | cmp_ok( $db->{foo}{bar}[2], '==', 3, "Correct value found" ); |
19 | } |
20 | |
f72b2dfb |
21 | use_ok( 'DBM::Deep' ); |
22 | |
23 | my %sizes; |
24 | |
25 | { |
26 | my ($fh, $filename) = new_fh(); |
27 | { |
28 | my $db = DBM::Deep->new( |
29 | file => $filename, |
0856d3d8 |
30 | fh => $fh, |
f72b2dfb |
31 | data_sector_size => 32, |
32 | ); |
33 | |
34 | do_stuff( $db ); |
35 | } |
36 | |
37 | $sizes{32} = -s $filename; |
38 | |
39 | { |
0856d3d8 |
40 | my $db = DBM::Deep->new( file => $filename ); |
f72b2dfb |
41 | verify( $db ); |
0856d3d8 |
42 | $db->_get_self->_storage->close( $db->_get_self ); |
f72b2dfb |
43 | } |
44 | } |
45 | |
46 | { |
47 | my ($fh, $filename) = new_fh(); |
48 | { |
49 | my $db = DBM::Deep->new( |
50 | file => $filename, |
0856d3d8 |
51 | fh => $fh, |
f72b2dfb |
52 | data_sector_size => 64, |
53 | ); |
54 | |
55 | do_stuff( $db ); |
56 | } |
57 | |
58 | $sizes{64} = -s $filename; |
59 | |
60 | { |
61 | my $db = DBM::Deep->new( $filename ); |
62 | verify( $db ); |
0856d3d8 |
63 | $db->_get_self->_storage->close( $db->_get_self ); |
f72b2dfb |
64 | } |
65 | } |
66 | |
67 | { |
68 | my ($fh, $filename) = new_fh(); |
69 | { |
70 | my $db = DBM::Deep->new( |
71 | file => $filename, |
0856d3d8 |
72 | fh => $fh, |
f72b2dfb |
73 | data_sector_size => 128, |
74 | ); |
75 | |
76 | do_stuff( $db ); |
77 | } |
78 | |
79 | $sizes{128} = -s $filename; |
80 | |
81 | { |
82 | my $db = DBM::Deep->new( $filename ); |
83 | verify( $db ); |
0856d3d8 |
84 | $db->_get_self->_storage->close( $db->_get_self ); |
f72b2dfb |
85 | } |
86 | } |
87 | |
88 | { |
89 | my ($fh, $filename) = new_fh(); |
90 | { |
91 | my $db = DBM::Deep->new( |
92 | file => $filename, |
0856d3d8 |
93 | fh => $fh, |
f72b2dfb |
94 | data_sector_size => 256, |
95 | ); |
96 | |
97 | do_stuff( $db ); |
98 | } |
99 | |
100 | $sizes{256} = -s $filename; |
101 | |
102 | { |
103 | my $db = DBM::Deep->new( $filename ); |
104 | verify( $db ); |
0856d3d8 |
105 | $db->_get_self->_storage->close( $db->_get_self ); |
f72b2dfb |
106 | } |
107 | } |
108 | |
109 | cmp_ok( $sizes{256}, '>', $sizes{128}, "Filesize for 256 > filesize for 128" ); |
110 | cmp_ok( $sizes{128}, '>', $sizes{64}, "Filesize for 128 > filesize for 64" ); |
111 | cmp_ok( $sizes{64}, '>', $sizes{32}, "Filesize for 64 > filesize for 32" ); |
112 | |