[gobject-introspection] Added marshalling tests for GPtrArray
- From: John Palmieri <johnp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gobject-introspection] Added marshalling tests for GPtrArray
- Date: Fri, 17 Jun 2011 20:49:47 +0000 (UTC)
commit 83fe28920512a3e8bc5cdeeb3d59be6f19b80bac
Author: Alex Eftimie <alex eftimie ro>
Date: Fri Jun 10 08:38:19 2011 +0300
Added marshalling tests for GPtrArray
https://bugzilla.gnome.org/show_bug.cgi?id=652256
tests/gimarshallingtests.c | 242 ++++++++++++++++++++++++++++++++++++++++++++
tests/gimarshallingtests.h | 17 +++
2 files changed, 259 insertions(+), 0 deletions(-)
---
diff --git a/tests/gimarshallingtests.c b/tests/gimarshallingtests.c
index 034ef8f..814a6c2 100644
--- a/tests/gimarshallingtests.c
+++ b/tests/gimarshallingtests.c
@@ -1804,6 +1804,248 @@ gi_marshalling_tests_garray_utf8_full_inout (GArray **array_)
}
/**
+ * gi_marshalling_tests_gptrarray_int_none_return:
+ * Returns: (element-type gint) (transfer none):
+ */
+GPtrArray *
+gi_marshalling_tests_gptrarray_int_none_return (void)
+{
+ static GPtrArray *parray = NULL;
+ gint i;
+
+ if (parray == NULL) {
+ parray = g_ptr_array_new ();
+ for (i = 0; i < 4; i++) {
+ g_ptr_array_add (parray, GINT_TO_POINTER(i));
+ }
+ }
+
+ return parray;
+}
+/**
+ * gi_marshalling_tests_gptrarray_utf8_none_return:
+ * Returns: (element-type utf8) (transfer none):
+ */
+GPtrArray *
+gi_marshalling_tests_gptrarray_utf8_none_return (void)
+{
+ static GPtrArray *parray = NULL;
+ static gchar *values[] = {"0", "1", "2"};
+ gint i;
+
+ if (parray == NULL) {
+ parray = g_ptr_array_new ();
+ for (i = 0; i < 3; i++)
+ g_ptr_array_add (parray, (gpointer) values[i]);
+ }
+
+ return parray;
+}
+
+/**
+ * gi_marshalling_tests_gptrarray_utf8_container_return:
+ * Returns: (element-type utf8) (transfer container):
+ */
+GPtrArray *
+gi_marshalling_tests_gptrarray_utf8_container_return (void)
+{
+ GPtrArray *parray = NULL;
+ static gchar *values[] = {"0", "1", "2", NULL};
+ gint i;
+
+ parray = g_ptr_array_new ();
+ for (i = 0; values[i]; i++)
+ g_ptr_array_add (parray, (gpointer)values[i]);
+
+ return parray;
+}
+
+/**
+ * gi_marshalling_tests_gptrarray_utf8_full_return:
+ * Returns: (element-type utf8) (transfer full):
+ */
+GPtrArray *
+gi_marshalling_tests_gptrarray_utf8_full_return (void)
+{
+ GPtrArray *parray = NULL;
+ static gchar *values[] = {"0", "1", "2", NULL};
+ gint i;
+
+ parray = g_ptr_array_new ();
+ for (i = 0; values[i]; i++) {
+ gchar *str = g_strdup (values[i]);
+ g_ptr_array_add (parray, (gpointer)str);
+ }
+
+ return parray;
+}
+
+/**
+ * gi_marshalling_tests_gptrarray_int_none_in:
+ * @parray_: (element-type gint) (transfer none):
+ */
+void
+gi_marshalling_tests_gptrarray_int_none_in (GPtrArray *parray_)
+{
+ g_assert (parray_->len == 4);
+ g_assert (g_ptr_array_index (parray_, 0) == GINT_TO_POINTER(0));
+ g_assert (g_ptr_array_index (parray_, 1) == GINT_TO_POINTER(1));
+ g_assert (g_ptr_array_index (parray_, 2) == GINT_TO_POINTER(2));
+ g_assert (g_ptr_array_index (parray_, 3) == GINT_TO_POINTER(3));
+}
+
+/**
+ * gi_marshalling_tests_gptrarray_utf8_none_in:
+ * @parray_: (element-type utf8) (transfer none):
+ */
+void
+gi_marshalling_tests_gptrarray_utf8_none_in (GPtrArray *parray_)
+{
+ g_assert (parray_->len == 3);
+ g_assert (strcmp (g_ptr_array_index (parray_, 0), "0") == 0);
+ g_assert (strcmp (g_ptr_array_index (parray_, 1), "1") == 0);
+ g_assert (strcmp (g_ptr_array_index (parray_, 2), "2") == 0);
+}
+
+/**
+ * gi_marshalling_tests_gptrarray_utf8_none_out:
+ * @parray_: (out) (element-type utf8) (transfer none):
+ */
+void
+gi_marshalling_tests_gptrarray_utf8_none_out (GPtrArray **parray_)
+{
+ static GPtrArray *internal = NULL;
+ static gchar *values[] = {"0", "1", "2", NULL};
+ gint i;
+
+ if (internal == NULL) {
+ internal = g_ptr_array_new ();
+ for (i = 0; values[i]; i++)
+ g_ptr_array_add (internal, (gpointer)values[i]);
+ }
+
+ *parray_ = internal;
+}
+
+/**
+ * gi_marshalling_tests_gptrarray_utf8_container_out:
+ * @parray_: (out) (element-type utf8) (transfer container):
+ */
+void
+gi_marshalling_tests_gptrarray_utf8_container_out (GPtrArray **parray_)
+{
+ static gchar *values[] = {"0", "1", "2", NULL};
+ gint i;
+
+ *parray_ = NULL;
+
+ *parray_ = g_ptr_array_new ();
+ for (i = 0; values[i]; i++)
+ g_ptr_array_add (*parray_, (gpointer)values[i]);
+}
+
+/**
+ * gi_marshalling_tests_gptrarray_utf8_full_out:
+ * @parray_: (out) (element-type utf8) (transfer full):
+ */
+void
+gi_marshalling_tests_gptrarray_utf8_full_out (GPtrArray **parray_)
+{
+ static gchar *values[] = {"0", "1", "2", NULL};
+ gint i;
+
+ *parray_ = NULL;
+
+ *parray_ = g_ptr_array_new ();
+ for (i = 0; values[i]; i++) {
+ gchar *str = g_strdup (values[i]);
+ g_ptr_array_add (*parray_, (gpointer)str);
+ }
+}
+
+/**
+ * gi_marshalling_tests_gptrarray_utf8_none_inout:
+ * @parray_: (inout) (element-type utf8) (transfer none):
+ */
+void
+gi_marshalling_tests_gptrarray_utf8_none_inout (GPtrArray **parray_)
+{
+ static GPtrArray *internal = NULL;
+ static gchar *values[] = {"-2", "-1", "0", "1", NULL};
+ gint i;
+
+ g_assert ((*parray_)->len == 3);
+ g_assert (strcmp (g_ptr_array_index (*parray_, 0), "0") == 0);
+ g_assert (strcmp (g_ptr_array_index (*parray_, 1), "1") == 0);
+ g_assert (strcmp (g_ptr_array_index (*parray_, 2), "2") == 0);
+
+ if (internal == NULL) {
+ internal = g_ptr_array_new ();
+ for (i = 0; values[i]; i++)
+ g_ptr_array_add (internal, (gpointer) values[i]);
+ }
+
+ *parray_ = internal;
+}
+
+/**
+ * gi_marshalling_tests_gptrarray_utf8_container_inout:
+ * @parray_: (inout) (element-type utf8) (transfer container):
+ */
+void
+gi_marshalling_tests_gptrarray_utf8_container_inout (GPtrArray **parray_)
+{
+ static gchar *val1 = "-2";
+ static gchar *val2 = "-1";
+ static gchar *val3 = "0";
+ static gchar *val4 = "1";
+ GPtrArray *result;
+
+ g_assert ((*parray_)->len == 3);
+ g_assert (strcmp (g_ptr_array_index (*parray_, 0), "0") == 0);
+ g_assert (strcmp (g_ptr_array_index (*parray_, 1), "1") == 0);
+ g_assert (strcmp (g_ptr_array_index (*parray_, 2), "2") == 0);
+
+ result = g_ptr_array_new ();
+ g_ptr_array_add (result, (gpointer) val1);
+ g_ptr_array_add (result, (gpointer) val2);
+ g_ptr_array_add (result, (gpointer) val3);
+ g_ptr_array_add (result, (gpointer) val4);
+
+ *parray_ = result;
+}
+
+/**
+ * gi_marshalling_tests_gptrarray_utf8_full_inout:
+ * @parray_: (inout) (element-type utf8) (transfer full):
+ */
+void
+gi_marshalling_tests_gptrarray_utf8_full_inout (GPtrArray **parray_)
+{
+ static gchar *val1 = "-1";
+ static gchar *val2 = "-2";
+ gchar *val;
+ GPtrArray *result;
+
+ g_assert ((*parray_)->len == 3);
+ g_assert (strcmp (g_ptr_array_index (*parray_, 0), "0") == 0);
+ g_assert (strcmp (g_ptr_array_index (*parray_, 1), "1") == 0);
+ g_assert (strcmp (g_ptr_array_index (*parray_, 2), "2") == 0);
+
+ result = g_ptr_array_new ();
+ val = g_strdup (val2);
+ g_ptr_array_add(result, (gpointer) val);
+ val = g_strdup (val1);
+ g_ptr_array_add(result, (gpointer) val);
+ val = g_strdup ("0");
+ g_ptr_array_add(result, (gpointer) val);
+ val = g_strdup ("1");
+ g_ptr_array_add(result, (gpointer) val);
+
+ *parray_ = result;
+}
+
+/**
* gi_marshalling_tests_bytearray_full_return:
* Returns: (transfer full):
*/
diff --git a/tests/gimarshallingtests.h b/tests/gimarshallingtests.h
index ae5d47c..63a4a6a 100644
--- a/tests/gimarshallingtests.h
+++ b/tests/gimarshallingtests.h
@@ -422,6 +422,23 @@ void gi_marshalling_tests_garray_utf8_none_inout (GArray **array_);
void gi_marshalling_tests_garray_utf8_container_inout (GArray **array_);
void gi_marshalling_tests_garray_utf8_full_inout (GArray **array_);
+/* GPtrArray */
+GPtrArray *gi_marshalling_tests_gptrarray_int_none_return (void);
+GPtrArray *gi_marshalling_tests_gptrarray_utf8_none_return (void);
+GPtrArray *gi_marshalling_tests_gptrarray_utf8_container_return (void);
+GPtrArray *gi_marshalling_tests_gptrarray_utf8_full_return (void);
+
+void gi_marshalling_tests_gptrarray_int_none_in (GPtrArray *parray_);
+void gi_marshalling_tests_gptrarray_utf8_none_in (GPtrArray *parray_);
+
+void gi_marshalling_tests_gptrarray_utf8_none_out (GPtrArray **parray_);
+void gi_marshalling_tests_gptrarray_utf8_container_out (GPtrArray **parray_);
+void gi_marshalling_tests_gptrarray_utf8_full_out (GPtrArray **parray_);
+
+void gi_marshalling_tests_gptrarray_utf8_none_inout (GPtrArray **parray_);
+void gi_marshalling_tests_gptrarray_utf8_container_inout (GPtrArray **parray_);
+void gi_marshalling_tests_gptrarray_utf8_full_inout (GPtrArray **parray_);
+
/* GByteArray */
GByteArray *gi_marshalling_tests_bytearray_full_return (void);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]