1
0
Fork 0
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:
Kenichi Ishigaki 2012-05-07 02:38:49 +00:00
parent e7a213cb58
commit af4aec38fa

View file

@ -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;