diff options
author | C. Scott Ananian <cscott@litl.com> | 2009-05-01 16:32:33 -0400 |
---|---|---|
committer | Johan Bilien <jobi@litl.com> | 2009-05-12 16:05:39 +0100 |
commit | 26ea778b1533a8499cfb2e98c25037a107569e14 (patch) | |
tree | 1bdbb8eaac929256c4d59dc58167cfcdabe7f0c2 /tests | |
parent | d0d0069bbb276f24b119e1ad702219f2f68d0314 (diff) | |
download | gobject-introspection-26ea778b1533a8499cfb2e98c25037a107569e14.tar.gz |
Everything: more tests for integer array parameters.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/everything/everything.c | 87 | ||||
-rw-r--r-- | tests/everything/everything.h | 6 |
2 files changed, 92 insertions, 1 deletions
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); |