Commit | Line | Data |
415dcbb7 |
1 | use strict; |
7a960a12 |
2 | use Test::More tests => 7; |
415dcbb7 |
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 | |
7a960a12 |
15 | my $x_outer = { a => 'b' }; |
16 | my $x_inner = { a => 'c' };; |
17 | |
18 | $db1->{x} = $x_outer; |
19 | is( $db1->{x}{a}, 'b', "We're looking at the right value from outer" ); |
20 | |
415dcbb7 |
21 | $db1->begin_work; |
22 | |
7a960a12 |
23 | $db1->{x} = $x_inner; |
24 | is( $db1->{x}{a}, 'c', "We're looking at the right value from inner" ); |
25 | is( $x_outer->{a}, 'c', "We're looking at the right value from outer" ); |
415dcbb7 |
26 | |
27 | $db1->commit; |
28 | |
7a960a12 |
29 | is( $db1->{x}{a}, 'c', "Commit means x_inner is still correct" ); |
30 | is( $x_outer->{a}, 'c', "outer made the move" ); |
31 | is( $x_inner->{a}, 'c', "inner is still good" ); |