(t *testing.T)
| 79 | } |
| 80 | |
| 81 | func TestFullDocument(t *testing.T) { |
| 82 | t.Parallel() |
| 83 | |
| 84 | t.Run("with empty pointer", func(t *testing.T) { |
| 85 | const in = `` |
| 86 | |
| 87 | p, err := New(in) |
| 88 | require.NoErrorf(t, err, "New(%v) error %v", in, err) |
| 89 | |
| 90 | t.Run("should resolve full doc", func(t *testing.T) { |
| 91 | result, _, err := p.Get(testDocumentJSON(t)) |
| 92 | require.NoErrorf(t, err, "Get(%v) error %v", in, err) |
| 93 | |
| 94 | asMap, ok := result.(map[string]any) |
| 95 | require.TrueT(t, ok) |
| 96 | |
| 97 | require.Lenf(t, asMap, testDocumentNBItems(), "Get(%v) = %v, expect full document", in, result) |
| 98 | }) |
| 99 | |
| 100 | t.Run("should resolve full doc, with nil name provider", func(t *testing.T) { |
| 101 | result, _, err := p.get(testDocumentJSON(t), nil) |
| 102 | require.NoErrorf(t, err, "Get(%v) error %v", in, err) |
| 103 | |
| 104 | asMap, ok := result.(map[string]any) |
| 105 | require.TrueT(t, ok) |
| 106 | require.Lenf(t, asMap, testDocumentNBItems(), "Get(%v) = %v, expect full document", in, result) |
| 107 | |
| 108 | t.Run("should set value in doc, with nil name provider", func(t *testing.T) { |
| 109 | setter, err := New("/foo/0") |
| 110 | require.NoErrorf(t, err, "New(%v) error %v", in, err) |
| 111 | |
| 112 | const value = "hey" |
| 113 | _, err = setter.set(asMap, value, nil) |
| 114 | require.NoError(t, err) |
| 115 | |
| 116 | foos, ok := asMap["foo"] |
| 117 | require.TrueT(t, ok) |
| 118 | |
| 119 | asArray, ok := foos.([]any) |
| 120 | require.TrueT(t, ok) |
| 121 | require.Len(t, asArray, 2) |
| 122 | |
| 123 | foo := asArray[0] |
| 124 | bar, ok := foo.(string) |
| 125 | require.TrueT(t, ok) |
| 126 | |
| 127 | require.EqualT(t, value, bar) |
| 128 | }) |
| 129 | }) |
| 130 | }) |
| 131 | } |
| 132 | |
| 133 | func TestDecodedTokens(t *testing.T) { |
| 134 | t.Parallel() |
nothing calls this directly
no test coverage detected
searching dependent graphs…