From 43222cbcafefb18e76d095960596f0223c81b0ef Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 24 Oct 2017 19:29:08 +0800 Subject: [PATCH] add tests for json field string (#756) --- session_get_test.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/session_get_test.go b/session_get_test.go index 73b23a81..005520ef 100644 --- a/session_get_test.go +++ b/session_get_test.go @@ -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) +}