Skip to content

Commit

Permalink
Tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
ncruces committed Jul 9, 2024
1 parent 7b56989 commit 5872224
Show file tree
Hide file tree
Showing 3 changed files with 102 additions and 0 deletions.
71 changes: 71 additions & 0 deletions ext/blobio/blob_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,13 @@ func Test_readblob(t *testing.T) {
t.Log(err)
}

err = db.Exec(`SELECT readblob('main', 'test1', 'col', 1, 1, 1)`)
if err == nil {
t.Fatal("want error")
} else {
t.Log(err)
}

err = db.Exec(`
CREATE TABLE test1 (col);
CREATE TABLE test2 (col);
Expand All @@ -88,6 +95,18 @@ func Test_readblob(t *testing.T) {
t.Fatal(err)
}

err = db.Exec(`SELECT readblob('main', 'test1', 'col', 1, -1, 1)`)
if err == nil {
t.Fatal("want error")
} else {
t.Log(err)
}

err = db.Exec(`SELECT readblob('main', 'test1', 'col', 1, 1, 0)`)
if err != nil {
t.Log(err)
}

stmt, _, err := db.Prepare(`SELECT readblob('main', value, 'col', 1, 1, 1) FROM array(?)`)
if err != nil {
t.Fatal(err)
Expand Down Expand Up @@ -119,6 +138,51 @@ func Test_readblob(t *testing.T) {
}
}

func Test_writeblob(t *testing.T) {
t.Parallel()

db, err := sqlite3.Open(":memory:")
if err != nil {
t.Fatal(err)
}
defer db.Close()

err = db.Exec(`SELECT writeblob()`)
if err == nil {
t.Fatal("want error")
} else {
t.Log(err)
}

err = db.Exec(`SELECT writeblob('main', 'test', 'col', 1, 1, x'')`)
if err == nil {
t.Fatal("want error")
} else {
t.Log(err)
}

err = db.Exec(`
CREATE TABLE test (col);
INSERT INTO test VALUES (x'cafe');
-- INSERT INTO test2 VALUES (x'babe');
`)
if err != nil {
t.Fatal(err)
}

err = db.Exec(`SELECT writeblob('main', 'test', 'col', 1, -1, x'')`)
if err == nil {
t.Fatal("want error")
} else {
t.Log(err)
}

err = db.Exec(`SELECT writeblob('main', 'test', 'col', 1, 0, x'babe')`)
if err != nil {
t.Log(err)
}
}

func Test_openblob(t *testing.T) {
t.Parallel()

Expand All @@ -135,6 +199,13 @@ func Test_openblob(t *testing.T) {
t.Log(err)
}

err = db.Exec(`SELECT openblob('main', 'test1', 'col', 1, false, NULL)`)
if err == nil {
t.Fatal("want error")
} else {
t.Log(err)
}

err = db.Exec(`
CREATE TABLE test1 (col);
CREATE TABLE test2 (col);
Expand Down
1 change: 1 addition & 0 deletions tests/func_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ func TestCreateFunction(t *testing.T) {
case 10:
ctx.ResultNull()
case 11:
arg.NoChange()
ctx.ResultError(sqlite3.FULL)
}
})
Expand Down
30 changes: 30 additions & 0 deletions tests/stmt_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -611,10 +611,40 @@ func TestStmt_ColumnTime(t *testing.T) {
t.Errorf("want error")
}
}
}

func TestStmt_ColumnValue(t *testing.T) {
t.Parallel()

db, err := sqlite3.Open(":memory:")
if err != nil {
t.Fatal(err)
}
defer db.Close()

stmt, _, err := db.Prepare(`SELECT 1`)
if err != nil {
t.Fatal(err)
}
defer stmt.Close()

if stmt.Step() {
val := stmt.ColumnValue(0)
if _, err := val.InFirst(); err == nil {
t.Error("want error")
}
if _, err := val.InNext(); err == nil {
t.Error("want error")
}
}

if got := stmt.Status(sqlite3.STMTSTATUS_RUN, true); got != 1 {
t.Errorf("got %d, want 1", got)
}

if got := stmt.Status(math.MaxUint32, false); got != 0 {
t.Errorf("got %d, want 0", got)
}
}

func TestStmt_Error(t *testing.T) {
Expand Down

0 comments on commit 5872224

Please sign in to comment.