q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0c07b9bea41e7d49d0477b80d19f31ea9264ada6

commit 0c07b9bea41e7d49d0477b80d19f31ea9264ada6
Author: Daniel Kolesa <d.kol...@osg.samsung.com>
Date:   Fri May 8 14:12:27 2015 +0100

    eolian: is_beta API plus tests
---
 src/lib/eolian/Eolian.h                | 10 ++++++++++
 src/lib/eolian/database_function_api.c |  7 +++++++
 src/tests/eolian/data/class_simple.eo  |  4 ++--
 src/tests/eolian/eolian_parsing.c      |  4 ++++
 4 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h
index c2e07c5..6223000 100644
--- a/src/lib/eolian/Eolian.h
+++ b/src/lib/eolian/Eolian.h
@@ -884,6 +884,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.
  *
  * @param[in] klass the class
diff --git a/src/lib/eolian/database_function_api.c 
b/src/lib/eolian/database_function_api.c
index fd78fef..d29b9d4 100644
--- a/src/lib/eolian/database_function_api.c
+++ b/src/lib/eolian/database_function_api.c
@@ -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)
diff --git a/src/tests/eolian/data/class_simple.eo 
b/src/tests/eolian/data/class_simple.eo
index d4b4fc8..adbbbbc 100644
--- a/src/tests/eolian/data/class_simple.eo
+++ b/src/tests/eolian/data/class_simple.eo
@@ -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 */
diff --git a/src/tests/eolian/eolian_parsing.c 
b/src/tests/eolian/eolian_parsing.c
index 8269c2c..e9d35d2 100644
--- a/src/tests/eolian/eolian_parsing.c
+++ b/src/tests/eolian/eolian_parsing.c
@@ -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();
 }

-- 


Reply via email to