Commit | Line | Data |
e9b0b5f0 |
1 | ## |
2 | # DBM::Deep Test |
3 | ## |
4 | use strict; |
5 | use Test::More tests => 8; |
6 | |
7 | use t::common qw( new_fh ); |
8 | |
45f047f8 |
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 | |
e9b0b5f0 |
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, |
30 | data_sector_size => 32, |
31 | ); |
32 | |
33 | do_stuff( $db ); |
34 | } |
35 | |
36 | $sizes{32} = -s $filename; |
37 | |
38 | { |
45f047f8 |
39 | my $db = DBM::Deep->new( file => $filename ); |
e9b0b5f0 |
40 | verify( $db ); |
f1879fdc |
41 | $db->_get_self->_engine->storage->close( $db->_get_self ); |
e9b0b5f0 |
42 | } |
43 | } |
44 | |
45 | { |
46 | my ($fh, $filename) = new_fh(); |
47 | { |
48 | my $db = DBM::Deep->new( |
49 | file => $filename, |
50 | data_sector_size => 64, |
51 | ); |
52 | |
53 | do_stuff( $db ); |
54 | } |
55 | |
56 | $sizes{64} = -s $filename; |
57 | |
58 | { |
59 | my $db = DBM::Deep->new( $filename ); |
60 | verify( $db ); |
f1879fdc |
61 | $db->_get_self->_engine->storage->close( $db->_get_self ); |
e9b0b5f0 |
62 | } |
63 | } |
64 | |
65 | { |
66 | my ($fh, $filename) = new_fh(); |
67 | { |
68 | my $db = DBM::Deep->new( |
69 | file => $filename, |
70 | data_sector_size => 128, |
71 | ); |
72 | |
73 | do_stuff( $db ); |
74 | } |
75 | |
76 | $sizes{128} = -s $filename; |
77 | |
78 | { |
79 | my $db = DBM::Deep->new( $filename ); |
80 | verify( $db ); |
f1879fdc |
81 | $db->_get_self->_engine->storage->close( $db->_get_self ); |
e9b0b5f0 |
82 | } |
83 | } |
84 | |
85 | { |
86 | my ($fh, $filename) = new_fh(); |
87 | { |
88 | my $db = DBM::Deep->new( |
89 | file => $filename, |
90 | data_sector_size => 256, |
91 | ); |
92 | |
93 | do_stuff( $db ); |
94 | } |
95 | |
96 | $sizes{256} = -s $filename; |
97 | |
98 | { |
99 | my $db = DBM::Deep->new( $filename ); |
100 | verify( $db ); |
f1879fdc |
101 | $db->_get_self->_engine->storage->close( $db->_get_self ); |
e9b0b5f0 |
102 | } |
103 | } |
104 | |
105 | cmp_ok( $sizes{256}, '>', $sizes{128}, "Filesize for 256 > filesize for 128" ); |
106 | cmp_ok( $sizes{128}, '>', $sizes{64}, "Filesize for 128 > filesize for 64" ); |
107 | cmp_ok( $sizes{64}, '>', $sizes{32}, "Filesize for 64 > filesize for 32" ); |
108 | |