Added unflocks to all tests so that the tests run on OSX
[dbsrgits/DBM-Deep.git] / t / 17_import.t
1 ##
2 # DBM::Deep Test
3 ##
4 use strict;
5 use Test::More tests => 2;
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 my $db = DBM::Deep->new( $filename );
15
16 ##
17 # Create structure in memory
18 ##
19 my $struct = {
20         key1 => "value1",
21         key2 => "value2",
22         array1 => [ "elem0", "elem1", "elem2" ],
23         hash1 => {
24                 subkey1 => "subvalue1",
25                 subkey2 => "subvalue2"
26         }
27 };
28
29 ##
30 # Import entire thing
31 ##
32 $db->import( $struct );
33 undef $struct;
34
35 ##
36 # Make sure everything is there
37 ##
38 ok(
39         ($db->{key1} eq "value1") && 
40         ($db->{key2} eq "value2") && 
41         ($db->{array1} && 
42                 ($db->{array1}->[0] eq "elem0") &&
43                 ($db->{array1}->[1] eq "elem1") && 
44                 ($db->{array1}->[2] eq "elem2")
45         ) && 
46         ($db->{hash1} &&
47                 ($db->{hash1}->{subkey1} eq "subvalue1") && 
48                 ($db->{hash1}->{subkey2} eq "subvalue2")
49         )
50 );