From 72c60f4939e49fac9702b1b04ffc04a9df93d3fb Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 9 Jun 2021 14:06:01 +0800 Subject: [PATCH] Test for #1486 --- integrations/session_insert_test.go | 40 +++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/integrations/session_insert_test.go b/integrations/session_insert_test.go index 47789b8a..eaa1b2c7 100644 --- a/integrations/session_insert_test.go +++ b/integrations/session_insert_test.go @@ -986,3 +986,43 @@ func TestInsertTwice(t *testing.T) { 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) +} -- 2.40.1