From 26ea778b1533a8499cfb2e98c25037a107569e14 Mon Sep 17 00:00:00 2001 From: "C. Scott Ananian" Date: Fri, 1 May 2009 16:32:33 -0400 Subject: Everything: more tests for integer array parameters. --- tests/everything/everything.c | 87 ++++++++++++++++++++++++++++++++++++++++++- tests/everything/everything.h | 6 +++ 2 files changed, 92 insertions(+), 1 deletion(-) diff --git a/tests/everything/everything.c b/tests/everything/everything.c index feab26c3..d02182d4 100644 --- a/tests/everything/everything.c +++ b/tests/everything/everything.c @@ -255,7 +255,7 @@ static const char *test_sequence[] = {"1", "2", "3"}; /** * test_array_int_in: - * @n_ints: + * @n_ints: * @ints: (array length=n_ints): List of ints */ int @@ -267,6 +267,64 @@ test_array_int_in (int n_ints, int *ints) return sum; } +/** + * test_array_gint8_in: + * @n_ints: + * @ints: (array length=n_ints): List of ints + */ +int +test_array_gint8_in (int n_ints, gint8 *ints) +{ + int i, sum = 0; + for (i = 0; i < n_ints; i++) + sum += ints[i]; + return sum; +} + +/** + * test_array_gint16_in: + * @n_ints: + * @ints: (array length=n_ints): List of ints + */ +int +test_array_gint16_in (int n_ints, gint16 *ints) +{ + int i, sum = 0; + for (i = 0; i < n_ints; i++) + sum += ints[i]; + return sum; +} + +/** + * test_array_gint32_in: + * @n_ints: + * @ints: (array length=n_ints): List of ints + */ +gint32 +test_array_gint32_in (int n_ints, gint32 *ints) +{ + int i; + gint32 sum = 0; + for (i = 0; i < n_ints; i++) + sum += ints[i]; + return sum; +} + +/** + * test_array_gint64_in: + * @n_ints: + * @ints: (array length=n_ints): List of ints + */ +gint64 +test_array_gint64_in (int n_ints, gint64 *ints) +{ + int i; + gint64 sum = 0; + for (i = 0; i < n_ints; i++) + sum += ints[i]; + return sum; +} + gboolean test_strv_in (char **arr) { @@ -319,6 +377,33 @@ test_strv_out (void) return ret; } +/** + * test_array_int_full_out: + * @len: length of the returned array. + * Returns: (array length=len) (transfer full): a new array of integers. + */ +int * +test_array_int_full_out(int *len) { + int *result, i; + *len = 5; + result = g_malloc0(sizeof(*result) * (*len)); + for (i=1; i < (*len); i++) + result[i] = result[i-1] + 1; + return result; +} + +/** + * test_array_int_none_out: + * @len: length of the returned array. + * Returns: (array length=len) (transfer none): a static array of integers. + */ +int * +test_array_int_none_out(int *len) { + static int result[5] = { 1, 2, 3, 4, 5 }; + *len = 5; + return result; +} + /* interface */ /************************************************************************/ diff --git a/tests/everything/everything.h b/tests/everything/everything.h index f2b470d8..023a6513 100644 --- a/tests/everything/everything.h +++ b/tests/everything/everything.h @@ -38,8 +38,14 @@ GSList *test_filename_return (void); /* array */ gboolean test_strv_in (char **arr); int test_array_int_in (int n_ints, int *ints); +int test_array_gint8_in (int n_ints, gint8 *ints); +int test_array_gint16_in (int n_ints, gint16 *ints); +gint32 test_array_gint32_in (int n_ints, gint32 *ints); +gint64 test_array_gint64_in (int n_ints, gint64 *ints); char *test_array_gtype_in (int n_types, GType *types); char **test_strv_out (void); +int *test_array_int_full_out(int *len); +int *test_array_int_none_out(int *len); /* interface */ /* GList */ G_CONST_RETURN GList *test_glist_nothing_return (void); -- cgit v1.2.1