Update Changes
[dbsrgits/DBIx-Class.git] / t / resultset / as_query.t
CommitLineData
59af6677 1#!/usr/bin/perl
2
3use strict;
4use warnings FATAL => 'all';
5
70eb901c 6use Data::Dumper;
7
59af6677 8use Test::More;
9use lib qw(t/lib);
10use DBICTest;
152d414d 11use DBIC::SqlMakerTest;
59af6677 12
cbbd7939 13plan tests => 4;
59af6677 14
4dc99a01 15my $schema = DBICTest->init_schema();
16my $art_rs = $schema->resultset('Artist');
17my $cdrs = $schema->resultset('CD');
59af6677 18
19{
20 my $arr = $art_rs->as_query;
4dc99a01 21 my ($query, @bind) = @{$$arr};
59af6677 22
152d414d 23 is_same_sql_bind(
24 $query, \@bind,
45594863 25 "(SELECT me.artistid, me.name, me.rank, me.charfield FROM artist me)", [],
152d414d 26 );
59af6677 27}
28
29$art_rs = $art_rs->search({ name => 'Billy Joel' });
30
31{
32 my $arr = $art_rs->as_query;
4dc99a01 33 my ($query, @bind) = @{$$arr};
59af6677 34
152d414d 35 is_same_sql_bind(
36 $query, \@bind,
45594863 37 "(SELECT me.artistid, me.name, me.rank, me.charfield FROM artist me WHERE ( name = ? ))",
152d414d 38 [ [ name => 'Billy Joel' ] ],
39 );
59af6677 40}
41
42$art_rs = $art_rs->search({ rank => 2 });
43
44{
03834f77 45 my $arr = $art_rs->as_query;
4dc99a01 46 my ($query, @bind) = @{$$arr};
59af6677 47
152d414d 48 is_same_sql_bind(
49 $query, \@bind,
45594863 50 "(SELECT me.artistid, me.name, me.rank, me.charfield FROM artist me WHERE ( ( ( rank = ? ) AND ( name = ? ) ) ) )",
152d414d 51 [ [ rank => 2 ], [ name => 'Billy Joel' ] ],
52 );
59af6677 53}
54
658fa250 55my $rscol = $art_rs->get_column( 'charfield' );
56
57{
03834f77 58 my $arr = $rscol->as_query;
4dc99a01 59 my ($query, @bind) = @{$$arr};
658fa250 60
152d414d 61 is_same_sql_bind(
62 $query, \@bind,
45594863 63 "(SELECT me.charfield FROM artist me WHERE ( ( ( rank = ? ) AND ( name = ? ) ) ) )",
152d414d 64 [ [ rank => 2 ], [ name => 'Billy Joel' ] ],
65 );
658fa250 66}
70eb901c 67
59af6677 68__END__