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

Function TestDeleteTruncatedArrayInput

deep_spec_test.go:261–285  ·  view source on GitHub ↗

Verifies: SYS-REQ-050 [malformed] Delete with array-element path on truncated array input shall return original input unchanged and shall not panic.

(t *testing.T)

Source from the content-addressed store, hash-verified

259// Delete with array-element path on truncated array input shall return
260// original input unchanged and shall not panic.
261func TestDeleteTruncatedArrayInput(t *testing.T) {
262 cases := []struct {
263 name string
264 data string
265 keys []string
266 }{
267 {name: "truncated array", data: `{"a":[1,2`, keys: []string{"a", "[1]"}},
268 {name: "unclosed inner array", data: `[1,2`, keys: []string{"[0]"}},
269 {name: "single element no close", data: `[1`, keys: []string{"[0]"}},
270 }
271 for _, tc := range cases {
272 t.Run(tc.name, func(t *testing.T) {
273 func() {
274 defer func() {
275 if r := recover(); r != nil {
276 t.Fatalf("Delete(%q, %v) panicked: %v", tc.data, tc.keys, r)
277 }
278 }()
279 result := Delete([]byte(tc.data), tc.keys...)
280 // On error, should return original
281 _ = result
282 }()
283 })
284 }
285}
286
287// Verifies: SYS-REQ-056 [malformed]
288// Delete on mid-structure truncation shall return original input and not panic.

Callers

nothing calls this directly

Calls 1

DeleteFunction · 0.85

Tested by

no test coverage detected