More tests added
[dbsrgits/DBM-Deep.git] / t / 17_import.t
CommitLineData
ffed8b01 1##
2# DBM::Deep Test
3##
4use strict;
5use Test::More tests => 2;
2a81bf9e 6use File::Temp qw( tempfile tempdir );
58910373 7use Fcntl qw( :flock );
ffed8b01 8
9use_ok( 'DBM::Deep' );
10
2a81bf9e 11my $dir = tempdir( CLEANUP => 1 );
12my ($fh, $filename) = tempfile( 'tmpXXXX', UNLINK => 1, DIR => $dir );
58910373 13flock $fh, LOCK_UN;
2a81bf9e 14my $db = DBM::Deep->new( $filename );
ffed8b01 15
16##
17# Create structure in memory
18##
19my $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 );
33undef $struct;
34
35##
36# Make sure everything is there
37##
38ok(
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);