diff options
Diffstat (limited to 't/04_insert.t')
-rw-r--r-- | t/04_insert.t | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/t/04_insert.t b/t/04_insert.t new file mode 100644 index 0000000..08ed7a3 --- /dev/null +++ b/t/04_insert.t @@ -0,0 +1,41 @@ +#!/usr/bin/perl + +use strict; +BEGIN { + $| = 1; + $^W = 1; +} + +use t::lib::Test; +use Test::More tests => 14; +use Test::NoWarnings; + +my $dbh = connect_ok(); + +ok( $dbh->do("CREATE TABLE f (f1, f2, f3)"), 'CREATE TABLE f' ); +ok( $dbh->do("delete from f"), 'DELETE FROM f' ); + +SCOPE: { + my $sth = $dbh->prepare("INSERT INTO f VALUES (?, ?, ?)", { go_last_insert_id_args => [undef, undef, undef, undef] }); + isa_ok($sth, 'DBI::st'); + my $rows = $sth->execute("Fred", "Bloggs", "fred\@bloggs.com"); + is( $rows, 1, '->execute returns 1 row' ); + + is( $sth->execute("test", "test", "1"), 1 ); + is( $sth->execute("test", "test", "2"), 1 ); + is( $sth->execute("test", "test", "3"), 1 ); + + SKIP: { + skip( 'last_insert_id requires DBI v1.43', 2 ) if $DBI::VERSION < 1.43; + is( $dbh->last_insert_id(undef, undef, undef, undef), 4 ); + is( $dbh->func('last_insert_rowid'), 4, 'last_insert_rowid should be 4' ); + } + + SKIP: { + skip( 'method installation requires DBI v1.608', 2 ) if $DBI::VERSION < 1.608; + can_ok($dbh, 'sqlite_last_insert_rowid'); + is( $dbh->sqlite_last_insert_rowid, 4, 'last_insert_rowid should be 4' ); + } +} + +is( $dbh->do("delete from f where f1='test'"), 3 ); |