summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2011-05-25 11:47:38 -0400
committerColin Walters <walters@verbum.org>2011-05-25 11:47:38 -0400
commit8d64bc23d2b837421ecf9c7b0e4b8d5d95ca0d21 (patch)
tree0d055410789637103a7f9ced5ccb0ea9d4d0b466
parent623ad6eed44f5db1aaae484172eb174495b3bc98 (diff)
downloadgobject-introspection-8d64bc23d2b837421ecf9c7b0e4b8d5d95ca0d21.tar.gz
Regress: Add GVariant tests
-rw-r--r--tests/scanner/Regress-1.0-expected.gir31
-rw-r--r--tests/scanner/regress.c63
-rw-r--r--tests/scanner/regress.h5
3 files changed, 99 insertions, 0 deletions
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index 40bdf4e0..08e276c5 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -2171,6 +2171,37 @@ call and can be released on return.</doc>
</parameter>
</parameters>
</function>
+ <function name="test_gvariant_as" c:identifier="regress_test_gvariant_as">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">New variant</doc>
+ <type name="GLib.Variant" c:type="GVariant*"/>
+ </return-value>
+ </function>
+ <function name="test_gvariant_asv"
+ c:identifier="regress_test_gvariant_asv">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">New variant</doc>
+ <type name="GLib.Variant" c:type="GVariant*"/>
+ </return-value>
+ </function>
+ <function name="test_gvariant_i" c:identifier="regress_test_gvariant_i">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">New variant</doc>
+ <type name="GLib.Variant" c:type="GVariant*"/>
+ </return-value>
+ </function>
+ <function name="test_gvariant_s" c:identifier="regress_test_gvariant_s">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">New variant</doc>
+ <type name="GLib.Variant" c:type="GVariant*"/>
+ </return-value>
+ </function>
+ <function name="test_gvariant_v" c:identifier="regress_test_gvariant_v">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">New variant</doc>
+ <type name="GLib.Variant" c:type="GVariant*"/>
+ </return-value>
+ </function>
<function name="test_int" c:identifier="regress_test_int">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c
index 3d8690f5..9d4d7812 100644
--- a/tests/scanner/regress.c
+++ b/tests/scanner/regress.c
@@ -324,6 +324,69 @@ regress_test_cairo_surface_full_out (cairo_surface_t **surface)
*surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 10, 10);
}
+/**
+ * regress_test_gvariant_i:
+ *
+ * Returns: (transfer full): New variant
+ */
+GVariant *
+regress_test_gvariant_i (void)
+{
+ return g_variant_new_int32 (1);
+}
+
+/**
+ * regress_test_gvariant_s:
+ *
+ * Returns: (transfer full): New variant
+ */
+GVariant *
+regress_test_gvariant_s (void)
+{
+ return g_variant_new_string ("one");
+}
+
+/**
+ * regress_test_gvariant_asv:
+ *
+ * Returns: (transfer full): New variant
+ */
+GVariant *
+regress_test_gvariant_asv (void)
+{
+ GVariantBuilder b;
+
+ g_variant_builder_init (&b, G_VARIANT_TYPE ("a{sv}"));
+
+ g_variant_builder_add (&b, "{sv}", "name", g_variant_new_string ("foo"));
+ g_variant_builder_add (&b, "{sv}", "timeout", g_variant_new_int32 (10));
+
+ return g_variant_builder_end (&b);
+}
+
+/**
+ * regress_test_gvariant_v:
+ *
+ * Returns: (transfer full): New variant
+ */
+GVariant *
+regress_test_gvariant_v (void)
+{
+ return g_variant_new_variant (g_variant_new_string ("contents"));
+}
+
+/**
+ * regress_test_gvariant_as:
+ *
+ * Returns: (transfer full): New variant
+ */
+GVariant *
+regress_test_gvariant_as (void)
+{
+ const char *as[] = { "one", "two", "three", NULL };
+
+ return g_variant_new_strv (as, -1);
+}
/************************************************************************/
/* utf8 */
diff --git a/tests/scanner/regress.h b/tests/scanner/regress.h
index ee535f65..f463a03e 100644
--- a/tests/scanner/regress.h
+++ b/tests/scanner/regress.h
@@ -130,6 +130,11 @@ cairo_surface_t *regress_test_cairo_surface_full_return (void);
void regress_test_cairo_surface_none_in (cairo_surface_t *surface);
void regress_test_cairo_surface_full_out (cairo_surface_t **surface);
+GVariant *regress_test_gvariant_i (void);
+GVariant *regress_test_gvariant_s (void);
+GVariant *regress_test_gvariant_asv (void);
+GVariant *regress_test_gvariant_v (void);
+GVariant *regress_test_gvariant_as (void);
/* enums / flags */