diff --git a/test/api_test.c b/test/api_test.c
index 54756c001d5f8a1debae97127911060fbd8f03a7..fc3acdfa87ad85b2e5c1b4e04c1c9ff54e91eea9 100644
--- a/test/api_test.c
+++ b/test/api_test.c
@@ -284,10 +284,16 @@ static void test_json_add_array_nested_object(void **state)
     json_object_object_add(obj, "nested", nested1);
     json_object_array_add(arr, obj);
     json_object_array_add(arr, json_object_get(obj));
+    json_object_array_add(arr, json_object_get(obj));
+    json_object_array_add(arr, json_object_get(obj));
+    json_object_array_add(arr, json_object_get(obj));
     json_object_object_add(file_obj, "array", arr);
 
+    set_by_string(NULL, &modify_obj, "{\"array\": [{\"nested\": {\"nested1\": {\"integer\": 1}}}]}", json_type_object);
     set_by_string("array[-1].nested.nested1.integer", &modify_obj, "1", json_type_int);
     set_by_string("array[-1].nested.nested1", &modify_obj, "{\"integer\": 1}", json_type_object);
+    set_by_string("array[-1].nested", &modify_obj, "{\"nested1\": {\"integer\": 1}}", json_type_object);
+    set_by_string("array[-1]", &modify_obj, "{\"nested\": {\"nested1\": {\"integer\": 1}}}", json_type_object);
 
     printf("file_obj=%s\n", json_object_get_string(file_obj));
     printf("modify_obj=%s\n", json_object_get_string(modify_obj));