diff --git a/testing/all.test b/testing/all.test index 1882b55e..d70fb3f5 100755 --- a/testing/all.test +++ b/testing/all.test @@ -20,3 +20,5 @@ source $testdir/select.test source $testdir/subquery.test source $testdir/where.test source $testdir/compare.test +source $testdir/changes.test +source $testdir/total-changes.test diff --git a/testing/changes.test b/testing/changes.test new file mode 100644 index 00000000..46bdaf65 --- /dev/null +++ b/testing/changes.test @@ -0,0 +1,23 @@ +#!/usr/bin/env tclsh + +set testdir [file dirname $argv0] +source $testdir/tester.tcl + +do_execsql_test_on_specific_db {:memory:} changes-on-basic-insert { + create table temp (t1 integer, primary key (t1)); + insert into temp values (1); + select changes(); +} {1} + +do_execsql_test_on_specific_db {:memory:} changes-on-multiple-row-insert { + create table temp (t1 integer, primary key (t1)); + insert into temp values (1), (2), (3); + select changes(); +} {3} + +do_execsql_test_on_specific_db {:memory:} changes-shows-most-recent { + create table temp (t1 integer, primary key (t1)); + insert into temp values (1), (2), (3); + insert into temp values (4), (5), (6), (7); + select changes(); +} {4} diff --git a/testing/total-changes.test b/testing/total-changes.test new file mode 100644 index 00000000..488f99b7 --- /dev/null +++ b/testing/total-changes.test @@ -0,0 +1,23 @@ +#!/usr/bin/env tclsh + +set testdir [file dirname $argv0] +source $testdir/tester.tcl + +do_execsql_test_on_specific_db {:memory:} total-changes-on-basic-insert { + create table temp (t1 integer, primary key (t1)); + insert into temp values (1); + select total_changes(); +} {1} + +do_execsql_test_on_specific_db {:memory:} total-changes-on-multiple-row-insert { + create table temp (t1 integer, primary key (t1)); + insert into temp values (1), (2), (3); + select total_changes(); +} {3} + +do_execsql_test_on_specific_db {:memory:} total-changes-on-multiple-inserts { + create table temp (t1 integer, primary key (t1)); + insert into temp values (1), (2), (3); + insert into temp values (4), (5), (6), (7); + select total_changes(); +} {7}