First pass at cleanup
[dbsrgits/DBM-Deep.git] / t / 36_transaction_deep.t
1 use strict;
2 use Test::More tests => 7;
3 use Test::Deep;
4 use t::common qw( new_fh );
5
6 use_ok( 'DBM::Deep' );
7
8 my ($fh, $filename) = new_fh();
9 my $db1 = DBM::Deep->new(
10     file => $filename,
11     locking => 1,
12     autoflush => 1,
13 );
14
15 my $x_outer = { a => 'b' };
16 my $x_inner = { a => 'c' };
17
18 $db1->{x} = $x_outer;
19 is( $db1->{x}{a}, 'b', "BEFORE: We're looking at the right value from outer" );
20
21 $db1->begin_work;
22
23     $db1->{x} = $x_inner;
24     is( $db1->{x}{a}, 'c', "WITHIN: We're looking at the right value from inner" );
25 TODO: {
26     local $TODO = "Transactions not done yet";
27     is( $x_outer->{a}, 'c', "WITHIN: We're looking at the right value from outer" );
28 }
29
30 $db1->commit;
31
32 is( $db1->{x}{a}, 'c', "AFTER: Commit means x_inner is still correct" );
33 TODO: {
34     local $TODO = "Transactions not done yet";
35 is( $x_outer->{a}, 'c', "AFTER: outer made the move" );
36 is( $x_inner->{a}, 'c', "AFTER: inner made the move" );
37 }