Reviewed-on: https://gitea.com/xorm/xorm/pulls/1942
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-committed-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
Lunny Xiao 2021-06-09 19:30:15 +08:00
parent a6d2bfb4ba
commit fa4b4c4ee3
1 changed files with 40 additions and 0 deletions

View File

@ -986,3 +986,43 @@ func TestInsertTwice(t *testing.T) {
assert.NoError(t, ssn.Commit()) assert.NoError(t, ssn.Commit())
} }
func TestInsertIntSlice(t *testing.T) {
assert.NoError(t, PrepareEngine())
type InsertIntSlice struct {
NameIDs []int `xorm:"json notnull"`
}
assert.NoError(t, testEngine.Sync2(new(InsertIntSlice)))
var v = InsertIntSlice{
NameIDs: []int{1, 2},
}
cnt, err := testEngine.Insert(&v)
assert.NoError(t, err)
assert.EqualValues(t, 1, cnt)
var v2 InsertIntSlice
has, err := testEngine.Get(&v2)
assert.NoError(t, err)
assert.True(t, has)
assert.EqualValues(t, v, v2)
cnt, err = testEngine.Where("1=1").Delete(new(InsertIntSlice))
assert.NoError(t, err)
assert.EqualValues(t, 1, cnt)
var v3 = InsertIntSlice{
NameIDs: nil,
}
cnt, err = testEngine.Insert(&v3)
assert.NoError(t, err)
assert.EqualValues(t, 1, cnt)
var v4 InsertIntSlice
has, err = testEngine.Get(&v4)
assert.NoError(t, err)
assert.True(t, has)
assert.EqualValues(t, v3, v4)
}