github.com/lingyao2333/mo-zero@v1.4.1/core/mapping/fieldoptions_test.go (about)

     1  package mapping
     2  
     3  import (
     4  	"reflect"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  type Bar struct {
    11  	Val string `json:"val"`
    12  }
    13  
    14  func TestFieldOptionOptionalDep(t *testing.T) {
    15  	var bar Bar
    16  	rt := reflect.TypeOf(bar)
    17  	for i := 0; i < rt.NumField(); i++ {
    18  		field := rt.Field(i)
    19  		val, opt, err := parseKeyAndOptions(jsonTagKey, field)
    20  		assert.Equal(t, "val", val)
    21  		assert.Nil(t, opt)
    22  		assert.Nil(t, err)
    23  	}
    24  
    25  	// check nil working
    26  	var o *fieldOptions
    27  	check := func(o *fieldOptions) {
    28  		assert.Equal(t, 0, len(o.optionalDep()))
    29  	}
    30  	check(o)
    31  }