Improved test coverage of tclsqlite.c (CVS 1761)

FossilOrigin-Name: 008e57dcd5e16886ed732fe1e9797a3c00e8c579
diff --git a/test/tclsqlite.test b/test/tclsqlite.test
index 8533a25..00f294b 100644
--- a/test/tclsqlite.test
+++ b/test/tclsqlite.test
@@ -15,7 +15,7 @@
 # interface is pretty well tested.  This file contains some addition
 # tests for fringe issues that the main test suite does not cover.
 #
-# $Id: tclsqlite.test,v 1.25 2004/06/21 06:50:29 danielk1977 Exp $
+# $Id: tclsqlite.test,v 1.26 2004/06/29 12:39:08 drh Exp $
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
@@ -34,7 +34,7 @@
 do_test tcl-1.2 {
   set v [catch {db bogus} msg]
   lappend v $msg
-} {1 {bad option "bogus": must be authorizer, busy, changes, close, commit_hook, complete, errorcode, eval, function, last_insert_rowid, onecolumn, progress, rekey, timeout, trace, collate, collation_needed, or total_changes}}
+} {1 {bad option "bogus": must be authorizer, busy, changes, close, collate, collation_needed, commit_hook, complete, errorcode, eval, function, last_insert_rowid, onecolumn, progress, rekey, timeout, total_changes, or trace}}
 do_test tcl-1.3 {
   execsql {CREATE TABLE t1(a int, b int)}
   execsql {INSERT INTO t1 VALUES(10,20)}
@@ -70,6 +70,67 @@
   regsub {:.*$} $msg {} msg
   lappend v $msg
 } {1 {syntax error in expression "x*"}}
+do_test tcl-1.7 {
+  set v [catch {db} msg]
+  lappend v $msg
+} {1 {wrong # args: should be "db SUBCOMMAND ..."}}
+do_test tcl-1.8 {
+  set v [catch {db authorizer 1 2 3} msg]
+  lappend v $msg
+} {1 {wrong # args: should be "db authorizer ?CALLBACK?"}}
+do_test tcl-1.9 {
+  set v [catch {db busy 1 2 3} msg]
+  lappend v $msg
+} {1 {wrong # args: should be "db busy CALLBACK"}}
+do_test tcl-1.10 {
+  set v [catch {db progress 1} msg]
+  lappend v $msg
+} {1 {wrong # args: should be "db progress N CALLBACK"}}
+do_test tcl-1.11 {
+  set v [catch {db changes xyz} msg]
+  lappend v $msg
+} {1 {wrong # args: should be "db changes "}}
+do_test tcl-1.12 {
+  set v [catch {db commit_hook a b c} msg]
+  lappend v $msg
+} {1 {wrong # args: should be "db commit_hook ?CALLBACK?"}}
+do_test tcl-1.13 {
+  set v [catch {db complete} msg]
+  lappend v $msg
+} {1 {wrong # args: should be "db complete SQL"}}
+do_test tcl-1.14 {
+  set v [catch {db eval} msg]
+  lappend v $msg
+} {1 {wrong # args: should be "db eval SQL ?ARRAY-NAME CODE?"}}
+do_test tcl-1.15 {
+  set v [catch {db function} msg]
+  lappend v $msg
+} {1 {wrong # args: should be "db function NAME SCRIPT"}}
+do_test tcl-1.14 {
+  set v [catch {db last_insert_rowid xyz} msg]
+  lappend v $msg
+} {1 {wrong # args: should be "db last_insert_rowid "}}
+do_test tcl-1.15 {
+  set v [catch {db rekey} msg]
+  lappend v $msg
+} {1 {wrong # args: should be "db rekey KEY"}}
+do_test tcl-1.16 {
+  set v [catch {db timeout} msg]
+  lappend v $msg
+} {1 {wrong # args: should be "db timeout MILLISECONDS"}}
+do_test tcl-1.17 {
+  set v [catch {db collate} msg]
+  lappend v $msg
+} {1 {wrong # args: should be "db collate NAME SCRIPT"}}
+do_test tcl-1.18 {
+  set v [catch {db collation_needed} msg]
+  lappend v $msg
+} {1 {wrong # args: should be "db collation_needed SCRIPT"}}
+do_test tcl-1.19 {
+  set v [catch {db total_changes xyz} msg]
+  lappend v $msg
+} {1 {wrong # args: should be "db total_changes "}}
+
 
 if {[sqlite3 -tcl-uses-utf]} {
   do_test tcl-2.1 {
@@ -102,6 +163,23 @@
   set rc [catch {db onecolumn} errmsg]
   lappend rc $errmsg
 } {1 {wrong # args: should be "db onecolumn SQL"}}
+do_test tcl-3.4 {
+  set rc [catch {db onecolumn {SELECT bogus}} errmsg]
+  lappend rc $errmsg
+} {1 {no such column: bogus}}
 
+# Turn the busy handler on and off
+#
+do_test tcl-4.1 {
+  proc busy_callback {cnt} {
+    break
+  }
+  db busy busy_callback
+  db busy
+} {busy_callback}
+do_test tcl-4.2 {
+  db busy {}
+  db busy
+} {}
 
 finish_test