diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/array-test.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/array-test.c b/tests/array-test.c index 4f187919b..6d4b5589b 100644 --- a/tests/array-test.c +++ b/tests/array-test.c @@ -57,6 +57,15 @@ typedef struct { } GlibTestInfo; +static void +sum_up (gpointer data, + gpointer user_data) +{ + gint *sum = (gint *)user_data; + + *sum += GPOINTER_TO_INT (data); +} + int main (int argc, char *argv[]) @@ -65,6 +74,7 @@ main (int argc, GArray *garray; GPtrArray *gparray; GByteArray *gbarray; + gint sum = 0; /* array tests */ garray = g_array_new (FALSE, FALSE, sizeof (gint)); @@ -93,6 +103,9 @@ main (int argc, for (i = 0; i < 10000; i++) if (g_ptr_array_index (gparray, i) != GINT_TO_POINTER (i)) g_print ("array fails: %p ( %p )\n", g_ptr_array_index (gparray, i), GINT_TO_POINTER (i)); + + g_ptr_array_foreach (gparray, sum_up, &sum); + g_assert (sum == 49995000); g_ptr_array_free (gparray, TRUE); |