Fix some should_quote_data_type problems
[dbsrgits/DBIx-Class.git] / t / 95sql_maker.t
CommitLineData
e5938571 1use strict;
2use warnings;
3
4use Test::More;
e5938571 5
c61a0748 6use lib qw(t/lib);
7use DBIC::SqlMakerTest;
e5938571 8
9BEGIN {
10 eval "use DBD::SQLite";
11 plan $@
12 ? ( skip_all => 'needs DBD::SQLite for testing' )
13 : ( tests => 3 );
14}
15
e5938571 16use_ok('DBICTest');
17
18my $schema = DBICTest->init_schema();
19
20my $sql_maker = $schema->storage->sql_maker;
21
22
89479564 23SKIP: {
89869c75 24 skip "SQL::Abstract < 1.49 does not pass through arrayrefs", 2
25 if $SQL::Abstract::VERSION < 1.49;
89479564 26
27 my ($sql, @bind) = $sql_maker->insert(
28 'lottery',
29 {
30 'day' => '2008-11-16',
31 'numbers' => [13, 21, 34, 55, 89]
32 }
33 );
34
35 is_same_sql_bind(
36 $sql, \@bind,
37 q/INSERT INTO lottery (day, numbers) VALUES (?, ?)/,
38 [ ['day' => '2008-11-16'], ['numbers' => [13, 21, 34, 55, 89]] ],
39 'sql_maker passes arrayrefs in insert'
40 );
41
42
43 ($sql, @bind) = $sql_maker->update(
44 'lottery',
45 {
46 'day' => '2008-11-16',
47 'numbers' => [13, 21, 34, 55, 89]
48 }
49 );
50
51 is_same_sql_bind(
52 $sql, \@bind,
53 q/UPDATE lottery SET day = ?, numbers = ?/,
54 [ ['day' => '2008-11-16'], ['numbers' => [13, 21, 34, 55, 89]] ],
55 'sql_maker passes arrayrefs in update'
56 );
57}