]> git.ipfire.org Git - thirdparty/json-c.git/commitdiff
Add tests for the json_object_array_del_idx() function.
authorEric Haszlakiewicz <erh+git@nimenees.com>
Sat, 30 Apr 2016 19:09:45 +0000 (19:09 +0000)
committerEric Haszlakiewicz <erh+git@nimenees.com>
Sat, 30 Apr 2016 19:09:45 +0000 (19:09 +0000)
tests/test1.c
tests/test1.expected
tests/test1Formatted_plain.expected
tests/test1Formatted_pretty.expected
tests/test1Formatted_spaced.expected

index c047c30adc49cc740e300ad0f6df2bd2172f946b..2446a10e9727d7b7007c5b695cd8355493df4cb6 100644 (file)
@@ -33,6 +33,75 @@ static int sort_fn (const void *j1, const void *j2)
 /* no special define */
 #endif
 
+json_object *make_array(void);
+json_object *make_array()
+{
+       json_object *my_array;
+
+       my_array = json_object_new_array();
+       json_object_array_add(my_array, json_object_new_int(1));
+       json_object_array_add(my_array, json_object_new_int(2));
+       json_object_array_add(my_array, json_object_new_int(3));
+       json_object_array_put_idx(my_array, 4, json_object_new_int(5));
+       json_object_array_put_idx(my_array, 3, json_object_new_int(4));
+       json_object_array_put_idx(my_array, 6, json_object_new_int(7));
+
+       return my_array;
+}
+
+void test_array_del_idx(void);
+void test_array_del_idx()
+{
+       int rc;
+       int ii;
+       int orig_array_len;
+       json_object *my_array;
+#ifdef TEST_FORMATTED
+       int sflags = 0;
+#endif
+
+       my_array = make_array();
+       orig_array_len = json_object_array_length(my_array);
+
+       printf("my_array=\n");
+       for(ii = 0; ii < json_object_array_length(my_array); ii++)
+       {
+               json_object *obj = json_object_array_get_idx(my_array, ii);
+               printf("\t[%d]=%s\n", ii, json_object_to_json_string(obj));
+       }
+       printf("my_array.to_string()=%s\n", json_object_to_json_string(my_array));
+
+       for (ii = 0; ii < orig_array_len; ii++)
+       {
+               rc = json_object_array_del_idx(my_array, 0, 1);
+               printf("after del_idx(0,1)=%d, my_array.to_string()=%s\n",
+                      rc, json_object_to_json_string(my_array));
+       }
+
+       // One more time, with the empty array:
+       rc = json_object_array_del_idx(my_array, 0, 1);
+       printf("after del_idx(0,1)=%d, my_array.to_string()=%s\n",
+              rc, json_object_to_json_string(my_array));
+
+       json_object_put(my_array);
+
+       // Delete all array indexes at once
+       my_array = make_array();
+       rc = json_object_array_del_idx(my_array, 0, orig_array_len);
+       printf("after del_idx(0,%d)=%d, my_array.to_string()=%s\n",
+              orig_array_len, rc, json_object_to_json_string(my_array));
+
+       json_object_put(my_array);
+
+       // Delete *more* than all array indexes at once
+       my_array = make_array();
+       rc = json_object_array_del_idx(my_array, 0, orig_array_len + 1);
+       printf("after del_idx(0,%d)=%d, my_array.to_string()=%s\n",
+              orig_array_len + 1, rc, json_object_to_json_string(my_array));
+
+       json_object_put(my_array);
+}
+
 int main(int argc, char **argv)
 {
        json_object *my_string, *my_int, *my_object, *my_array;
@@ -92,6 +161,8 @@ int main(int argc, char **argv)
 
        json_object_put(my_array);
 
+       test_array_del_idx();
+
        my_array = json_object_new_array();
        json_object_array_add(my_array, json_object_new_int(3));
        json_object_array_add(my_array, json_object_new_int(1));
index e9be1f28dda8ad5a9bf67a6d488739508bc6fe58..816a8c7e2bccb6d5a05b53434d532a7bda96113c 100644 (file)
@@ -19,6 +19,25 @@ my_array=
        [3]=null
        [4]=5
 my_array.to_string()=[ 1, 2, 3, null, 5 ]
+my_array=
+       [0]=1
+       [1]=2
+       [2]=3
+       [3]=4
+       [4]=5
+       [5]=null
+       [6]=7
+my_array.to_string()=[ 1, 2, 3, 4, 5, null, 7 ]
+after del_idx(0,1)=0, my_array.to_string()=[ 2, 3, 4, 5, null, 7 ]
+after del_idx(0,1)=0, my_array.to_string()=[ 3, 4, 5, null, 7 ]
+after del_idx(0,1)=0, my_array.to_string()=[ 4, 5, null, 7 ]
+after del_idx(0,1)=0, my_array.to_string()=[ 5, null, 7 ]
+after del_idx(0,1)=0, my_array.to_string()=[ null, 7 ]
+after del_idx(0,1)=0, my_array.to_string()=[ 7 ]
+after del_idx(0,1)=0, my_array.to_string()=[ ]
+after del_idx(0,1)=-1, my_array.to_string()=[ ]
+after del_idx(0,7)=0, my_array.to_string()=[ ]
+after del_idx(0,8)=-1, my_array.to_string()=[ 1, 2, 3, 4, 5, null, 7 ]
 my_array=
        [0]=3
        [1]=1
index 6b93eb729fae5ff110cc46c27827a69cbddca99d..fe68f2763fdaaab8dc41817f8dad658e651d4dc8 100644 (file)
@@ -19,6 +19,25 @@ my_array=
        [3]=null
        [4]=5
 my_array.to_string()=[1,2,3,null,5]
+my_array=
+       [0]=1
+       [1]=2
+       [2]=3
+       [3]=4
+       [4]=5
+       [5]=null
+       [6]=7
+my_array.to_string()=[1,2,3,4,5,null,7]
+after del_idx(0,1)=0, my_array.to_string()=[2,3,4,5,null,7]
+after del_idx(0,1)=0, my_array.to_string()=[3,4,5,null,7]
+after del_idx(0,1)=0, my_array.to_string()=[4,5,null,7]
+after del_idx(0,1)=0, my_array.to_string()=[5,null,7]
+after del_idx(0,1)=0, my_array.to_string()=[null,7]
+after del_idx(0,1)=0, my_array.to_string()=[7]
+after del_idx(0,1)=0, my_array.to_string()=[]
+after del_idx(0,1)=-1, my_array.to_string()=[]
+after del_idx(0,7)=0, my_array.to_string()=[]
+after del_idx(0,8)=-1, my_array.to_string()=[1,2,3,4,5,null,7]
 my_array=
        [0]=3
        [1]=1
index 0f94b4c119cdb72c62aeba11a78474e6ea6ca9f8..85df4fc13652a9d76b3515b2f51c653d78b7491d 100644 (file)
@@ -25,6 +25,25 @@ my_array.to_string()=[
   null,
   5
 ]
+my_array=
+       [0]=1
+       [1]=2
+       [2]=3
+       [3]=4
+       [4]=5
+       [5]=null
+       [6]=7
+my_array.to_string()=[1,2,3,4,5,null,7]
+after del_idx(0,1)=0, my_array.to_string()=[2,3,4,5,null,7]
+after del_idx(0,1)=0, my_array.to_string()=[3,4,5,null,7]
+after del_idx(0,1)=0, my_array.to_string()=[4,5,null,7]
+after del_idx(0,1)=0, my_array.to_string()=[5,null,7]
+after del_idx(0,1)=0, my_array.to_string()=[null,7]
+after del_idx(0,1)=0, my_array.to_string()=[7]
+after del_idx(0,1)=0, my_array.to_string()=[]
+after del_idx(0,1)=-1, my_array.to_string()=[]
+after del_idx(0,7)=0, my_array.to_string()=[]
+after del_idx(0,8)=-1, my_array.to_string()=[1,2,3,4,5,null,7]
 my_array=
        [0]=3
        [1]=1
index e9be1f28dda8ad5a9bf67a6d488739508bc6fe58..57592f9b37644537de003c072b4121fb59c326f4 100644 (file)
@@ -19,6 +19,25 @@ my_array=
        [3]=null
        [4]=5
 my_array.to_string()=[ 1, 2, 3, null, 5 ]
+my_array=
+       [0]=1
+       [1]=2
+       [2]=3
+       [3]=4
+       [4]=5
+       [5]=null
+       [6]=7
+my_array.to_string()=[1,2,3,4,5,null,7]
+after del_idx(0,1)=0, my_array.to_string()=[2,3,4,5,null,7]
+after del_idx(0,1)=0, my_array.to_string()=[3,4,5,null,7]
+after del_idx(0,1)=0, my_array.to_string()=[4,5,null,7]
+after del_idx(0,1)=0, my_array.to_string()=[5,null,7]
+after del_idx(0,1)=0, my_array.to_string()=[null,7]
+after del_idx(0,1)=0, my_array.to_string()=[7]
+after del_idx(0,1)=0, my_array.to_string()=[]
+after del_idx(0,1)=-1, my_array.to_string()=[]
+after del_idx(0,7)=0, my_array.to_string()=[]
+after del_idx(0,8)=-1, my_array.to_string()=[1,2,3,4,5,null,7]
 my_array=
        [0]=3
        [1]=1