From aa291aecfe279ac8e93f11778f072bbaaa415205 Mon Sep 17 00:00:00 2001 From: Sam Spilsbury Date: Wed, 1 Mar 2017 23:53:04 +0800 Subject: regress: Add test for setting a NULL strv in a GValue https://bugzilla.gnome.org/show_bug.cgi?id=775679 --- .../Regress.test_null_strv_in_gvalue.page | 30 ++++++++++++++++++++ .../Regress.test_null_strv_in_gvalue.page | 32 ++++++++++++++++++++++ .../Regress.test_null_strv_in_gvalue.page | 32 ++++++++++++++++++++++ tests/scanner/Regress-1.0-expected.gir | 6 ++++ tests/scanner/Regress-1.0-sections-expected.txt | 1 + tests/scanner/regress.c | 17 ++++++++++++ tests/scanner/regress.h | 3 ++ 7 files changed, 121 insertions(+) create mode 100644 tests/scanner/Regress-1.0-C-expected/Regress.test_null_strv_in_gvalue.page create mode 100644 tests/scanner/Regress-1.0-Gjs-expected/Regress.test_null_strv_in_gvalue.page create mode 100644 tests/scanner/Regress-1.0-Python-expected/Regress.test_null_strv_in_gvalue.page diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_null_strv_in_gvalue.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_null_strv_in_gvalue.page new file mode 100644 index 00000000..525b9361 --- /dev/null +++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_null_strv_in_gvalue.page @@ -0,0 +1,30 @@ + + + + + + + GValue* + + regress_test_null_strv_in_gvalue + + + regress_test_null_strv_in_gvalue + +GValue* regress_test_null_strv_in_gvalue (void); + + + + + +<code>Returns</code> + + + + + diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_null_strv_in_gvalue.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_null_strv_in_gvalue.page new file mode 100644 index 00000000..d1a10a39 --- /dev/null +++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_null_strv_in_gvalue.page @@ -0,0 +1,32 @@ + + + + + + + Any + + regress_test_null_strv_in_gvalue + + + Regress.test_null_strv_in_gvalue + +function test_null_strv_in_gvalue(): Any { + // Gjs wrapper for regress_test_null_strv_in_gvalue() +} + + + + + +<code>Returns</code> + + + + + diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_null_strv_in_gvalue.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_null_strv_in_gvalue.page new file mode 100644 index 00000000..e0828b4b --- /dev/null +++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_null_strv_in_gvalue.page @@ -0,0 +1,32 @@ + + + + + + + GObject.Value + + regress_test_null_strv_in_gvalue + + + Regress.test_null_strv_in_gvalue + +@returns(GObject.Value) +def test_null_strv_in_gvalue(): + # Python wrapper for regress_test_null_strv_in_gvalue() + + + + + +<code>Returns</code> +{formatter.format(node, node.retval.doc)} + + + + diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir index a9f59724..91efacc9 100644 --- a/tests/scanner/Regress-1.0-expected.gir +++ b/tests/scanner/Regress-1.0-expected.gir @@ -6358,6 +6358,12 @@ What we're testing here is that the scanner ignores the @a nested inside XML. + + + + + diff --git a/tests/scanner/Regress-1.0-sections-expected.txt b/tests/scanner/Regress-1.0-sections-expected.txt index 8aa818e7..a9574f94 100644 --- a/tests/scanner/Regress-1.0-sections-expected.txt +++ b/tests/scanner/Regress-1.0-sections-expected.txt @@ -159,6 +159,7 @@ regress_test_multiline_doc_comments regress_test_nested_parameter regress_test_noptr_callback regress_test_null_gerror_callback +regress_test_null_strv_in_gvalue regress_test_owned_gerror_callback regress_test_return_allow_none regress_test_return_nullable diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c index 638587e3..153b6d49 100644 --- a/tests/scanner/regress.c +++ b/tests/scanner/regress.c @@ -4121,6 +4121,23 @@ regress_test_strv_in_gvalue (void) return value; } +/** + * regress_test_null_strv_in_gvalue: + * + * Returns: (transfer full): + */ +GValue * +regress_test_null_strv_in_gvalue (void) +{ + GValue *value = g_new0 (GValue, 1); + const char **strv = NULL; + + g_value_init (value, G_TYPE_STRV); + g_value_set_boxed (value, strv); + + return value; +} + /** * regress_test_multiline_doc_comments: * diff --git a/tests/scanner/regress.h b/tests/scanner/regress.h index 4771cc68..f7205f38 100644 --- a/tests/scanner/regress.h +++ b/tests/scanner/regress.h @@ -1278,6 +1278,9 @@ GValue *regress_test_date_in_gvalue (void); _GI_TEST_EXTERN GValue *regress_test_strv_in_gvalue (void); +_GI_TEST_EXTERN +GValue *regress_test_null_strv_in_gvalue (void); + _GI_TEST_EXTERN GObject * _regress_this_is_a_private_symbol (void); -- cgit v1.2.1