summaryrefslogtreecommitdiff
path: root/t/04_insert.t
diff options
context:
space:
mode:
Diffstat (limited to 't/04_insert.t')
-rw-r--r--t/04_insert.t41
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 );