From 5e063b37a240205cee05412c2167e2865ad022ab Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Tue, 2 Sep 2014 11:00:19 +0100 Subject: [PATCH] eolian: tests for default param values --- src/tests/eolian/data/class_simple.eo | 4 ++-- src/tests/eolian/eolian_parsing.c | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/tests/eolian/data/class_simple.eo b/src/tests/eolian/data/class_simple.eo index 73e5f8f916..a64a9aa891 100644 --- a/src/tests/eolian/data/class_simple.eo +++ b/src/tests/eolian/data/class_simple.eo @@ -13,7 +13,7 @@ class Class_Simple { get { } values { - int value; /*@ Value description */ + int value (100); /*@ Value description */ } } b { @@ -28,7 +28,7 @@ class Class_Simple { params { @in int a; /*@ a */ @inout char b; - @out double c; + @out double c (1337.6); } return: char * (null); /*@ comment for method return */ } diff --git a/src/tests/eolian/eolian_parsing.c b/src/tests/eolian/eolian_parsing.c index 4010fddf1a..19565042a4 100644 --- a/src/tests/eolian/eolian_parsing.c +++ b/src/tests/eolian/eolian_parsing.c @@ -501,6 +501,11 @@ START_TEST(eolian_simple_parsing) fail_if(strcmp(eolian_type_name_get(eolian_parameter_type_get(param)), "int")); fail_if(strcmp(eolian_parameter_name_get(param), "value")); fail_if(strcmp(eolian_parameter_description_get(param), "Value description")); + expr = eolian_parameter_default_value_get(param); + fail_if(!expr); + v = eolian_expression_eval(expr, EOLIAN_MASK_INT); + fail_if(v.type != EOLIAN_EXPR_INT); + fail_if(v.value.i != 100); /* legacy only */ fail_if(!(fid = eolian_class_function_get_by_name(class, "b", EOLIAN_PROPERTY))); @@ -546,6 +551,11 @@ START_TEST(eolian_simple_parsing) fail_if(strcmp(eolian_type_name_get(eolian_parameter_type_get(param)), "double")); fail_if(strcmp(eolian_parameter_name_get(param), "c")); fail_if(eolian_parameter_description_get(param)); + expr = eolian_parameter_default_value_get(param); + fail_if(!expr); + v = eolian_expression_eval(expr, EOLIAN_MASK_FLOAT); + fail_if(v.type != EOLIAN_EXPR_DOUBLE); + fail_if(v.value.d != 1337.6); fail_if(eina_iterator_next(iter, &dummy)); eina_iterator_free(iter);