Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(214)

Unified Diff: third_party/sqlite/src/test/shell5.test

Issue 1610963002: Import SQLite 3.10.2. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/sqlite/src/test/shell4.test ('k') | third_party/sqlite/src/test/shrink.test » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/sqlite/src/test/shell5.test
diff --git a/third_party/sqlite/src/test/shell5.test b/third_party/sqlite/src/test/shell5.test
index 8d740cb980efaf3a2e6e5b6d15d579ff8f190a72..b921accca5f431a70bbaff1d314e00644b11f303 100644
--- a/third_party/sqlite/src/test/shell5.test
+++ b/third_party/sqlite/src/test/shell5.test
@@ -55,7 +55,7 @@ do_test shell5-1.1.3 {
# .separator STRING Change separator used by output mode and .import
do_test shell5-1.2.1 {
catchcmd "test.db" ".separator"
-} {1 {Usage: .separator SEPARATOR ?NEWLINE?}}
+} {1 {Usage: .separator COL ?ROW?}}
do_test shell5-1.2.2 {
catchcmd "test.db" ".separator ONE"
} {0 {}}
@@ -65,12 +65,18 @@ do_test shell5-1.2.3 {
do_test shell5-1.2.4 {
# too many arguments
catchcmd "test.db" ".separator ONE TWO THREE"
-} {1 {Usage: .separator SEPARATOR ?NEWLINE?}}
+} {1 {Usage: .separator COL ?ROW?}}
-# separator should default to "|"
-do_test shell5-1.3.1 {
+# column separator should default to "|"
+do_test shell5-1.3.1.1 {
set res [catchcmd "test.db" ".show"]
- list [regexp {separator: \"\|\"} $res]
+ list [regexp {colseparator: \"\|\"} $res]
+} {1}
+
+# row separator should default to "\n"
+do_test shell5-1.3.1.2 {
+ set res [catchcmd "test.db" ".show"]
+ list [regexp {rowseparator: \"\\n\"} $res]
} {1}
# set separator to different value.
@@ -372,5 +378,61 @@ CREATE TABLE t4(a, b);
db eval { SELECT * FROM t4 }
} {xy\" hello one 2 {} {}}
+#----------------------------------------------------------------------------
+# Tests for the shell "ascii" import/export mode.
+#
+do_test shell5-3.1 {
+ set fd [open shell5.csv w]
+ fconfigure $fd -encoding binary -translation binary
+ puts -nonewline $fd "\"test 1\"\x1F,test 2\r\n\x1E"
+ puts -nonewline $fd "test 3\x1Ftest 4\n"
+ close $fd
+ catchcmd test.db {
+.mode ascii
+CREATE TABLE t5(a, b);
+.import shell5.csv t5
+ }
+ db eval { SELECT * FROM t5 }
+} "\{\"test 1\"} \{,test 2\r\n\} \{test 3\} \{test 4\n\}"
+
+do_test shell5-3.2 {
+ set x [catchcmd test.db {
+.mode ascii
+SELECT * FROM t5;
+ }]
+ # Handle platform end-of-line differences
+ regsub -all {[\n\r]?\n} $x <EOL> x
+ set x
+} "0 \{\"test 1\"\x1F,test 2<EOL>\x1Etest 3\x1Ftest 4<EOL>\x1E\}"
+
+do_test shell5-4.1 {
+ forcedelete shell5.csv
+ set fd [open shell5.csv w]
+ puts $fd "1,2,3"
+ puts $fd "4,5"
+ puts $fd "6,7,8"
+ close $fd
+ catchcmd test.db [string trim {
+.mode csv
+CREATE TABLE t6(a, b, c);
+.import shell5.csv t6
+ }]
+ db eval { SELECT * FROM t6 ORDER BY a }
+} {1 2 3 4 5 {} 6 7 8}
+
+do_test shell5-4.2 {
+ forcedelete shell5.csv
+ set fd [open shell5.csv w]
+ puts $fd "1,2,3"
+ puts $fd "4,5"
+ puts $fd "6,7,8,9"
+ close $fd
+ catchcmd test.db [string trim {
+.mode csv
+CREATE TABLE t7(a, b, c);
+.import shell5.csv t7
+ }]
+ db eval { SELECT * FROM t7 ORDER BY a }
+} {1 2 3 4 5 {} 6 7 8}
finish_test
« no previous file with comments | « third_party/sqlite/src/test/shell4.test ('k') | third_party/sqlite/src/test/shrink.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698