Move find_co_root into DBICTest::Util
[dbsrgits/DBIx-Class.git] / t / cdbi / object_cache.t
CommitLineData
83eef562 1use DBIx::Class::Optional::Dependencies -skip_all_without => 'cdbicompat';
2
592cd0b1 3use strict;
4a233f30 4use warnings;
83eef562 5
592cd0b1 6use Test::More;
7$| = 1;
8
592cd0b1 9
a40329c4 10use lib 't/cdbi/testlib';
11use Film;
592cd0b1 12
13ok +Film->create({
14 Title => 'This Is Spinal Tap',
15 Director => 'Rob Reiner',
16 Rating => 'R',
17});
18
19{
20 my $film1 = Film->retrieve( "This Is Spinal Tap" );
21 my $film2 = Film->retrieve( "This Is Spinal Tap" );
22
23 $film1->Director("Marty DiBergi");
24 is $film2->Director, "Marty DiBergi", 'retrieve returns the same object';
25
26 $film1->discard_changes;
27}
28
29{
30 Film->nocache(1);
8273e845 31
592cd0b1 32 my $film1 = Film->retrieve( "This Is Spinal Tap" );
33 my $film2 = Film->retrieve( "This Is Spinal Tap" );
34
35 $film1->Director("Marty DiBergi");
36 is $film2->Director, "Rob Reiner",
37 'caching turned off';
8273e845 38
592cd0b1 39 $film1->discard_changes;
40}
41
42{
43 Film->nocache(0);
44
45 my $film1 = Film->retrieve( "This Is Spinal Tap" );
46 my $film2 = Film->retrieve( "This Is Spinal Tap" );
47
48 $film1->Director("Marty DiBergi");
49 is $film2->Director, "Marty DiBergi",
50 'caching back on';
51
52 $film1->discard_changes;
53}
54
55
56{
57 Film->nocache(1);
58
59 local $Class::DBI::Weaken_Is_Available = 0;
60
61 my $film1 = Film->retrieve( "This Is Spinal Tap" );
62 my $film2 = Film->retrieve( "This Is Spinal Tap" );
63
64 $film1->Director("Marty DiBergi");
65 is $film2->Director, "Rob Reiner",
66 'CDBI::Weaken_Is_Available turns off all caching';
67
68 $film1->discard_changes;
69}
d9bd5195 70
71done_testing;