summaryrefslogtreecommitdiff
path: root/valadoc
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2019-10-10 17:40:44 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2019-10-10 18:14:47 +0200
commit278797ab7ac06d71548fb699678e6f727bc5673e (patch)
tree76a62a9fcdec5b1e0ea3a893441b5938a47767ba /valadoc
parent774f69bc659556e936cd2cd1bbf482da2c60d6e8 (diff)
downloadvala-278797ab7ac06d71548fb699678e6f727bc5673e.tar.gz
libvaladoc: Fix parameter and property ownership declarations
Diffstat (limited to 'valadoc')
-rw-r--r--valadoc/tests/drivers/api-test.data.vapi2
-rw-r--r--valadoc/tests/drivers/generic-api-test.vala74
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);