Remove useless INIT blocks from CDBI tests - no changes
[dbsrgits/DBIx-Class.git] / t / cdbi / object_cache.t
1 use strict;
2 use warnings;
3 use Test::More;
4 $| = 1;
5
6
7 use lib 't/cdbi/testlib';
8 use Film;
9
10 plan skip_all => "Object cache is turned off"
11     if Film->isa("DBIx::Class::CDBICompat::NoObjectIndex");
12
13 plan tests => 5;
14
15
16 ok +Film->create({
17     Title       => 'This Is Spinal Tap',
18     Director    => 'Rob Reiner',
19     Rating      => 'R',
20 });
21
22 {
23     my $film1 = Film->retrieve( "This Is Spinal Tap" );
24     my $film2 = Film->retrieve( "This Is Spinal Tap" );
25
26     $film1->Director("Marty DiBergi");
27     is $film2->Director, "Marty DiBergi", 'retrieve returns the same object';
28
29     $film1->discard_changes;
30 }
31
32 {
33     Film->nocache(1);
34
35     my $film1 = Film->retrieve( "This Is Spinal Tap" );
36     my $film2 = Film->retrieve( "This Is Spinal Tap" );
37
38     $film1->Director("Marty DiBergi");
39     is $film2->Director, "Rob Reiner",
40        'caching turned off';
41
42     $film1->discard_changes;
43 }
44
45 {
46     Film->nocache(0);
47
48     my $film1 = Film->retrieve( "This Is Spinal Tap" );
49     my $film2 = Film->retrieve( "This Is Spinal Tap" );
50
51     $film1->Director("Marty DiBergi");
52     is $film2->Director, "Marty DiBergi",
53        'caching back on';
54
55     $film1->discard_changes;
56 }
57
58
59 {
60     Film->nocache(1);
61
62     local $Class::DBI::Weaken_Is_Available = 0;
63
64     my $film1 = Film->retrieve( "This Is Spinal Tap" );
65     my $film2 = Film->retrieve( "This Is Spinal Tap" );
66
67     $film1->Director("Marty DiBergi");
68     is $film2->Director, "Rob Reiner",
69        'CDBI::Weaken_Is_Available turns off all caching';
70
71     $film1->discard_changes;
72 }
73
74 done_testing;