add tests for json field string (#756)

This commit is contained in:
Lunny Xiao 2017-10-24 19:29:08 +08:00 committed by GitHub
parent fdbf36d7ea
commit 43222cbcaf
1 changed files with 33 additions and 0 deletions

View File

@ -194,3 +194,36 @@ func TestGetError(t *testing.T) {
assert.False(t, has)
assert.NoError(t, err)
}
func TestJSONString(t *testing.T) {
assert.NoError(t, prepareEngine())
type JsonString struct {
Id int64
Content string `xorm:"json"`
}
type JsonJson struct {
Id int64
Content []string `xorm:"json"`
}
assertSync(t, new(JsonJson))
_, err := testEngine.Insert(&JsonJson{
Content: []string{"1", "2"},
})
assert.NoError(t, err)
var js JsonString
has, err := testEngine.Table("json_json").Get(&js)
assert.NoError(t, err)
assert.True(t, has)
assert.EqualValues(t, 1, js.Id)
assert.EqualValues(t, `["1","2"]`, js.Content)
var jss []JsonString
err = testEngine.Table("json_json").Find(&jss)
assert.NoError(t, err)
assert.EqualValues(t, 1, len(jss))
assert.EqualValues(t, `["1","2"]`, jss[0].Content)
}