forked from kuroneko/gosqlite3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsql_test.go
34 lines (27 loc) · 851 Bytes
/
sql_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package sqlite3
import "bytes"
import "gob"
import "testing"
func TestGeneral(t *testing.T) {
Initialize()
defer Shutdown()
t.Logf("Sqlite3 Version: %v\n", LibVersion())
filename := ":memory:"
db, e := Open(filename)
fatalOnError(t, e, "opening %v", filename)
defer db.Close()
t.Logf("Database opened: %v [flags: %v]", db.Filename, int(db.Flags))
t.Logf("Returning status: %v", e)
}
func TestBlob(t *testing.T) {
Session("test.db", func(db *Database) {
BAR.Drop(db)
BAR.Create(db)
buffer := new(bytes.Buffer)
encoder := gob.NewEncoder(buffer)
fatalOnError(t, encoder.Encode(TwoItems{ "holy", "moly guacomole" }), "Encoding failed: buffer = %v", buffer)
t.Logf("Encoded data: %v", buffer.Bytes())
db.runQuery(t, "INSERT INTO bar values (?, ?)", 1, TwoItems{ "holy moly", "guacomole" })
db.stepThroughRows(t, BAR)
})
}