diff options
author | Simon McVittie <smcv@debian.org> | 2020-08-23 18:32:59 +0100 |
---|---|---|
committer | Philip Chimento <philip.chimento@gmail.com> | 2020-09-19 21:55:32 -0700 |
commit | 503723cf4472d70fd7c7e21a6137a82a6b116e18 (patch) | |
tree | 876b798215c858aec8769ca7d0b674158a8583f3 /tests | |
parent | 3e2cca38b6b923fad018b56ab5f497a208170159 (diff) | |
download | gobject-introspection-503723cf4472d70fd7c7e21a6137a82a6b116e18.tar.gz |
gimarshallingtests: Add more tests for flags
Bindings sometimes need to handle flags and enums separately, so
everything that is tested for enums should ideally be tested separately
for flags.
Signed-off-by: Simon McVittie <smcv@debian.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/gimarshallingtests.c | 24 | ||||
-rw-r--r-- | tests/gimarshallingtests.h | 6 |
2 files changed, 30 insertions, 0 deletions
diff --git a/tests/gimarshallingtests.c b/tests/gimarshallingtests.c index fbb1273e..571b7a2e 100644 --- a/tests/gimarshallingtests.c +++ b/tests/gimarshallingtests.c @@ -1523,6 +1523,20 @@ gi_marshalling_tests_array_enum_in (GIMarshallingTestsEnum *v, gint length) } /** + * gi_marshalling_tests_array_flags_in: + * @flags: (array length=length) (transfer none): + * @length: + */ +void +gi_marshalling_tests_array_flags_in (GIMarshallingTestsFlags *v, gint length) +{ + g_assert_cmpint (length, ==, 3); + g_assert_cmpint (v[0], ==, GI_MARSHALLING_TESTS_FLAGS_VALUE1); + g_assert_cmpint (v[1], ==, GI_MARSHALLING_TESTS_FLAGS_VALUE2); + g_assert_cmpint (v[2], ==, GI_MARSHALLING_TESTS_FLAGS_VALUE3); +} + +/** * gi_marshalling_tests_array_in_guint64_len: * @ints: (array length=length) (transfer none): * @length: @@ -3435,6 +3449,16 @@ gi_marshalling_tests_gvalue_in_enum (GValue *value) } /** + * gi_marshalling_tests_gvalue_in_flags: + * @value: (transfer none): + */ +void +gi_marshalling_tests_gvalue_in_flags (GValue *value) +{ + g_assert_cmpint (g_value_get_flags (value), ==, GI_MARSHALLING_TESTS_FLAGS_VALUE3); +} + +/** * gi_marshalling_tests_gvalue_out: * @value: (out) (transfer none): */ diff --git a/tests/gimarshallingtests.h b/tests/gimarshallingtests.h index 656cadd9..5df1035e 100644 --- a/tests/gimarshallingtests.h +++ b/tests/gimarshallingtests.h @@ -749,6 +749,9 @@ _GI_TEST_EXTERN void gi_marshalling_tests_array_enum_in (GIMarshallingTestsEnum *_enum, gint length); _GI_TEST_EXTERN +void gi_marshalling_tests_array_flags_in (GIMarshallingTestsFlags *flags, gint length); + +_GI_TEST_EXTERN void gi_marshalling_tests_array_in_guint64_len (const gint *ints, guint64 length); _GI_TEST_EXTERN @@ -1117,6 +1120,9 @@ void gi_marshalling_tests_gvalue_in_with_modification (GValue *value); _GI_TEST_EXTERN void gi_marshalling_tests_gvalue_in_enum (GValue *value); +_GI_TEST_EXTERN +void gi_marshalling_tests_gvalue_in_flags (GValue *value); + _GI_TEST_EXTERN void gi_marshalling_tests_gvalue_out (GValue **value); |