MCPcopy Index your code
hub / github.com/go-openapi/jsonpointer / TestStruct

Function TestStruct

pointer_test.go:353–440  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

351}
352
353func TestStruct(t *testing.T) {
354 t.Parallel()
355
356 t.Run("with untagged struct field", func(t *testing.T) {
357 type Embedded struct {
358 D int `json:"d"`
359 }
360
361 s := struct {
362 Embedded
363
364 A int `json:"a"`
365 B int
366 Anonymous struct {
367 C int `json:"c"`
368 }
369 }{}
370
371 {
372 s.A = 1
373 s.B = 2
374 s.Anonymous.C = 3
375 s.D = 4
376 }
377
378 t.Run(`should resolve field A tagged "a"`, func(t *testing.T) {
379 pointerA, err := New("/a")
380 require.NoError(t, err)
381
382 value, kind, err := pointerA.Get(s)
383 require.NoError(t, err)
384 require.EqualT(t, reflect.Int, kind)
385 require.Equal(t, 1, value)
386
387 _, err = pointerA.Set(&s, 9)
388 require.NoError(t, err)
389
390 value, _, err = pointerA.Get(s)
391 require.NoError(t, err)
392 require.Equal(t, 9, value)
393 })
394
395 t.Run(`should resolve embedded field D with tag`, func(t *testing.T) {
396 pointerD, err := New("/d")
397 require.NoError(t, err)
398
399 value, kind, err := pointerD.Get(s)
400 require.NoError(t, err)
401 require.EqualT(t, reflect.Int, kind)
402 require.Equal(t, 4, value)
403
404 _, err = pointerD.Set(&s, 6)
405 require.NoError(t, err)
406
407 value, _, err = pointerD.Get(s)
408 require.NoError(t, err)
409 require.Equal(t, 6, value)
410 })

Callers

nothing calls this directly

Calls 4

NewFunction · 0.85
GetMethod · 0.80
SetMethod · 0.80
ErrorMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…