diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2019-10-10 17:40:44 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2019-10-10 18:14:47 +0200 |
commit | 278797ab7ac06d71548fb699678e6f727bc5673e (patch) | |
tree | 76a62a9fcdec5b1e0ea3a893441b5938a47767ba /valadoc | |
parent | 774f69bc659556e936cd2cd1bbf482da2c60d6e8 (diff) | |
download | vala-278797ab7ac06d71548fb699678e6f727bc5673e.tar.gz |
libvaladoc: Fix parameter and property ownership declarations
Diffstat (limited to 'valadoc')
-rw-r--r-- | valadoc/tests/drivers/api-test.data.vapi | 2 | ||||
-rw-r--r-- | valadoc/tests/drivers/generic-api-test.vala | 74 |
2 files changed, 76 insertions, 0 deletions
diff --git a/valadoc/tests/drivers/api-test.data.vapi b/valadoc/tests/drivers/api-test.data.vapi index ec791b462..516ae3fe5 100644 --- a/valadoc/tests/drivers/api-test.data.vapi +++ b/valadoc/tests/drivers/api-test.data.vapi @@ -95,7 +95,9 @@ namespace ParamTest { public void test_function_param_1 (); public void test_function_param_2 (int a); public void test_function_param_3 (ref int a); + public void test_function_param_3a (ref unowned string? a); public void test_function_param_4 (out int a); + public void test_function_param_4a (out unowned string? a); public void test_function_param_5 (owned Object o); public void test_function_param_6 (int? a); public void test_function_param_7 (...); diff --git a/valadoc/tests/drivers/generic-api-test.vala b/valadoc/tests/drivers/generic-api-test.vala index ad99accfd..5a81fb845 100644 --- a/valadoc/tests/drivers/generic-api-test.vala +++ b/valadoc/tests/drivers/generic-api-test.vala @@ -1541,7 +1541,9 @@ public static void param_test (Api.Namespace ns, Api.Package pkg) { bool func1 = false; bool func2 = false; bool func3 = false; + bool func3a = false; bool func4 = false; + bool func4a = false; bool func5 = false; bool func6 = false; bool func7 = false; @@ -1663,6 +1665,41 @@ public static void param_test (Api.Namespace ns, Api.Package pkg) { func3 = true; break; + case "test_function_param_3a": + assert (params.size == 1); + + Api.FormalParameter param = params.get (0) as Api.FormalParameter; + assert (param != null); + // (.FormalParameter) + assert (param.default_value == null); + assert (param.is_out == false); + assert (param.is_ref == true); + assert (param.has_default_value == false); + assert (param.parameter_type != null); + assert (param.ellipsis == false); + // (.Symbol check) + assert (param.is_deprecated == false); + assert (param.accessibility == Vala.SymbolAccessibility.PUBLIC); + // (.Node) + assert (param.get_full_name () == "ParamTest.test_function_param_3a.a"); + assert (param.get_filename () == "api-test.data.vapi"); + assert (param.nspace == ns); + assert (param.package == pkg); + assert (param.name == "a"); + // param type: + assert (param.parameter_type.data_type != null); + assert (param.parameter_type.data_type is Api.Class); + assert (((Api.Symbol) param.parameter_type.data_type).get_full_name () == "string"); + assert (param.parameter_type.get_type_arguments ().size == 0); + assert (param.parameter_type.is_owned == false); + assert (param.parameter_type.is_unowned == true); + assert (param.parameter_type.is_weak == false); + assert (param.parameter_type.is_dynamic == false); + assert (param.parameter_type.is_nullable == true); + + func3a = true; + break; + case "test_function_param_4": assert (params.size == 1); @@ -1699,6 +1736,41 @@ public static void param_test (Api.Namespace ns, Api.Package pkg) { func4 = true; break; + case "test_function_param_4a": + assert (params.size == 1); + + Api.FormalParameter param = params.get (0) as Api.FormalParameter; + assert (param != null); + // (.FormalParameter) + assert (param.default_value == null); + assert (param.is_out == true); + assert (param.is_ref == false); + assert (param.has_default_value == false); + assert (param.parameter_type != null); + assert (param.ellipsis == false); + // (.Symbol check) + assert (param.is_deprecated == false); + assert (param.accessibility == Vala.SymbolAccessibility.PUBLIC); + // (.Node) + assert (param.get_full_name () == "ParamTest.test_function_param_4a.a"); + assert (param.get_filename () == "api-test.data.vapi"); + assert (param.nspace == ns); + assert (param.package == pkg); + assert (param.name == "a"); + // param type: + assert (param.parameter_type.data_type != null); + assert (param.parameter_type.data_type is Api.Class); + assert (((Api.Symbol) param.parameter_type.data_type).get_full_name () == "string"); + assert (param.parameter_type.get_type_arguments ().size == 0); + assert (param.parameter_type.is_owned == false); + assert (param.parameter_type.is_unowned == true); + assert (param.parameter_type.is_weak == false); + assert (param.parameter_type.is_dynamic == false); + assert (param.parameter_type.is_nullable == true); + + func4a = true; + break; + case "test_function_param_5": assert (params.size == 1); @@ -2257,7 +2329,9 @@ public static void param_test (Api.Namespace ns, Api.Package pkg) { assert (func1 == true); assert (func2 == true); assert (func3 == true); + assert (func3a == true); assert (func4 == true); + assert (func4a == true); assert (func5 == true); assert (func6 == true); assert (func7 == true); |