Commit | Line | Data |
ffed8b01 |
1 | ## |
2 | # DBM::Deep Test |
3 | ## |
4 | use strict; |
5 | use Test::More; |
6 | use Test::Exception; |
7 | |
8 | plan tests => 5; |
9 | |
10 | use_ok( 'DBM::Deep' ); |
11 | |
12 | unlink "t/test.db"; |
075910ed |
13 | my $db = DBM::Deep->new( "t/test.db" ); |
ffed8b01 |
14 | if ($db->error()) { |
15 | die "ERROR: " . $db->error(); |
16 | } |
17 | |
18 | $db->{key1} = "value1"; |
19 | is( $db->{key1}, "value1", "Value set correctly" ); |
20 | |
21 | # Testing to verify that the close() will occur if open is called on an open DB. |
14a3acb6 |
22 | $db->_open; |
ffed8b01 |
23 | |
24 | is( $db->{key1}, "value1", "Value still set after re-open" ); |
25 | |
26 | throws_ok { |
27 | my $db = DBM::Deep->new( 't' ); |
28 | } qr/^DBM::Deep: Cannot open file: t: /, "Can't open a file we aren't allowed to touch"; |
29 | |
30 | throws_ok { |
31 | my $db = DBM::Deep->new( __FILE__ ); |
32 | } qr/^DBM::Deep: Signature not found -- file is not a Deep DB/, "Only DBM::Deep DB files will be opened"; |