Added unflocks to all tests so that the tests run on OSX
[dbsrgits/DBM-Deep.git] / t / 12_clone.t
1 ##
2 # DBM::Deep Test
3 ##
4 use strict;
5 use Test::More tests => 14;
6 use File::Temp qw( tempfile tempdir );
7 use Fcntl qw( :flock );
8
9 use_ok( 'DBM::Deep' );
10
11 my $dir = tempdir( CLEANUP => 1 );
12 my ($fh, $filename) = tempfile( 'tmpXXXX', UNLINK => 1, DIR => $dir );
13 flock $fh, LOCK_UN;
14
15 {
16     my $clone;
17
18     {
19         my $db = DBM::Deep->new(
20             file => $filename,
21         );
22
23         $db->{key1} = "value1";
24
25         ##
26         # clone db handle, make sure both are usable
27         ##
28         $clone = $db->clone();
29
30         is($clone->{key1}, "value1");
31
32         $clone->{key2} = "value2";
33         $db->{key3} = "value3";
34
35         is($db->{key1}, "value1");
36         is($db->{key2}, "value2");
37         is($db->{key3}, "value3");
38
39         is($clone->{key1}, "value1");
40         is($clone->{key2}, "value2");
41         is($clone->{key3}, "value3");
42     }
43
44     is($clone->{key1}, "value1");
45     is($clone->{key2}, "value2");
46     is($clone->{key3}, "value3");
47 }
48
49 {
50     my $db = DBM::Deep->new(
51         file => $filename,
52     );
53
54     is($db->{key1}, "value1");
55     is($db->{key2}, "value2");
56     is($db->{key3}, "value3");
57 }