Rename of Scalar -> Ref
[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
8 use_ok( 'DBM::Deep' );
9
10 my $dir = tempdir( CLEANUP => 1 );
11 my ($fh, $filename) = tempfile( 'tmpXXXX', UNLINK => 1, DIR => $dir );
12
13 {
14     my $clone;
15
16     {
17         my $db = DBM::Deep->new(
18             file => $filename,
19         );
20
21         $db->{key1} = "value1";
22
23         ##
24         # clone db handle, make sure both are usable
25         ##
26         $clone = $db->clone();
27
28         is($clone->{key1}, "value1");
29
30         $clone->{key2} = "value2";
31         $db->{key3} = "value3";
32
33         is($db->{key1}, "value1");
34         is($db->{key2}, "value2");
35         is($db->{key3}, "value3");
36
37         is($clone->{key1}, "value1");
38         is($clone->{key2}, "value2");
39         is($clone->{key3}, "value3");
40     }
41
42     is($clone->{key1}, "value1");
43     is($clone->{key2}, "value2");
44     is($clone->{key3}, "value3");
45 }
46
47 {
48     my $db = DBM::Deep->new(
49         file => $filename,
50     );
51
52     is($db->{key1}, "value1");
53     is($db->{key2}, "value2");
54     is($db->{key3}, "value3");
55 }