mirror of
https://github.com/DBD-SQLite/DBD-SQLite
synced 2025-06-07 22:28:47 -04:00
fixed the params mismatch test
This commit is contained in:
parent
e7a213cb58
commit
af4aec38fa
1 changed files with 31 additions and 9 deletions
|
@ -7,7 +7,7 @@ BEGIN {
|
||||||
}
|
}
|
||||||
|
|
||||||
use t::lib::Test qw/connect_ok/;
|
use t::lib::Test qw/connect_ok/;
|
||||||
use Test::More tests => 38;
|
use Test::More tests => 34;
|
||||||
use DBI qw/:sql_types/;
|
use DBI qw/:sql_types/;
|
||||||
|
|
||||||
my $id = 0;
|
my $id = 0;
|
||||||
|
@ -97,12 +97,23 @@ for my $has_pk (0..1) {
|
||||||
$sth->bind_param(1, ++$id);
|
$sth->bind_param(1, ++$id);
|
||||||
$sth->bind_param(2, 3.5, SQL_INTEGER);
|
$sth->bind_param(2, 3.5, SQL_INTEGER);
|
||||||
my $ret = eval { $sth->execute };
|
my $ret = eval { $sth->execute };
|
||||||
ok $@, "died correctly";
|
|
||||||
ok !defined $ret, "returns undef";
|
if ($has_pk) {
|
||||||
ok $sth->errstr && $sth->errstr =~ /datatype mismatch/, "insert failed: type mismatch";
|
ok $@, "died correctly";
|
||||||
|
ok !defined $ret, "returns undef";
|
||||||
|
ok $sth->errstr && $sth->errstr =~ /datatype mismatch/, "insert failed: type mismatch";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ok defined $ret, "inserted without errors";
|
||||||
|
}
|
||||||
|
|
||||||
my ($value) = $dbh->selectrow_array('select v from foo where id = ?', undef, $id);
|
my ($value) = $dbh->selectrow_array('select v from foo where id = ?', undef, $id);
|
||||||
ok !$value, "not inserted/indexed";
|
if ($has_pk) {
|
||||||
|
ok !$value, "not inserted/indexed";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ok $value && $value eq '3.5', "got correct value";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -112,12 +123,23 @@ for my $has_pk (0..1) {
|
||||||
|
|
||||||
# only dies if type is explicitly specified
|
# only dies if type is explicitly specified
|
||||||
my $ret = eval { $sth->execute };
|
my $ret = eval { $sth->execute };
|
||||||
ok $@, "died correctly";
|
|
||||||
ok !defined $ret, "returns undef";
|
if ($has_pk) {
|
||||||
ok $sth->errstr && $sth->errstr =~ /datatype mismatch/, "insert failed: type mismatch";
|
ok $@, "died correctly";
|
||||||
|
ok !defined $ret, "returns undef";
|
||||||
|
ok $sth->errstr && $sth->errstr =~ /datatype mismatch/, "insert failed: type mismatch";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ok defined $ret, "inserted without errors";
|
||||||
|
}
|
||||||
|
|
||||||
my ($value) = $dbh->selectrow_array('select v from foo where id = ?', undef, $id);
|
my ($value) = $dbh->selectrow_array('select v from foo where id = ?', undef, $id);
|
||||||
ok !$value, "not inserted/indexed";
|
if ($has_pk) {
|
||||||
|
ok !$value, "not inserted/indexed";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ok $value && $value eq 'qux', "got correct value";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$dbh->disconnect;
|
$dbh->disconnect;
|
||||||
|
|
Loading…
Add table
Reference in a new issue