Fix obscure failure of CDBICompat accessor install on 5.8
[dbsrgits/DBIx-Class.git] / t / prefetch / empty_cache.t
CommitLineData
c0329273 1BEGIN { do "./t/lib/ANFANG.pm" or die ( $@ || $! ) }
2
b6b8f72f 3use strict;
4use warnings;
5
6use Test::More;
7
c0329273 8
b6b8f72f 9use DBICTest;
10
11my $schema = DBICTest->init_schema();
12
1016d167 13my $queries;
14my $debugcb = sub { $queries++; };
15my $orig_debug = $schema->storage->debug;
16
17{
18 $queries = 0;
19 $schema->storage->debugcb($debugcb);
20 $schema->storage->debug(1);
21
22 my $cds_rs = $schema->resultset('CD')
23 ->search(\'0 = 1', { prefetch => 'tracks', cache => 1 });
24
25 my @cds = $cds_rs->all;
26 is( $queries, 1, '->all on empty original resultset hit db' );
27 is_deeply( $cds_rs->get_cache, [], 'empty cache on original resultset' );
28 is( 0+@cds, 0, 'empty original resultset' );
b6b8f72f 29
1016d167 30 my $tracks_rs = $cds_rs->related_resultset('tracks');
31 is_deeply( $tracks_rs->get_cache, [], 'empty cache on related resultset' );
32
33 my @tracks = $tracks_rs->all;
34 is( $queries, 1, "->all on empty related resultset didn't hit db" );
35 is( 0+@tracks, 0, 'empty related resultset' );
36
37 $schema->storage->debugcb(undef);
38 $schema->storage->debug($orig_debug);
39}
b6b8f72f 40
41done_testing;