New testing feature that allows specification of the workdir for the tests
[dbsrgits/DBM-Deep.git] / t / 07_locking.t
index 7ea255e..09e3c8d 100644 (file)
@@ -2,40 +2,30 @@
 # DBM::Deep Test
 ##
 use strict;
-use Test;
-BEGIN { plan tests => 2 }
+use Test::More tests => 4;
+use t::common qw( new_fh );
 
-use DBM::Deep;
+use_ok( 'DBM::Deep' );
 
-##
-# basic file open
-##
-unlink "t/test.db";
-my $db = new DBM::Deep(
-       file => "t/test.db",
-       locking => 1
+my ($fh, $filename) = new_fh();
+my $db = DBM::Deep->new(
+       file => $filename,
+       locking => 1,
 );
-if ($db->error()) {
-       die "ERROR: " . $db->error();
-}
 
 ##
 # basic put/get
 ##
 $db->{key1} = "value1";
-ok( $db->{key1} eq "value1" );
+is( $db->{key1}, "value1", "key1 is set" );
+
+$db->{key2} = [ 1 .. 3 ];
+is( $db->{key2}[1], 2 );
 
 ##
 # explicit lock
 ##
-$db->lock( DBM::Deep::LOCK_EX );
+$db->lock( DBM::Deep->LOCK_EX );
 $db->{key1} = "value2";
 $db->unlock();
-ok( $db->{key1} eq "value2" );
-
-##
-# close, delete file, exit
-##
-undef $db;
-unlink "t/test.db";
-exit(0);
+is( $db->{key1}, "value2", "key1 is overridden" );