Add test for get map with NULL column (#1948)

Add tests for #1824

Reviewed-on: https://gitea.com/xorm/xorm/pulls/1948
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-committed-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
Lunny Xiao 2021-07-07 19:16:36 +08:00
parent 375857b4be
commit 27b1736c57
1 changed files with 23 additions and 0 deletions

View File

@ -347,6 +347,29 @@ func TestGetSlice(t *testing.T) {
assert.Error(t, err) assert.Error(t, err)
} }
func TestGetMap(t *testing.T) {
assert.NoError(t, PrepareEngine())
type UserinfoMap struct {
Uid int `xorm:"pk autoincr"`
IsMan bool
}
assertSync(t, new(UserinfoMap))
tableName := testEngine.Quote(testEngine.TableName("userinfo_map", true))
_, err := testEngine.Exec(fmt.Sprintf("INSERT INTO %s (is_man) VALUES (NULL)", tableName))
assert.NoError(t, err)
var valuesString = make(map[string]string)
has, err := testEngine.Table("userinfo_map").Get(&valuesString)
assert.NoError(t, err)
assert.Equal(t, true, has)
assert.Equal(t, 2, len(valuesString))
assert.Equal(t, "1", valuesString["uid"])
assert.Equal(t, "", valuesString["is_man"])
}
func TestGetError(t *testing.T) { func TestGetError(t *testing.T) {
assert.NoError(t, PrepareEngine()) assert.NoError(t, PrepareEngine())