[access] support elm_access_action(); with ELM_ACCESS_ACTION_UNHIGHLIGHT
[framework/uifw/elementary.git] / tests / test_decl.sh
1 #!/bin/bash
2 ret=0
3
4 check(){
5     i=$1
6     shift
7     grep -h -B1 -10 -e "^$i(" $@ >eapi.decl
8     if [ $? != 0 ]; then
9         echo -e "\e[31;1mNOT IMPLEMENTED\e[m\t $i"
10         ret=1
11         return
12     fi
13     grep -qe "^--$" eapi.decl
14     if [ $? == 0 ]; then
15         echo -e "\e[31;1mMULTI IMPLEMENT\e[m\t $i"
16         ret=1
17         return
18     fi
19
20     head -1 eapi.decl | grep -qe '^EAPI'
21     if [ $? != 0 ];then
22         echo -e "\e[31;1mMISSING EAPI\e[m\t $i"
23         ret=1
24     fi
25
26     func=$(echo $i | grep -oe 'elm_\w\+')
27     ass=$(sed '2q;d' eapi.decl)
28
29     echo $i | grep -qe "^elm_object"
30     if [ $? == 0 ];then
31         rm eapi.decl
32         return
33     fi
34
35     echo $i | grep -qe "^elm_widget"
36     if [ $? == 0 ];then
37
38         echo $ass | grep -qe "elm_widget\w\+(\(const \)\?Evas_Object \*"
39         if [ $? == 0 ];then
40             tail -n9 eapi.decl | grep -q "\(API_ENTRY\|_elm_widget_is\)"
41             if [ $? != 0 ];then
42                 echo -e "\e[31;1mMISSING CHECKER\e[m\t $i"
43                 ret=1
44             fi
45             return
46         fi
47
48         echo $ass | grep -qe "elm_widget\w\+(\(const \)\?Elm_ \*"
49         if [ $? == 0 ];then
50             tail -n9 eapi.decl | grep -qe "ELM_WIDGET_ITEM_CHECK"
51             if [ $? != 0 ];then
52                 echo -e "\e[31;1mMISSING CHECKER\e[m\t $i"
53                 ret=1
54             fi
55             return
56         fi
57     fi
58
59     echo $ass | grep -qe "elm_\w\+_add"
60     if [ $? == 0 ];then
61         echo -e "\e[32;1m???\e[m\t $i"
62         return
63     fi
64
65     echo $ass | grep -qe "elm_\w\+(\(const \)\?Evas_Object \*"
66     if [ $? == 0 ];then
67         tail -n9 eapi.decl | grep -q "ELM_CHECK_WIDTYPE"
68         if [ $? != 0 ];then
69             echo -e "\e[31;1mMISSING CHECKER\e[m\t $i"
70             ret=1
71         fi
72         return
73     fi
74
75     echo $ass | grep -qe "elm_\w\+(\(const \)\?Elm_\w\+_Item \*"
76     if [ $? == 0 ];then
77         tail -n9 eapi.decl | grep -qe "ELM_\w\+_ITEM_.*CHECK"
78         if [ $? != 0 ];then
79             echo -e "\e[31;1mMISSING CHECKER\e[m\t $i"
80             ret=1
81         fi
82         return
83     fi
84
85     rm eapi.decl
86 }
87
88 grep -e "^ *EAPI.*(.*)" src/lib/Elementary.h.in | grep -oe 'elm_\w\+' >eapi.list
89
90 for i in $(cat eapi.list); do
91     check $i $(ls -1 src/lib/*.c | grep -v elm_widget)
92 done
93
94 grep -e "^ *EAPI.*(.*)" src/lib/elm_widget.h | grep -oe '_\?elm_\w\+' >eapi.list
95
96 for i in $(cat eapi.list); do
97     check $i src/lib/elm_widget.c
98 done
99
100 rm -f eapi.decl
101 rm eapi.list
102 exit $ret