Everything: more tests for integer array parameters.
authorC. Scott Ananian <cscott@litl.com>
Fri, 1 May 2009 20:32:33 +0000 (16:32 -0400)
committerJohan Bilien <jobi@litl.com>
Tue, 12 May 2009 15:05:39 +0000 (16:05 +0100)
tests/everything/everything.c
tests/everything/everything.h

index feab26c..d02182d 100644 (file)
@@ -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 */
 
 /************************************************************************/
index f2b470d..023a651 100644 (file)
@@ -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);