diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml index 7a8bc8f..871086b 100644 --- a/.github/workflows/codecov.yml +++ b/.github/workflows/codecov.yml @@ -20,5 +20,7 @@ jobs: go-version: "1.18" - name: Run coverage run: go test -v ./... -coverprofile=coverage.txt -covermode=atomic + - name: Run govet + run: go vet -v ./... - name: Upload coverage to Codecov run: bash <(curl -s https://codecov.io/bash) diff --git a/maputil/typemap.go b/maputil/typemap.go index 5bff8af..1108531 100644 --- a/maputil/typemap.go +++ b/maputil/typemap.go @@ -121,6 +121,9 @@ func convertSlice(src reflect.Value, dst reflect.Value) error { func convertMap(src reflect.Value, dst reflect.Value) error { if src.Kind() != reflect.Map || dst.Kind() != reflect.Struct { + // if src.Kind() == reflect.Map { + // return convertMap(src, dst) + // } else if src.Kind() == reflect.Interface { return convertMap(src.Elem(), dst) } else { diff --git a/maputil/typemap_test.go b/maputil/typemap_test.go index 5c42fbf..4c5d47a 100644 --- a/maputil/typemap_test.go +++ b/maputil/typemap_test.go @@ -8,10 +8,10 @@ import ( type ( Person struct { - Name string `json:"name"` - Age int `json:"age"` - Phone string `json:"phone"` - Addr Address `json:"address"` + Name string `json:"name"` + Age int `json:"age"` + Phone string `json:"phone"` + Address Address `json:"address"` } Address struct { @@ -41,8 +41,8 @@ func TestStructType(t *testing.T) { assert.Equal(src["name"], p.Name) assert.Equal(src["age"], p.Age) assert.Equal(src["phone"], p.Phone) - assert.Equal("test", p.Addr.Street) - assert.Equal(1, p.Addr.Number) + assert.Equal("test", p.Address.Street) + assert.Equal(1, p.Address.Number) } func TestBaseType(t *testing.T) {