Resolve $rsrc instance duality on metadata traversal
[dbsrgits/DBIx-Class.git] / t / prefetch / diamond.t
index 0de8009..dc3e22c 100644 (file)
@@ -1,9 +1,11 @@
+BEGIN { do "./t/lib/ANFANG.pm" or die ( $@ || $! ) }
+
 # Test if prefetch and join in diamond relationship fetching the correct rows
 use strict;
 use warnings;
 
 use Test::More;
-use lib qw(t/lib);
+
 use DBICTest;
 
 my $schema = DBICTest->init_schema();
@@ -31,18 +33,28 @@ my $ars = $schema->resultset ('Artwork');
 # The current artwork belongs to a cd by artist1
 # but the artwork itself is painted by artist2
 #
-# What we try is all possible permutations of join/prefetch 
+# What we try is all possible permutations of join/prefetch
 # combinations in both directions, while always expecting to
 # arrive at the specific artist at the end of each path.
 
 
 my $cd_paths = {
   'no cd' => [],
+  'no cd empty' => [ '' ],
+  'no cd undef' => [ undef ],
+  'no cd href' => [ {} ],
+  'no cd aoh' => [ [{}] ],
+  'no cd complex' => [ [ [ undef ] ] ],
   'cd' => ['cd'],
   'cd->artist1' => [{'cd' => 'artist'}]
 };
 my $a2a_paths = {
   'no a2a' => [],
+  'no a2a empty ' => [ '' ],
+  'no a2a undef' => [ undef ],
+  'no a2a href' => [ {} ],
+  'no a2a aoh' => [ [{}] ],
+  'no a2a complex' => [ [ '' ] ],
   'a2a' => ['artwork_to_artist'],
   'a2a->artist2' => [{'artwork_to_artist' => 'artist'}]
 };