MCPcopy Index your code
hub / github.com/imroc/req / assertClone

Function assertClone

req_test.go:78–107  ·  view source on GitHub ↗
(t *testing.T, e, g any)

Source from the content-addressed store, hash-verified

76}
77
78func assertClone(t *testing.T, e, g any) {
79 ev := reflect.ValueOf(e).Elem()
80 gv := reflect.ValueOf(g).Elem()
81 et := ev.Type()
82
83 for i := 0; i < ev.NumField(); i++ {
84 sf := ev.Field(i)
85 st := et.Field(i)
86
87 var ee, gg any
88 if !token.IsExported(st.Name) {
89 ee = reflect.NewAt(sf.Type(), unsafe.Pointer(sf.UnsafeAddr())).Elem().Interface()
90 gg = reflect.NewAt(sf.Type(), unsafe.Pointer(gv.Field(i).UnsafeAddr())).Elem().Interface()
91 } else {
92 ee = sf.Interface()
93 gg = gv.Field(i).Interface()
94 }
95 if sf.Kind() == reflect.Func || sf.Kind() == reflect.Slice || sf.Kind() == reflect.Ptr {
96 if ee != nil {
97 if gg == nil {
98 t.Errorf("Field %s.%s is nil", et.Name(), et.Field(i).Name)
99 }
100 }
101 continue
102 }
103 if !reflect.DeepEqual(ee, gg) {
104 t.Errorf("Field %s.%s is not equal, expected [%v], got [%v]", et.Name(), et.Field(i).Name, ee, gg)
105 }
106 }
107}
108
109// Echo is used in "/echo" API.
110type Echo struct {

Callers 1

TestClientCloneFunction · 0.85

Calls 2

NameMethod · 0.80
ErrorfMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…