Move scary stuff to its own class
[dbsrgits/DBIx-Class.git] / t / prefetch / attrs_untouched.t
CommitLineData
8273e845 1use warnings;
e9bd1473 2
3use Test::More;
e9bd1473 4use lib qw(t/lib);
5use DBICTest;
bfa46eb5 6
e9bd1473 7use Data::Dumper;
bfa46eb5 8$Data::Dumper::Sortkeys = 1;
e9bd1473 9
10my $schema = DBICTest->init_schema();
11
f1952f5c 12plan tests => 3;
e9bd1473 13
e9bd1473 14# bug in 0.07000 caused attr (join/prefetch) to be modifed by search
15# so we check the search & attr arrays are not modified
16my $search = { 'artist.name' => 'Caterwauler McCrae' };
17my $attr = { prefetch => [ qw/artist liner_notes/ ],
18 order_by => 'me.cdid' };
19my $search_str = Dumper($search);
20my $attr_str = Dumper($attr);
21
22my $rs = $schema->resultset("CD")->search($search, $attr);
23
24is(Dumper($search), $search_str, 'Search hash untouched after search()');
25is(Dumper($attr), $attr_str, 'Attribute hash untouched after search()');
26cmp_ok($rs + 0, '==', 3, 'Correct number of records returned');