eolian: is_beta API plus tests

This commit is contained in:
Daniel Kolesa 2015-05-08 14:12:27 +01:00
parent b33e2b21a1
commit 0c07b9bea4
4 changed files with 23 additions and 2 deletions

View File

@ -883,6 +883,16 @@ EAPI Eina_Bool eolian_function_is_class(const Eolian_Function *function_id);
*/
EAPI Eina_Bool eolian_function_is_c_only(const Eolian_Function *function_id);
/*
* @brief Get whether a function is beta.
*
* @param[in] function_id Id of the function
* @return EINA_TRUE and EINA_FALSE respectively
*
* @ingroup Eolian
*/
EAPI Eina_Bool eolian_function_is_beta(const Eolian_Function *function_id);
/*
* @brief Indicates if a function is a constructing function of a given class.
*

View File

@ -264,6 +264,13 @@ eolian_function_is_c_only(const Eolian_Function *fid)
return fid->is_c_only;
}
EAPI Eina_Bool
eolian_function_is_beta(const Eolian_Function *fid)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(fid, EINA_FALSE);
return fid->is_beta;
}
EAPI Eina_Bool eolian_function_is_implemented(
const Eolian_Function *function_id, Eolian_Function_Type func_type,
const Eolian_Class *klass)

View File

@ -4,7 +4,7 @@ class Class_Simple {
eo_prefix: evas_obj_simple;
data: Evas_Simple_Data;
methods {
@property a {
@property a @beta {
/*@ Common desc for a */
set {
/*@
@ -22,7 +22,7 @@ class Class_Simple {
eo: null;
}
}
foo {
foo @beta {
/*@ comment foo */
params {
@in int a; /*@ a */

View File

@ -565,6 +565,7 @@ START_TEST(eolian_simple_parsing)
/* Property */
fail_if(!(fid = eolian_class_function_get_by_name(class, "a", EOLIAN_PROPERTY)));
fail_if(strcmp(eolian_function_name_get(fid), "a"));
fail_if(!eolian_function_is_beta(fid));
string = eolian_function_description_get(fid, EOLIAN_PROPERTY);
fail_if(!string);
fail_if(strcmp(string, "Common desc for a"));
@ -611,9 +612,11 @@ START_TEST(eolian_simple_parsing)
fail_if(eolian_function_is_legacy_only(fid, EOLIAN_PROP_GET));
fail_if(!eolian_function_is_legacy_only(fid, EOLIAN_PROP_SET));
fail_if(!eolian_function_is_c_only(fid));
fail_if(eolian_function_is_beta(fid));
/* Method */
fail_if(!(fid = eolian_class_function_get_by_name(class, "foo", EOLIAN_METHOD)));
fail_if(!eolian_function_is_beta(fid));
string = eolian_function_description_get(fid, EOLIAN_METHOD);
fail_if(!string);
fail_if(strcmp(string, "comment foo"));
@ -663,6 +666,7 @@ START_TEST(eolian_simple_parsing)
fail_if(!(fid = eolian_class_function_get_by_name(class, "bar", EOLIAN_METHOD)));
fail_if(!eolian_function_is_legacy_only(fid, EOLIAN_METHOD));
fail_if(!eolian_function_is_c_only(fid));
fail_if(eolian_function_is_beta(fid));
eolian_shutdown();
}