diff options
author | Marco Trevisan (TreviƱo) <mail@3v1n0.net> | 2023-04-06 18:02:39 +0200 |
---|---|---|
committer | Marco Trevisan <mail@3v1n0.net> | 2023-04-10 16:40:13 +0000 |
commit | 99f56c0696b5e2ca9fd1c967d5bbe0b4848c7d69 (patch) | |
tree | 355b35c1be3a0d01382d9137c780bd1daaf8e876 | |
parent | b7ef3b3ec75f38013d59fdfacefd29e9ab71f28a (diff) | |
download | gobject-introspection-99f56c0696b5e2ca9fd1c967d5bbe0b4848c7d69.tar.gz |
tests/gimarshallingtests: Add a test case for zero-terminated GValue arrays
Required to test how gjs handles this case.
-rw-r--r-- | tests/gimarshallingtests.c | 22 | ||||
-rw-r--r-- | tests/gimarshallingtests.h | 2 |
2 files changed, 24 insertions, 0 deletions
diff --git a/tests/gimarshallingtests.c b/tests/gimarshallingtests.c index 94ccc0b1..6adc978e 100644 --- a/tests/gimarshallingtests.c +++ b/tests/gimarshallingtests.c @@ -3594,6 +3594,28 @@ gi_marshalling_tests_return_gvalue_flat_array (void) } /** + * gi_marshalling_tests_return_gvalue_zero_terminated_array: + * + * Returns: (array zero-terminated) (transfer full): a flat GValue array + */ +GValue * +gi_marshalling_tests_return_gvalue_zero_terminated_array (void) +{ + GValue *array = g_new0 (GValue, 4); + + g_value_init (&array[0], G_TYPE_INT); + g_value_set_int (&array[0], 42); + + g_value_init (&array[1], G_TYPE_STRING); + g_value_set_static_string (&array[1], "42"); + + g_value_init (&array[2], G_TYPE_BOOLEAN); + g_value_set_boolean (&array[2], TRUE); + + return array; +} + +/** * gi_marshalling_tests_gvalue_round_trip: * @value: The first GValue * diff --git a/tests/gimarshallingtests.h b/tests/gimarshallingtests.h index 5d0656d7..28245629 100644 --- a/tests/gimarshallingtests.h +++ b/tests/gimarshallingtests.h @@ -1152,6 +1152,8 @@ void gi_marshalling_tests_gvalue_flat_array (guint n_values, _GI_TEST_EXTERN GValue *gi_marshalling_tests_return_gvalue_flat_array (void); +_GI_TEST_EXTERN +GValue *gi_marshalling_tests_return_gvalue_zero_terminated_array (void); _GI_TEST_EXTERN GValue *gi_marshalling_tests_gvalue_round_trip (GValue *value); |