diff options
-rw-r--r-- | tests/scanner/Regress-1.0-expected.gir | 31 | ||||
-rw-r--r-- | tests/scanner/regress.c | 63 | ||||
-rw-r--r-- | tests/scanner/regress.h | 5 |
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 */ |