summaryrefslogtreecommitdiff
path: root/test/shell1.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/shell1.test')
-rw-r--r--test/shell1.test78
1 files changed, 68 insertions, 10 deletions
diff --git a/test/shell1.test b/test/shell1.test
index 47f9e41..c60f3af 100644
--- a/test/shell1.test
+++ b/test/shell1.test
@@ -149,7 +149,7 @@ do_test shell1-1.14.3 {
set res [catchcmd "-separator" ""]
set rc [lindex $res 0]
list $rc \
- [regexp {Error: missing argument for option: -separator} $res]
+ [regexp {Error: missing argument to -separator} $res]
} {1 1}
# -stats print memory stats before each finalize
@@ -168,7 +168,7 @@ do_test shell1-1.15.3 {
set res [catchcmd "-nullvalue" ""]
set rc [lindex $res 0]
list $rc \
- [regexp {Error: missing argument for option: -nullvalue} $res]
+ [regexp {Error: missing argument to -nullvalue} $res]
} {1 1}
# -version show SQLite version
@@ -220,7 +220,7 @@ do_test shell1-2.3.2 {
} {0 {}}
do_test shell1-2.3.3 {
catchcmd "test.db" ".explain \"1 2 3\""
-} {0 {}}
+} {1 {ERROR: Not a boolean value: "1 2 3". Assuming "no".}}
do_test shell1-2.3.4 {
catchcmd "test.db" ".explain \"OFF\""
} {0 {}}
@@ -253,7 +253,7 @@ do_test shell1-2.4.2 {
# .backup ?DB? FILE Backup DB (default "main") to FILE
do_test shell1-3.1.1 {
catchcmd "test.db" ".backup"
-} {1 {Error: unknown command or invalid arguments: "backup". Enter ".help" for help}}
+} {1 {missing FILENAME argument on .backup}}
do_test shell1-3.1.2 {
catchcmd "test.db" ".backup FOO"
} {0 {}}
@@ -263,7 +263,7 @@ do_test shell1-3.1.3 {
do_test shell1-3.1.4 {
# too many arguments
catchcmd "test.db" ".backup FOO BAR BAD"
-} {1 {Error: unknown command or invalid arguments: "backup". Enter ".help" for help}}
+} {1 {too many arguments to .backup}}
# .bail ON|OFF Stop after hitting an error. Default OFF
do_test shell1-3.2.1 {
@@ -326,10 +326,6 @@ do_test shell1-3.5.4 {
do_test shell1-3.6.1 {
catchcmd "test.db" ".exit"
} {0 {}}
-do_test shell1-3.6.2 {
- # too many arguments
- catchcmd "test.db" ".exit BAD"
-} {1 {Error: unknown command or invalid arguments: "exit". Enter ".help" for help}}
# .explain ON|OFF Turn output mode suitable for EXPLAIN on or off.
do_test shell1-3.7.1 {
@@ -680,6 +676,15 @@ do_test shell1-3.26.4 {
catchcmd "test.db" ".width 1 1"
# this should be treated the same as a '1' width for col 1 and 2
} {0 {}}
+do_test shell1-3.26.5 {
+ catchcmd "test.db" ".mode column\n.width 10 -10\nSELECT 'abcdefg', 123456;"
+ # this should be treated the same as a '1' width for col 1 and 2
+} {0 {abcdefg 123456}}
+do_test shell1-3.26.6 {
+ catchcmd "test.db" ".mode column\n.width -10 10\nSELECT 'abcdefg', 123456;"
+ # this should be treated the same as a '1' width for col 1 and 2
+} {0 { abcdefg 123456 }}
+
# .timer ON|OFF Turn the CPU timer measurement on or off
do_test shell1-3.27.1 {
@@ -701,18 +706,23 @@ do_test shell1-3-28.1 {
".log stdout\nSELECT coalesce(sqlite_log(123,'hello'),'456');"
} "0 {(123) hello\n456}"
+do_test shell1-3-29.1 {
+ catchcmd "test.db" ".print this is a test"
+} {0 {this is a test}}
+
# Test the output of the ".dump" command
#
do_test shell1-4.1 {
db eval {
CREATE TABLE t1(x);
- INSERT INTO t1 VALUES(null), (1), (2.25), ('hello'), (x'807f');
+ INSERT INTO t1 VALUES(null), (''), (1), (2.25), ('hello'), (x'807f');
}
catchcmd test.db {.dump}
} {0 {PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE t1(x);
INSERT INTO "t1" VALUES(NULL);
+INSERT INTO "t1" VALUES('');
INSERT INTO "t1" VALUES(1);
INSERT INTO "t1" VALUES(2.25);
INSERT INTO "t1" VALUES('hello');
@@ -724,10 +734,58 @@ COMMIT;}}
do_test shell1-4.2 {
catchcmd test.db ".mode insert t1\nselect * from t1;"
} {0 {INSERT INTO t1 VALUES(NULL);
+INSERT INTO t1 VALUES('');
INSERT INTO t1 VALUES(1);
INSERT INTO t1 VALUES(2.25);
INSERT INTO t1 VALUES('hello');
INSERT INTO t1 VALUES(X'807f');}}
+# Test the output of ".mode tcl"
+#
+do_test shell1-4.3 {
+ catchcmd test.db ".mode tcl\nselect * from t1;"
+} {0 {""
+""
+"1"
+"2.25"
+"hello"
+"\200\177"}}
+
+# Test the output of ".mode tcl" with multiple columns
+#
+do_test shell1-4.4 {
+ db eval {
+ CREATE TABLE t2(x,y);
+ INSERT INTO t2 VALUES(null, ''), (1, 2.25), ('hello', x'807f');
+ }
+ catchcmd test.db ".mode tcl\nselect * from t2;"
+} {0 {"" ""
+"1" "2.25"
+"hello" "\200\177"}}
+
+# Test the output of ".mode tcl" with ".nullvalue"
+#
+do_test shell1-4.5 {
+ catchcmd test.db ".mode tcl\n.nullvalue NULL\nselect * from t2;"
+} {0 {"NULL" ""
+"1" "2.25"
+"hello" "\200\177"}}
+
+# Test the output of ".mode tcl" with Tcl reserved characters
+#
+do_test shell1-4.6 {
+ db eval {
+ CREATE TABLE tcl1(x);
+ INSERT INTO tcl1 VALUES('"'), ('['), (']'), ('\{'), ('\}'), (';'), ('$');
+ }
+ foreach {x y} [catchcmd test.db ".mode tcl\nselect * from tcl1;"] break
+ list $x $y [llength $y]
+} {0 {"\""
+"["
+"]"
+"\\{"
+"\\}"
+";"
+"$"} 7}
finish_test