MCPcopy
hub / github.com/buger/jsonparser / TestObjectEachNestedPathAndCallbackError

Function TestObjectEachNestedPathAndCallbackError

parser_test.go:1903–1935  ·  view source on GitHub ↗

Verifies: SYS-REQ-032 [boundary] MCDC SYS-REQ-032: addressed_object_is_well_formed=T, object_callback_returns_error=T, object_callback_error_is_returned=T => TRUE

(t *testing.T)

Source from the content-addressed store, hash-verified

1901// Verifies: SYS-REQ-032 [boundary]
1902// MCDC SYS-REQ-032: addressed_object_is_well_formed=T, object_callback_returns_error=T, object_callback_error_is_returned=T => TRUE
1903func TestObjectEachNestedPathAndCallbackError(t *testing.T) {
1904 t.Run("nested object path", func(t *testing.T) {
1905 var entries []keyValueEntry
1906 err := ObjectEach([]byte(`{"outer":{"a":1,"b":true}}`), func(key, value []byte, valueType ValueType, off int) error {
1907 entries = append(entries, keyValueEntry{
1908 key: string(key),
1909 value: string(value),
1910 valueType: valueType,
1911 })
1912 return nil
1913 }, "outer")
1914 if err != nil {
1915 t.Fatalf("ObjectEach nested path returned error: %v", err)
1916 }
1917 expected := []keyValueEntry{
1918 {key: "a", value: "1", valueType: Number},
1919 {key: "b", value: "true", valueType: Boolean},
1920 }
1921 if !reflect.DeepEqual(expected, entries) {
1922 t.Fatalf("ObjectEach nested path entries mismatch: expected %#v, got %#v", expected, entries)
1923 }
1924 })
1925
1926 t.Run("callback error is returned", func(t *testing.T) {
1927 sentinel := errors.New("stop iteration")
1928 err := ObjectEach([]byte(`{"a":1}`), func(key, value []byte, valueType ValueType, off int) error {
1929 return sentinel
1930 })
1931 if !errors.Is(err, sentinel) {
1932 t.Fatalf("ObjectEach callback error mismatch: expected %v, got %v", sentinel, err)
1933 }
1934 })
1935}
1936
1937var testJson = []byte(`{
1938 "name": "Name",

Callers

nothing calls this directly

Calls 1

ObjectEachFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…