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

Function TestGetArrayLen

len_uint_test.go:14–90  ·  view source on GitHub ↗

Verifies: SYS-REQ-112 (container length accessor). reqproof:proptest:skip targeted witness/regression test; not a property-test subject SYS-REQ-112:nominal:nominal SYS-REQ-112:boundary:nominal SYS-REQ-112:malformed_input:nominal SYS-REQ-112:malformed_input:negative

(t *testing.T)

Source from the content-addressed store, hash-verified

12// SYS-REQ-112:malformed_input:nominal
13// SYS-REQ-112:malformed_input:negative
14func TestGetArrayLen(t *testing.T) {
15 tests := []struct {
16 name string
17 data string
18 keys []string
19 want int
20 wantErr error
21 }{
22 {
23 name: "empty array",
24 data: `[]`,
25 want: 0,
26 },
27 {
28 name: "one element",
29 data: `{"values":[1]}`,
30 keys: []string{"values"},
31 want: 1,
32 },
33 {
34 name: "five elements",
35 data: `[1,2,3,4,5]`,
36 want: 5,
37 },
38 {
39 name: "nested array inner length",
40 data: `{"values":[[1,2,3],["ignored"]]}`,
41 keys: []string{"values", "[0]"},
42 want: 3,
43 },
44 {
45 name: "mixed types",
46 data: `[1,true,null,{"nested":[1,2]},["x","y"]]`,
47 want: 5,
48 },
49 {
50 name: "array of strings",
51 data: `["one,two","three","four,five,six"]`,
52 want: 3,
53 },
54 {
55 name: "malformed array",
56 data: `[1,2`,
57 wantErr: MalformedArrayError,
58 },
59 {
60 name: "addressed value is not an array",
61 data: `{"values":1}`,
62 keys: []string{"values"},
63 wantErr: KeyPathNotFoundError,
64 },
65 {
66 name: "missing path",
67 data: `{"values":[]}`,
68 keys: []string{"missing"},
69 wantErr: KeyPathNotFoundError,
70 },
71 }

Callers

nothing calls this directly

Calls 1

GetArrayLenFunction · 0.85

Tested by

no test coverage detected