mirror of
https://github.com/ncruces/go-sqlite3.git
synced 2026-01-12 05:59:14 +00:00
80 lines
1.3 KiB
Go
80 lines
1.3 KiB
Go
package tests
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/ncruces/go-sqlite3"
|
|
_ "github.com/ncruces/go-sqlite3/embed"
|
|
_ "github.com/ncruces/go-sqlite3/tests/testcfg"
|
|
)
|
|
|
|
func Test_base64(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
db, err := sqlite3.Open(":memory:")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
defer db.Close()
|
|
|
|
// base64
|
|
stmt, _, err := db.Prepare(`SELECT base64('TWFueSBoYW5kcyBtYWtlIGxpZ2h0IHdvcmsu')`)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
defer stmt.Close()
|
|
|
|
if !stmt.Step() {
|
|
t.Fatal("expected one row")
|
|
}
|
|
if got := stmt.ColumnText(0); got != "Many hands make light work." {
|
|
t.Errorf("got %q", got)
|
|
}
|
|
}
|
|
|
|
func Test_decimal(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
db, err := sqlite3.Open(":memory:")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
defer db.Close()
|
|
|
|
stmt, _, err := db.Prepare(`SELECT decimal_add(decimal('0.1'), decimal('0.2')) = decimal('0.3')`)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
defer stmt.Close()
|
|
|
|
if !stmt.Step() {
|
|
t.Fatal("expected one row")
|
|
}
|
|
if !stmt.ColumnBool(0) {
|
|
t.Error("want true")
|
|
}
|
|
}
|
|
|
|
func Test_uint(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
db, err := sqlite3.Open(":memory:")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
defer db.Close()
|
|
|
|
stmt, _, err := db.Prepare(`SELECT 'z2' < 'z11' COLLATE UINT`)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
defer stmt.Close()
|
|
|
|
if !stmt.Step() {
|
|
t.Fatal("expected one row")
|
|
}
|
|
if !stmt.ColumnBool(0) {
|
|
t.Error("want true")
|
|
}
|
|
}
|