Commit | Line | Data |
c0329273 |
1 | BEGIN { do "./t/lib/ANFANG.pm" or die ( $@ || $! ) } |
2 | |
b6b8f72f |
3 | use strict; |
4 | use warnings; |
5 | |
6 | use Test::More; |
7 | |
c0329273 |
8 | |
b6b8f72f |
9 | use DBICTest; |
10 | |
11 | my $schema = DBICTest->init_schema(); |
12 | |
1016d167 |
13 | my $queries; |
14 | my $debugcb = sub { $queries++; }; |
15 | my $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 | |
41 | done_testing; |