diff options
author | Colin Walters <walters@verbum.org> | 2011-05-25 11:47:38 -0400 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2011-05-25 11:47:38 -0400 |
commit | 8d64bc23d2b837421ecf9c7b0e4b8d5d95ca0d21 (patch) | |
tree | 0d055410789637103a7f9ced5ccb0ea9d4d0b466 | |
parent | 623ad6eed44f5db1aaae484172eb174495b3bc98 (diff) | |
download | gobject-introspection-8d64bc23d2b837421ecf9c7b0e4b8d5d95ca0d21.tar.gz |
Regress: Add GVariant tests
-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 */ |