5 use Test::More tests => 15;
7 use t::common qw( new_fh );
11 my ($fh, $filename) = new_fh();
12 my $db = DBM::Deep->new(
20 seek $db->_get_self->_storage->{fh}, 0, 0;
22 my $db2 = DBM::Deep->new(
31 $db->{bar} = $db->{foo};
33 is( $db->{foo}, 5, "Foo is still 5" );
34 is( $db->{bar}, 5, "Bar is now 5" );
38 is( $db->{foo}, 6, "Foo is now 6" );
39 is( $db->{bar}, 5, "Bar is still 5" );
41 $db->{foo} = [ 1 .. 3 ];
42 $db->{bar} = $db->{foo};
44 is( $db->{foo}[1], 2, "Foo[1] is still 2" );
45 is( $db->{bar}[1], 2, "Bar[1] is now 2" );
49 is( $db->{foo}[3], 42, "Foo[3] is now 42" );
50 is( $db->{bar}[3], 42, "Bar[3] is also 42" );
53 is( $db->{bar}[3], 42, "After delete Foo, Bar[3] is still 42" );
55 $db->{foo} = $db->{bar};
61 is( $db2->{bar}, undef, "It's deleted in the transaction" );
62 is( $db->{bar}[3], 42, "... but not in the main" );
66 # Why hasn't this failed!? Is it because stuff isn't getting deleted as expected?
67 # I need a test that walks the sectors
68 is( $db->{bar}[3], 42, "After delete Foo, Bar[3] is still 42" );
69 is( $db2->{bar}[3], 42, "After delete Foo, Bar[3] is still 42" );
73 is( $db->{bar}[3], 42, "After delete Foo, Bar[3] is still 42" );
86 ok( !exists $db->{bar}, "After commit, bar is gone" );