MCPcopy Create free account
hub / github.com/buger/jsonparser / TestEachArrayWildcardAlias

Function TestEachArrayWildcardAlias

aliases_test.go:157–192  ·  view source on GitHub ↗

Verifies: SYS-REQ-113 (wildcard array iteration alias) reqproof:proptest:skip parity test for a thin compatibility wrapper

(t *testing.T)

Source from the content-addressed store, hash-verified

155// Verifies: SYS-REQ-113 (wildcard array iteration alias)
156// reqproof:proptest:skip parity test for a thin compatibility wrapper
157func TestEachArrayWildcardAlias(t *testing.T) {
158 data := []byte(`{"payload":{"items":[1,"two",true,null]}}`)
159 var original, alias []wildcardAliasObservation
160
161 originalCount, originalErr := ArrayEachWildcard(data, func(index int, value []byte, dataType ValueType, offset int, err error) error {
162 original = append(original, wildcardAliasObservation{
163 index: index,
164 value: string(value),
165 dataType: dataType,
166 offset: offset,
167 err: aliasErrorString(err),
168 })
169 return nil
170 }, "payload", "items", "[*]")
171
172 aliasCount, aliasErr := EachArrayWildcard(data, func(index int, value []byte, dataType ValueType, offset int, err error) error {
173 alias = append(alias, wildcardAliasObservation{
174 index: index,
175 value: string(value),
176 dataType: dataType,
177 offset: offset,
178 err: aliasErrorString(err),
179 })
180 return nil
181 }, "payload", "items", "[*]")
182
183 if aliasCount != originalCount {
184 t.Fatalf("EachArrayWildcard() count = %d, ArrayEachWildcard() count = %d", aliasCount, originalCount)
185 }
186 if !errors.Is(aliasErr, originalErr) {
187 t.Fatalf("EachArrayWildcard() error = %v, ArrayEachWildcard() error = %v", aliasErr, originalErr)
188 }
189 if !reflect.DeepEqual(alias, original) {
190 t.Fatalf("EachArrayWildcard() observations = %#v, ArrayEachWildcard() observations = %#v", alias, original)
191 }
192}

Callers

nothing calls this directly

Calls 3

ArrayEachWildcardFunction · 0.85
aliasErrorStringFunction · 0.85
EachArrayWildcardFunction · 0.85

Tested by

no test coverage detected