tests: Add array marshalling test for array without length argument
authorBastian Winkler <buz@netbuz.org>
Fri, 20 Apr 2012 12:01:18 +0000 (14:01 +0200)
committerMartin Pitt <martinpitt@gnome.org>
Fri, 20 Apr 2012 13:14:13 +0000 (15:14 +0200)
A test case with an array in-argument that is neither zero terminated,
nor fixed length, nor blessed with a length argument.

This is, for example, the case in clutter_texture_set_from_rgb_data()

https://bugzilla.gnome.org/show_bug.cgi?id=674271

Signed-off-by: Martin Pitt <martinpitt@gnome.org>
tests/gimarshallingtests.c
tests/gimarshallingtests.h

index fcbad69..f2cfc35 100644 (file)
@@ -1530,6 +1530,20 @@ gi_marshalling_tests_array_inout_etc (gint first, gint **ints, gint *length, gin
 }
 
 /**
+ * gi_marshalling_tests_array_in_nonzero_nonlen:
+ * @first:
+ * @chars: (array):
+ */
+void
+gi_marshalling_tests_array_in_nonzero_nonlen (gint first, const guint8 *chars)
+{
+    g_assert(chars[0] == 'a');
+    g_assert(chars[1] == 'b');
+    g_assert(chars[2] == 'c');
+    g_assert(chars[3] == 'd');
+}
+
+/**
  * gi_marshalling_tests_array_zero_terminated_return:
  *
  * Returns: (array zero-terminated=1) (transfer none):
index 6fa1b08..2d3e1f6 100644 (file)
@@ -398,6 +398,8 @@ void gi_marshalling_tests_array_out_etc (gint first, gint **ints, gint *length,
 void gi_marshalling_tests_array_inout (gint **ints, gint *length);
 void gi_marshalling_tests_array_inout_etc (gint first, gint **ints, gint *length, gint last, gint *sum);
 
+void gi_marshalling_tests_array_in_nonzero_nonlen (gint first, const guint8 *chars);
+
 /* Zero-terminated */
 
 gchar **gi_marshalling_tests_array_zero_terminated_return (void);