X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F03values.t;h=e6bd4de49f9da70cd5dea79251bad58f3c998a98;hb=ca4f826a37ccb5194b0b5b9b4190b4007d647d9c;hp=db28ab071fb6085dd3ab010f82c64a2b62606e18;hpb=474e33354b67e58e0bb4fa532adb3c01b148f36e;p=dbsrgits%2FSQL-Abstract.git diff --git a/t/03values.t b/t/03values.t index db28ab0..e6bd4de 100644 --- a/t/03values.t +++ b/t/03values.t @@ -1,5 +1,3 @@ -#!/usr/bin/perl - use strict; use warnings; use Test::More; @@ -55,9 +53,6 @@ my @data = ( }, ); - -plan tests => (@data * 5 + 2); - # test insert() and values() for reentrancy my($insert_hash, $insert_array, $numfields); my $a_sql = SQL::Abstract->new; @@ -79,7 +74,7 @@ for my $record (@data) { is ( $h_stmt, $insert_hash, 'Hash-based insert statement unchanged' ); is_deeply ( \@a_bind, \@h_bind, 'Bind values match after both insert() calls' ); - is_deeply ( [$h_sql->values ($record)] , \@h_bind, 'values() output matches bind values after insert()' ); + is_deeply ( [$h_sql->values($record)] , \@h_bind, 'values() output matches bind values after insert()' ); is ( scalar @h_bind, $numfields, 'Number of fields unchanged' ); } @@ -94,20 +89,30 @@ for my $record (@data) { { my $sql = SQL::Abstract->new; - my $data = { event => 'rapture', time => \ 'now()', xfunc => \ 'somefunc(?)', stuff => 'fluff', }; + my $data = { + event => 'rapture', + stuff => 'fluff', + time => \ 'now()', + xfunc => \ 'xfunc(?)', + yfunc => ['yfunc(?)', 'ystuff' ], + zfunc => \['zfunc(?)', 'zstuff' ], + zzlast => 'zzstuff', + }; - my ($stmt, @bind) = $sql->insert ('table', $data); + my ($stmt, @bind) = $sql->insert('table', $data); is_same_sql_bind ( $stmt, \@bind, - 'INSERT INTO table ( event, stuff, time, xfunc) VALUES ( ?, ?, now(), somefunc (?) )', - [qw/rapture fluff/], # event < stuff + 'INSERT INTO table ( event, stuff, time, xfunc, yfunc, zfunc, zzlast) VALUES ( ?, ?, now(), xfunc (?), yfunc(?), zfunc(?), ? )', + [qw/rapture fluff ystuff zstuff zzstuff/], # event < stuff ); is_same_bind ( - [$sql->values ($data)], + [$sql->values($data)], [@bind], 'values() output matches that of initial bind' - );# || diag "Corresponding SQL statement: $stmt"; + ) || diag "Corresponding SQL statement: $stmt"; } + +done_testing;