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