aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gmail.com>2016-03-07 01:15:24 -0800
committerZac Medico <zmedico@gmail.com>2016-03-07 01:15:24 -0800
commit4f5821ada67fa024a5d417664e0d6c47a71c5c6c (patch)
treec2a0a88410b1d07c8ddf61b268772a0f6be3b766
parentAdd SQLiteRows.DeclTypes() method (diff)
downloadgolite-4f5821ada67fa024a5d417664e0d6c47a71c5c6c.tar.gz
golite-4f5821ada67fa024a5d417664e0d6c47a71c5c6c.tar.xz
Test SQLiteRows.DeclTypes()
-rw-r--r--sqlite3_test.go35
1 files changed, 35 insertions, 0 deletions
diff --git a/sqlite3_test.go b/sqlite3_test.go
index 9efd313..c7996c6 100644
--- a/sqlite3_test.go
+++ b/sqlite3_test.go
@@ -1279,6 +1279,41 @@ func TestAggregatorRegistration(t *testing.T) {
}
}
+func TestDeclTypes(t *testing.T) {
+
+ d := SQLiteDriver{}
+
+ conn, err := d.Open(":memory:")
+ if err != nil {
+ t.Fatal("Failed to begin transaction:", err)
+ }
+ defer conn.Close()
+
+ sqlite3conn := conn.(*SQLiteConn)
+
+ _, err = sqlite3conn.Exec("create table foo (id integer not null primary key, name text)", nil)
+ if err != nil {
+ t.Fatal("Failed to create table:", err)
+ }
+
+ _, err = sqlite3conn.Exec("insert into foo(name) values(\"bar\")", nil)
+ if err != nil {
+ t.Fatal("Failed to insert:", err)
+ }
+
+ rs, err := sqlite3conn.Query("select * from foo", nil)
+ if err != nil {
+ t.Fatal("Failed to select:", err)
+ }
+ defer rs.Close()
+
+ declTypes := rs.(*SQLiteRows).DeclTypes()
+
+ if !reflect.DeepEqual(declTypes, []string{"integer", "text"}) {
+ t.Fatal("Unexpected declTypes:", declTypes)
+ }
+}
+
var customFunctionOnce sync.Once
func BenchmarkCustomFunctions(b *testing.B) {