diff options
Diffstat (limited to 'json-glib/tests/reader-test.c')
| -rw-r--r-- | json-glib/tests/reader-test.c | 19 | 
1 files changed, 19 insertions, 0 deletions
diff --git a/json-glib/tests/reader-test.c b/json-glib/tests/reader-test.c index b0990b8..7eb982f 100644 --- a/json-glib/tests/reader-test.c +++ b/json-glib/tests/reader-test.c @@ -11,12 +11,20 @@ static const gchar *test_base_array_data =  static const gchar *test_base_object_data =  "{ \"text\" : \"hello, world!\", \"foo\" : \"bar\", \"blah\" : 47 }"; +static const gchar *expected_member_name[] = { +  "text", +  "foo", +  "blah" +}; +  static void  test_base_object (void)  {    JsonParser *parser = json_parser_new ();    JsonReader *reader = json_reader_new (NULL);    GError *error = NULL; +  gchar **members; +  gsize n_members, i;    json_parser_load_from_data (parser, test_base_object_data, -1, &error);    g_assert (error == NULL); @@ -26,6 +34,17 @@ test_base_object (void)    g_assert (json_reader_is_object (reader));    g_assert_cmpint (json_reader_count_members (reader), ==, 3); +  members = json_reader_list_members (reader); +  g_assert (members != NULL); + +  n_members = g_strv_length (members); +  g_assert_cmpint (n_members, ==, json_reader_count_members (reader)); + +  for (i = 0; i < n_members; i++) +    g_assert_cmpstr (members[i], ==, expected_member_name[i]); + +  g_strfreev (members); +    g_assert (json_reader_read_member (reader, "foo"));    g_assert (json_reader_is_value (reader));    g_assert_cmpstr (json_reader_get_string_value (reader), ==, "bar");  | 
