efl/efreet: formatting tests

SVN revision: 82780
This commit is contained in:
Lucas De Marchi 2013-01-14 21:04:30 +00:00
parent 2d7e10363d
commit 1a4535b5ff
10 changed files with 1396 additions and 1396 deletions

View File

@ -16,184 +16,184 @@ static Eina_Bool desktop_cb = EINA_FALSE;
static void static void
check(void) check(void)
{ {
Eina_List *list; Eina_List *list;
Efreet_Desktop *desktop, *desktop2; Efreet_Desktop *desktop, *desktop2;
double start; double start;
const char *id; const char *id;
// EAPI char *efreet_util_path_to_file_id(const char *path); // EAPI char *efreet_util_path_to_file_id(const char *path);
start = ecore_time_get(); start = ecore_time_get();
id = efreet_util_path_to_file_id("/usr/share/applications/gnome-panel.desktop"); id = efreet_util_path_to_file_id("/usr/share/applications/gnome-panel.desktop");
if (id) if (id)
{ {
printf("efreet_util_path_to_file_id(/usr/share/applications/gnome-panel.desktop): %s %.6f\n", id, (ecore_time_get() - start)); printf("efreet_util_path_to_file_id(/usr/share/applications/gnome-panel.desktop): %s %.6f\n", id, (ecore_time_get() - start));
} }
else else
printf("efreet_util_path_to_file_id(/usr/share/applications/gnome-panel.desktop): NULL %.6f\n", (ecore_time_get() - start)); printf("efreet_util_path_to_file_id(/usr/share/applications/gnome-panel.desktop): NULL %.6f\n", (ecore_time_get() - start));
//EAPI Efreet_Desktop *efreet_util_desktop_name_find(const char *name); //EAPI Efreet_Desktop *efreet_util_desktop_name_find(const char *name);
start = ecore_time_get(); start = ecore_time_get();
desktop = efreet_util_desktop_name_find("Evolution"); desktop = efreet_util_desktop_name_find("Evolution");
if (desktop) if (desktop)
printf("efreet_util_desktop_name_find(Evolution): %s %.6f\n", desktop->orig_path, (ecore_time_get() - start)); printf("efreet_util_desktop_name_find(Evolution): %s %.6f\n", desktop->orig_path, (ecore_time_get() - start));
else else
printf("efreet_util_desktop_name_find(Evolution): NULL %.6f\n", (ecore_time_get() - start)); printf("efreet_util_desktop_name_find(Evolution): NULL %.6f\n", (ecore_time_get() - start));
efreet_desktop_free(desktop); efreet_desktop_free(desktop);
//EAPI Efreet_Desktop *efreet_util_desktop_generic_name_find(const char *generic_name); //EAPI Efreet_Desktop *efreet_util_desktop_generic_name_find(const char *generic_name);
start = ecore_time_get(); start = ecore_time_get();
desktop = efreet_util_desktop_generic_name_find("Spreadsheet"); desktop = efreet_util_desktop_generic_name_find("Spreadsheet");
if (desktop) if (desktop)
printf("efreet_util_desktop_generic_name_find(Spreadsheet): %s %.6f\n", desktop->orig_path, (ecore_time_get() - start)); printf("efreet_util_desktop_generic_name_find(Spreadsheet): %s %.6f\n", desktop->orig_path, (ecore_time_get() - start));
else else
printf("efreet_util_desktop_generic_name_find(Spreadsheet): NULL %.6f\n", (ecore_time_get() - start)); printf("efreet_util_desktop_generic_name_find(Spreadsheet): NULL %.6f\n", (ecore_time_get() - start));
efreet_desktop_free(desktop); efreet_desktop_free(desktop);
//EAPI Efreet_Desktop *efreet_util_desktop_wm_class_find(const char *wmname, const char *wmclass); //EAPI Efreet_Desktop *efreet_util_desktop_wm_class_find(const char *wmname, const char *wmclass);
start = ecore_time_get(); start = ecore_time_get();
desktop = efreet_util_desktop_wm_class_find("Firefox", NULL); desktop = efreet_util_desktop_wm_class_find("Firefox", NULL);
if (desktop) if (desktop)
printf("efreet_util_desktop_wm_class_find(Firefox): %s %.6f\n", desktop->orig_path, (ecore_time_get() - start)); printf("efreet_util_desktop_wm_class_find(Firefox): %s %.6f\n", desktop->orig_path, (ecore_time_get() - start));
else else
printf("efreet_util_desktop_wm_class_find(Firefox): NULL %.6f\n", (ecore_time_get() - start)); printf("efreet_util_desktop_wm_class_find(Firefox): NULL %.6f\n", (ecore_time_get() - start));
efreet_desktop_free(desktop); efreet_desktop_free(desktop);
//EAPI Efreet_Desktop *efreet_util_desktop_exec_find(const char *exec); //EAPI Efreet_Desktop *efreet_util_desktop_exec_find(const char *exec);
start = ecore_time_get(); start = ecore_time_get();
desktop = efreet_util_desktop_exec_find("/usr/bin/update-manager"); desktop = efreet_util_desktop_exec_find("/usr/bin/update-manager");
if (desktop) if (desktop)
printf("efreet_util_desktop_exec_find(update-manager): %s %.6f\n", desktop->orig_path, (ecore_time_get() - start)); printf("efreet_util_desktop_exec_find(update-manager): %s %.6f\n", desktop->orig_path, (ecore_time_get() - start));
else else
printf("efreet_util_desktop_exec_find(update-manager): NULL %.6f\n", (ecore_time_get() - start)); printf("efreet_util_desktop_exec_find(update-manager): NULL %.6f\n", (ecore_time_get() - start));
efreet_desktop_free(desktop); efreet_desktop_free(desktop);
//EAPI Eina_List *efreet_util_desktop_name_glob_list(const char *glob); //EAPI Eina_List *efreet_util_desktop_name_glob_list(const char *glob);
start = ecore_time_get(); start = ecore_time_get();
list = efreet_util_desktop_name_glob_list("Ubuntu*"); list = efreet_util_desktop_name_glob_list("Ubuntu*");
if (list) if (list)
{ {
EINA_LIST_FREE(list, desktop) EINA_LIST_FREE(list, desktop)
{ {
printf("efreet_util_desktop_name_glob_list(Ubuntu*): %s\n", desktop->name); printf("efreet_util_desktop_name_glob_list(Ubuntu*): %s\n", desktop->name);
efreet_desktop_free(desktop); efreet_desktop_free(desktop);
} }
} }
printf("time: %.6f\n", (ecore_time_get() - start)); printf("time: %.6f\n", (ecore_time_get() - start));
//EAPI Eina_List *efreet_util_desktop_mime_list(const char *mime); //EAPI Eina_List *efreet_util_desktop_mime_list(const char *mime);
start = ecore_time_get(); start = ecore_time_get();
list = efreet_util_desktop_mime_list("application/ogg"); list = efreet_util_desktop_mime_list("application/ogg");
if (list) if (list)
{ {
EINA_LIST_FREE(list, desktop) EINA_LIST_FREE(list, desktop)
{ {
printf("efreet_util_desktop_mime_list(application/ogg): %s\n", desktop->name); printf("efreet_util_desktop_mime_list(application/ogg): %s\n", desktop->name);
efreet_desktop_free(desktop); efreet_desktop_free(desktop);
} }
} }
printf("time: %.6f\n", (ecore_time_get() - start)); printf("time: %.6f\n", (ecore_time_get() - start));
//EAPI Eina_List *efreet_util_desktop_exec_glob_list(const char *glob); //EAPI Eina_List *efreet_util_desktop_exec_glob_list(const char *glob);
start = ecore_time_get(); start = ecore_time_get();
list = efreet_util_desktop_exec_glob_list("*gnome*"); list = efreet_util_desktop_exec_glob_list("*gnome*");
if (list) if (list)
{ {
EINA_LIST_FREE(list, desktop) EINA_LIST_FREE(list, desktop)
{ {
printf("efreet_util_desktop_exec_glob_list(*gnome*): %s\n", desktop->exec); printf("efreet_util_desktop_exec_glob_list(*gnome*): %s\n", desktop->exec);
efreet_desktop_free(desktop); efreet_desktop_free(desktop);
} }
} }
printf("time: %.6f\n", (ecore_time_get() - start)); printf("time: %.6f\n", (ecore_time_get() - start));
//EAPI Eina_List *efreet_util_desktop_categories_list(void); //EAPI Eina_List *efreet_util_desktop_categories_list(void);
start = ecore_time_get(); start = ecore_time_get();
list = efreet_util_desktop_categories_list(); list = efreet_util_desktop_categories_list();
if (list) if (list)
{ {
EINA_LIST_FREE(list, id) EINA_LIST_FREE(list, id)
{ {
printf("efreet_util_desktop_categories_list(): %s\n", id); printf("efreet_util_desktop_categories_list(): %s\n", id);
} }
} }
printf("time: %.6f\n", (ecore_time_get() - start)); printf("time: %.6f\n", (ecore_time_get() - start));
//EAPI Eina_List *efreet_util_desktop_category_list(const char *category); //EAPI Eina_List *efreet_util_desktop_category_list(const char *category);
start = ecore_time_get(); start = ecore_time_get();
list = efreet_util_desktop_category_list("Graphics"); list = efreet_util_desktop_category_list("Graphics");
if (list) if (list)
{ {
EINA_LIST_FREE(list, desktop) EINA_LIST_FREE(list, desktop)
{ {
printf("efreet_util_desktop_category_list(Graphics): %s\n", desktop->name); printf("efreet_util_desktop_category_list(Graphics): %s\n", desktop->name);
efreet_desktop_free(desktop); efreet_desktop_free(desktop);
} }
} }
printf("time: %.6f\n", (ecore_time_get() - start)); printf("time: %.6f\n", (ecore_time_get() - start));
desktop = efreet_desktop_get("/opt/google/chrome/google-chrome.desktop"); desktop = efreet_desktop_get("/opt/google/chrome/google-chrome.desktop");
if (desktop) if (desktop)
printf("%s: %d %d\n", desktop->orig_path, desktop->ref, desktop->eet); printf("%s: %d %d\n", desktop->orig_path, desktop->ref, desktop->eet);
desktop2 = efreet_desktop_new("/opt/google/chrome/google-chrome.desktop"); desktop2 = efreet_desktop_new("/opt/google/chrome/google-chrome.desktop");
if (desktop2) if (desktop2)
{ {
printf("%s: %d %d\n", desktop2->orig_path, desktop2->ref, desktop2->eet); printf("%s: %d %d\n", desktop2->orig_path, desktop2->ref, desktop2->eet);
efreet_desktop_free(desktop2); efreet_desktop_free(desktop2);
} }
if (desktop) if (desktop)
efreet_desktop_free(desktop); efreet_desktop_free(desktop);
desktop = efreet_desktop_get("/usr/share/applications/firefox.desktop"); desktop = efreet_desktop_get("/usr/share/applications/firefox.desktop");
if (desktop) if (desktop)
printf("%s: %d %d\n", desktop->orig_path, desktop->ref, desktop->eet); printf("%s: %d %d\n", desktop->orig_path, desktop->ref, desktop->eet);
desktop2 = efreet_desktop_new("/usr/share/applications/firefox.desktop"); desktop2 = efreet_desktop_new("/usr/share/applications/firefox.desktop");
if (desktop2) if (desktop2)
{ {
printf("%s: %d %d\n", desktop2->orig_path, desktop2->ref, desktop2->eet); printf("%s: %d %d\n", desktop2->orig_path, desktop2->ref, desktop2->eet);
efreet_desktop_free(desktop2); efreet_desktop_free(desktop2);
} }
if (desktop) if (desktop)
efreet_desktop_free(desktop); efreet_desktop_free(desktop);
fflush(stdout); fflush(stdout);
} }
static Eina_Bool static Eina_Bool
icon_handler_cb(void *data EINA_UNUSED, int event_type EINA_UNUSED, void *event EINA_UNUSED) icon_handler_cb(void *data EINA_UNUSED, int event_type EINA_UNUSED, void *event EINA_UNUSED)
{ {
icon_cb = EINA_TRUE; icon_cb = EINA_TRUE;
if (icon_cb && desktop_cb) if (icon_cb && desktop_cb)
{ {
check(); check();
ecore_main_loop_quit(); ecore_main_loop_quit();
} }
return ECORE_CALLBACK_PASS_ON; return ECORE_CALLBACK_PASS_ON;
} }
static Eina_Bool static Eina_Bool
desktop_handler_cb(void *data EINA_UNUSED, int event_type EINA_UNUSED, void *event EINA_UNUSED) desktop_handler_cb(void *data EINA_UNUSED, int event_type EINA_UNUSED, void *event EINA_UNUSED)
{ {
desktop_cb = EINA_TRUE; desktop_cb = EINA_TRUE;
if (icon_cb && desktop_cb) if (icon_cb && desktop_cb)
{ {
check(); check();
ecore_main_loop_quit(); ecore_main_loop_quit();
} }
return ECORE_CALLBACK_PASS_ON; return ECORE_CALLBACK_PASS_ON;
} }
int int
main(int argc EINA_UNUSED, char **argv EINA_UNUSED) main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{ {
Ecore_Event_Handler *icon_handler; Ecore_Event_Handler *icon_handler;
Ecore_Event_Handler *desktop_handler; Ecore_Event_Handler *desktop_handler;
if (!efreet_init()) return 1; if (!efreet_init()) return 1;
icon_handler = ecore_event_handler_add(EFREET_EVENT_ICON_CACHE_UPDATE, icon_handler_cb, NULL); icon_handler = ecore_event_handler_add(EFREET_EVENT_ICON_CACHE_UPDATE, icon_handler_cb, NULL);
desktop_handler = ecore_event_handler_add(EFREET_EVENT_DESKTOP_CACHE_UPDATE, desktop_handler_cb, NULL); desktop_handler = ecore_event_handler_add(EFREET_EVENT_DESKTOP_CACHE_UPDATE, desktop_handler_cb, NULL);
check(); check();
ecore_main_loop_begin(); ecore_main_loop_begin();
ecore_event_handler_del(icon_handler); ecore_event_handler_del(icon_handler);
ecore_event_handler_del(desktop_handler); ecore_event_handler_del(desktop_handler);
efreet_shutdown(); efreet_shutdown();
return 0; return 0;
} }

View File

@ -7,324 +7,324 @@
int int
ef_cb_efreet_data_home(void) ef_cb_efreet_data_home(void)
{ {
const char *tmp; const char *tmp;
int ret = 1; int ret = 1;
efreet_shutdown(); efreet_shutdown();
setenv("XDG_DATA_HOME", "/var/tmp", 1); setenv("XDG_DATA_HOME", "/var/tmp", 1);
efreet_init(); efreet_init();
tmp = efreet_data_home_get(); tmp = efreet_data_home_get();
if (strcmp(tmp, "/var/tmp")) if (strcmp(tmp, "/var/tmp"))
{ {
printf("efreet_data_home_get() returned incorrect " printf("efreet_data_home_get() returned incorrect "
"value (%s) on XDG_DATA_HOME=/var/tmp\n", tmp); "value (%s) on XDG_DATA_HOME=/var/tmp\n", tmp);
ret = 0; ret = 0;
} }
/* reset efreet here so we can set a new home dir */ /* reset efreet here so we can set a new home dir */
efreet_shutdown(); efreet_shutdown();
unsetenv("XDG_DATA_HOME"); unsetenv("XDG_DATA_HOME");
setenv("HOME", "/home/tmp", 1); setenv("HOME", "/home/tmp", 1);
efreet_init(); efreet_init();
tmp = efreet_data_home_get(); tmp = efreet_data_home_get();
if (strcmp(tmp, "/home/tmp/.local/share")) if (strcmp(tmp, "/home/tmp/.local/share"))
{ {
printf("efreet_data_home_get() returned incorrect " printf("efreet_data_home_get() returned incorrect "
"value (%s) on blank XDG_DATA_HOME\n", tmp); "value (%s) on blank XDG_DATA_HOME\n", tmp);
ret = 0; ret = 0;
} }
/* reset efreet here so we can set a new home dir */ /* reset efreet here so we can set a new home dir */
efreet_shutdown(); efreet_shutdown();
unsetenv("XDG_DATA_HOME"); unsetenv("XDG_DATA_HOME");
unsetenv("HOME"); unsetenv("HOME");
#ifdef _WIN32 #ifdef _WIN32
unsetenv("USERPROFILE"); unsetenv("USERPROFILE");
#endif #endif
efreet_init(); efreet_init();
tmp = efreet_data_home_get(); tmp = efreet_data_home_get();
if (strcmp(tmp, "/tmp/.local/share")) if (strcmp(tmp, "/tmp/.local/share"))
{ {
printf("efreet_data_home_get() returned incorrect " printf("efreet_data_home_get() returned incorrect "
"value (%s) on blank XDG_DATA_HOME and blank HOME\n", tmp); "value (%s) on blank XDG_DATA_HOME and blank HOME\n", tmp);
ret = 0; ret = 0;
} }
return ret; return ret;
} }
int int
ef_cb_efreet_config_home(void) ef_cb_efreet_config_home(void)
{ {
const char *tmp; const char *tmp;
int ret = 1; int ret = 1;
efreet_shutdown(); efreet_shutdown();
setenv("XDG_CONFIG_HOME", "/var/tmp", 1); setenv("XDG_CONFIG_HOME", "/var/tmp", 1);
efreet_init(); efreet_init();
tmp = efreet_config_home_get(); tmp = efreet_config_home_get();
if (strcmp(tmp, "/var/tmp")) if (strcmp(tmp, "/var/tmp"))
{ {
printf("efreet_config_home_get() returned incorrect " printf("efreet_config_home_get() returned incorrect "
"value (%s) on XDG_CONFIG_HOME=/var/tmp\n", tmp); "value (%s) on XDG_CONFIG_HOME=/var/tmp\n", tmp);
ret = 0; ret = 0;
} }
/* reset efreet here so we can set a new home dir */ /* reset efreet here so we can set a new home dir */
efreet_shutdown(); efreet_shutdown();
unsetenv("XDG_CONFIG_HOME"); unsetenv("XDG_CONFIG_HOME");
setenv("HOME", "/home/tmp", 1); setenv("HOME", "/home/tmp", 1);
efreet_init(); efreet_init();
tmp = efreet_config_home_get(); tmp = efreet_config_home_get();
if (strcmp(tmp, "/home/tmp/.config")) if (strcmp(tmp, "/home/tmp/.config"))
{ {
printf("efreet_config_home_get() returned incorrect " printf("efreet_config_home_get() returned incorrect "
"value (%s) on blank XDG_CONFIG_HOME\n", tmp); "value (%s) on blank XDG_CONFIG_HOME\n", tmp);
ret = 0; ret = 0;
} }
/* reset efreet here so we can set a new home dir */ /* reset efreet here so we can set a new home dir */
efreet_shutdown(); efreet_shutdown();
unsetenv("XDG_CONFIG_HOME"); unsetenv("XDG_CONFIG_HOME");
unsetenv("HOME"); unsetenv("HOME");
#ifdef _WIN32 #ifdef _WIN32
unsetenv("USERPROFILE"); unsetenv("USERPROFILE");
#endif #endif
efreet_init(); efreet_init();
tmp = efreet_config_home_get(); tmp = efreet_config_home_get();
if (strcmp(tmp, "/tmp/.config")) if (strcmp(tmp, "/tmp/.config"))
{ {
printf("efreet_config_home_get() returned incorrect " printf("efreet_config_home_get() returned incorrect "
"value (%s) on blank XDG_CONFIG_HOME and blank HOME\n", tmp); "value (%s) on blank XDG_CONFIG_HOME and blank HOME\n", tmp);
ret = 0; ret = 0;
} }
return ret; return ret;
} }
int int
ef_cb_efreet_cache_home(void) ef_cb_efreet_cache_home(void)
{ {
const char *tmp; const char *tmp;
int ret = 1; int ret = 1;
efreet_shutdown(); efreet_shutdown();
setenv("XDG_CACHE_HOME", "/var/tmp", 1); setenv("XDG_CACHE_HOME", "/var/tmp", 1);
efreet_init(); efreet_init();
tmp = efreet_cache_home_get(); tmp = efreet_cache_home_get();
if (strcmp(tmp, "/var/tmp")) if (strcmp(tmp, "/var/tmp"))
{ {
printf("efreet_cache_home_get() returned incorrect " printf("efreet_cache_home_get() returned incorrect "
"value (%s) on XDG_CACHE_HOME=/var/tmp\n", tmp); "value (%s) on XDG_CACHE_HOME=/var/tmp\n", tmp);
ret = 0; ret = 0;
} }
/* reset efreet here so we can set a new home dir */ /* reset efreet here so we can set a new home dir */
efreet_shutdown(); efreet_shutdown();
unsetenv("XDG_CACHE_HOME"); unsetenv("XDG_CACHE_HOME");
setenv("HOME", "/home/tmp", 1); setenv("HOME", "/home/tmp", 1);
efreet_init(); efreet_init();
tmp = efreet_cache_home_get(); tmp = efreet_cache_home_get();
if (strcmp(tmp, "/home/tmp/.cache")) if (strcmp(tmp, "/home/tmp/.cache"))
{ {
printf("efreet_cache_home_get() returned incorrect " printf("efreet_cache_home_get() returned incorrect "
"value (%s) on blank XDG_CACHE_HOME\n", tmp); "value (%s) on blank XDG_CACHE_HOME\n", tmp);
ret = 0; ret = 0;
} }
/* reset efreet here so we can set a new home dir */ /* reset efreet here so we can set a new home dir */
efreet_shutdown(); efreet_shutdown();
unsetenv("XDG_CACHE_HOME"); unsetenv("XDG_CACHE_HOME");
unsetenv("HOME"); unsetenv("HOME");
#ifdef _WIN32 #ifdef _WIN32
unsetenv("USERPROFILE"); unsetenv("USERPROFILE");
#endif #endif
efreet_init(); efreet_init();
tmp = efreet_cache_home_get(); tmp = efreet_cache_home_get();
if (strcmp(tmp, "/tmp/.cache")) if (strcmp(tmp, "/tmp/.cache"))
{ {
printf("efreet_cache_home_get() returned incorrect " printf("efreet_cache_home_get() returned incorrect "
"value (%s) on blank XDG_CACHE_HOME and blank HOME\n", tmp); "value (%s) on blank XDG_CACHE_HOME and blank HOME\n", tmp);
ret = 0; ret = 0;
} }
return ret; return ret;
} }
int int
ef_cb_efreet_data_dirs(void) ef_cb_efreet_data_dirs(void)
{ {
Eina_List *tmp, *l; Eina_List *tmp, *l;
int ret = 1; int ret = 1;
unsigned int i; unsigned int i;
unsigned int ok; unsigned int ok;
char dirs[128], *val; char dirs[128], *val;
char *vals[] = {"/var/tmp/a", "/tmp/b", "/usr/local/share", "/etc", NULL}; char *vals[] = {"/var/tmp/a", "/tmp/b", "/usr/local/share", "/etc", NULL};
char *def_vals[] = {DATA_DIR, "/usr/share", "/usr/local/share", NULL}; char *def_vals[] = {DATA_DIR, "/usr/share", "/usr/local/share", NULL};
dirs[0] = '\0'; dirs[0] = '\0';
for (i = 0; vals[i]; i++) for (i = 0; vals[i]; i++)
{ {
if (i > 0) strcat(dirs, ":"); if (i > 0) strcat(dirs, ":");
strcat(dirs, vals[i]); strcat(dirs, vals[i]);
} }
efreet_shutdown(); efreet_shutdown();
setenv("XDG_DATA_DIRS", dirs, 1); setenv("XDG_DATA_DIRS", dirs, 1);
efreet_init(); efreet_init();
ok = 0; ok = 0;
tmp = efreet_data_dirs_get(); tmp = efreet_data_dirs_get();
for (i = 0; vals[i]; i++) for (i = 0; vals[i]; i++)
{ {
char *found; char *found;
found = eina_list_search_unsorted(tmp, EINA_COMPARE_CB(strcmp), vals[i]); found = eina_list_search_unsorted(tmp, EINA_COMPARE_CB(strcmp), vals[i]);
if (!ecore_file_exists(vals[i]) && found) if (!ecore_file_exists(vals[i]) && found)
{ {
printf("efreet_data_dirs_get() includes non-existing dir (%s) when " printf("efreet_data_dirs_get() includes non-existing dir (%s) when "
"%s set\n", vals[i], dirs); "%s set\n", vals[i], dirs);
ret = 0; ret = 0;
continue; continue;
} }
if (ecore_file_exists(vals[i]) && !found) if (ecore_file_exists(vals[i]) && !found)
{ {
printf("efreet_data_dirs_get() is missing dir (%s) when " printf("efreet_data_dirs_get() is missing dir (%s) when "
"%s set\n", vals[i], dirs); "%s set\n", vals[i], dirs);
ret = 0; ret = 0;
continue; continue;
} }
if (ecore_file_exists(vals[i]) && found) if (ecore_file_exists(vals[i]) && found)
ok++; ok++;
} }
if (eina_list_count(tmp) != ok) if (eina_list_count(tmp) != ok)
{ {
printf("efreet_data_dirs_get() returned more values then it " printf("efreet_data_dirs_get() returned more values then it "
"should have given %s as input\n", dirs); "should have given %s as input\n", dirs);
ret = 0; ret = 0;
} }
efreet_shutdown(); efreet_shutdown();
unsetenv("XDG_DATA_DIRS"); unsetenv("XDG_DATA_DIRS");
efreet_init(); efreet_init();
i = 0; i = 0;
tmp = efreet_data_dirs_get(); tmp = efreet_data_dirs_get();
if (eina_list_count(tmp) != 3) if (eina_list_count(tmp) != 3)
{ {
printf("efreet_data_dirs_get() nodes is differnet from expected default\n"); printf("efreet_data_dirs_get() nodes is differnet from expected default\n");
ret = 0; ret = 0;
} }
EINA_LIST_FOREACH(tmp, l, val) EINA_LIST_FOREACH(tmp, l, val)
{ {
if (!def_vals[i]) if (!def_vals[i])
{ {
printf("efreet_data_dirs_get() returned more values then it " printf("efreet_data_dirs_get() returned more values then it "
"should have given %s as input\n", dirs); "should have given %s as input\n", dirs);
ret = 0; ret = 0;
break; break;
} }
if (strcmp(val, def_vals[i])) if (strcmp(val, def_vals[i]))
{ {
printf("efreet_data_dirs_get() returned incorrect value (%s) when " printf("efreet_data_dirs_get() returned incorrect value (%s) when "
"XDG_DATA_DIRS= is set %s\n", val, def_vals[i]); "XDG_DATA_DIRS= is set %s\n", val, def_vals[i]);
ret = 0; ret = 0;
} }
i++; i++;
} }
return ret; return ret;
} }
int int
ef_cb_efreet_config_dirs(void) ef_cb_efreet_config_dirs(void)
{ {
Eina_List *tmp, *l; Eina_List *tmp, *l;
int ret = 1; int ret = 1;
unsigned int i; unsigned int i;
unsigned int ok; unsigned int ok;
char dirs[128], *val; char dirs[128], *val;
char *vals[] = {"/var/tmp/a", "/tmp/b", "/usr/local/share", "/etc", NULL}; char *vals[] = {"/var/tmp/a", "/tmp/b", "/usr/local/share", "/etc", NULL};
char *def_vals[] = {"/etc/xdg", NULL}; char *def_vals[] = {"/etc/xdg", NULL};
dirs[0] = '\0'; dirs[0] = '\0';
for (i = 0; vals[i]; i++) for (i = 0; vals[i]; i++)
{ {
if (i > 0) strcat(dirs, ":"); if (i > 0) strcat(dirs, ":");
strcat(dirs, vals[i]); strcat(dirs, vals[i]);
} }
efreet_shutdown(); efreet_shutdown();
setenv("XDG_CONFIG_DIRS", dirs, 1); setenv("XDG_CONFIG_DIRS", dirs, 1);
efreet_init(); efreet_init();
ok = 0; ok = 0;
tmp = efreet_config_dirs_get(); tmp = efreet_config_dirs_get();
for (i = 0; vals[i]; i++) for (i = 0; vals[i]; i++)
{ {
char *found; char *found;
found = eina_list_search_unsorted(tmp, EINA_COMPARE_CB(strcmp), vals[i]); found = eina_list_search_unsorted(tmp, EINA_COMPARE_CB(strcmp), vals[i]);
if (!ecore_file_exists(vals[i]) && found) if (!ecore_file_exists(vals[i]) && found)
{ {
printf("efreet_data_dirs_get() includes non-existing dir (%s) when " printf("efreet_data_dirs_get() includes non-existing dir (%s) when "
"%s set\n", vals[i], dirs); "%s set\n", vals[i], dirs);
ret = 0; ret = 0;
continue; continue;
} }
if (ecore_file_exists(vals[i]) && !found) if (ecore_file_exists(vals[i]) && !found)
{ {
printf("efreet_data_dirs_get() is missing dir (%s) when " printf("efreet_data_dirs_get() is missing dir (%s) when "
"%s set\n", vals[i], dirs); "%s set\n", vals[i], dirs);
ret = 0; ret = 0;
continue; continue;
} }
if (ecore_file_exists(vals[i]) && found) if (ecore_file_exists(vals[i]) && found)
ok++; ok++;
} }
if (eina_list_count(tmp) != ok) if (eina_list_count(tmp) != ok)
{ {
printf("efreet_data_dirs_get() returned more values then it " printf("efreet_data_dirs_get() returned more values then it "
"should have given %s as input\n", dirs); "should have given %s as input\n", dirs);
ret = 0; ret = 0;
} }
efreet_shutdown(); efreet_shutdown();
unsetenv("XDG_CONFIG_DIRS"); unsetenv("XDG_CONFIG_DIRS");
efreet_init(); efreet_init();
i = 0; i = 0;
tmp = efreet_config_dirs_get(); tmp = efreet_config_dirs_get();
EINA_LIST_FOREACH(tmp, l, val) EINA_LIST_FOREACH(tmp, l, val)
{ {
if (!def_vals[i]) if (!def_vals[i])
{ {
printf("efreet_config_dirs_get() returned more values then it " printf("efreet_config_dirs_get() returned more values then it "
"should have given %s as input\n", dirs); "should have given %s as input\n", dirs);
ret = 0; ret = 0;
break; break;
} }
if (strcmp(val, def_vals[i])) if (strcmp(val, def_vals[i]))
{ {
printf("efreet_config_dirs_get() returned incorrect value (%s) when " printf("efreet_config_dirs_get() returned incorrect value (%s) when "
"XDG_CONFIG_DIRS= is set\n", val); "XDG_CONFIG_DIRS= is set\n", val);
ret = 0; ret = 0;
} }
i++; i++;
} }
return ret; return ret;
} }

View File

@ -7,403 +7,405 @@
#include <limits.h> #include <limits.h>
#include "ef_test.h" #include "ef_test.h"
static void *_cb_command(void *data, Efreet_Desktop *desktop, char *exec, int remaining); typedef struct
{
Eina_List *expected;
int error;
char type;
} Test_Info;
static void *
_cb_command(void *data, Efreet_Desktop *desktop EINA_UNUSED,
char *exec, int remaining EINA_UNUSED)
{
Test_Info *info = data;
char *expected;
expected = eina_list_data_get(info->expected);
info->expected = eina_list_demote_list(info->expected, info->expected);
if (!expected)
{
printf(" ERROR: (%%%c) got \"%s\", expected nothing\n",
info->type, exec);
info->error++;
}
else
{
if (strcmp(exec, expected))
{
printf(" ERROR: (%%%c) got \"%s\", expected \"%s\"\n",
info->type, exec, expected);
info->error++;
}
}
free(exec);
return NULL;
}
int int
ef_cb_desktop_parse(void) ef_cb_desktop_parse(void)
{ {
Efreet_Desktop *desktop; Efreet_Desktop *desktop;
Eina_List *l; Eina_List *l;
int ret = 1; int ret = 1;
desktop = efreet_desktop_get(ef_test_path_get("test.desktop")); desktop = efreet_desktop_get(ef_test_path_get("test.desktop"));
if (!desktop) if (!desktop)
{ {
printf("No desktop found.\n"); printf("No desktop found.\n");
return 0; return 0;
} }
if (!desktop->name || strcmp(desktop->name, "Efreet Test Application")) if (!desktop->name || strcmp(desktop->name, "Efreet Test Application"))
{ {
printf("Invalid Name\n"); printf("Invalid Name\n");
ret = 0; ret = 0;
} }
if (!desktop->generic_name || if (!desktop->generic_name ||
strcmp(desktop->generic_name, "Test Application")) strcmp(desktop->generic_name, "Test Application"))
{ {
printf("Incorrent GenericName\n"); printf("Incorrent GenericName\n");
ret = 0; ret = 0;
} }
if (!desktop->exec || strcmp(desktop->exec, "efreet_test %F %i")) if (!desktop->exec || strcmp(desktop->exec, "efreet_test %F %i"))
{ {
printf("Incorrect Exec (%s)\n", (desktop->exec ? desktop->exec : "(null)")); printf("Incorrect Exec (%s)\n", (desktop->exec ? desktop->exec : "(null)"));
ret = 0; ret = 0;
} }
if (desktop->categories) if (desktop->categories)
{ {
const char *categories[] = {"Test", "Enlightenment"}; const char *categories[] = {"Test", "Enlightenment"};
const char *cat; const char *cat;
int num_categories = 2, i = 0; int num_categories = 2, i = 0;
EINA_LIST_FOREACH(desktop->categories, l, cat) EINA_LIST_FOREACH(desktop->categories, l, cat)
{ {
if (i >= num_categories) if (i >= num_categories)
{ {
printf("Too many categories found.\n"); printf("Too many categories found.\n");
ret = 0; ret = 0;
break; break;
} }
if (!cat || !categories[i] || strcmp(cat, categories[i])) if (!cat || !categories[i] || strcmp(cat, categories[i]))
{ {
printf("Expected category %s, found %s\n", categories[i], cat); printf("Expected category %s, found %s\n", categories[i], cat);
ret = 0; ret = 0;
} }
i++; i++;
} }
} }
else ret = 0; else ret = 0;
efreet_desktop_free(desktop); efreet_desktop_free(desktop);
return ret; return ret;
} }
#if 0 #if 0
int int
ef_cb_desktop_file_id(void) ef_cb_desktop_file_id(void)
{ {
Efreet_Desktop *desktop; Efreet_Desktop *desktop;
int ret = 1; int ret = 1;
desktop = efreet_desktop_get(ef_test_path_get("test.desktop")); desktop = efreet_desktop_get(ef_test_path_get("test.desktop"));
if (desktop) if (desktop)
{ {
const char *id; const char *id;
int i = 0; int i = 0;
struct { struct {
char *dir; char *dir;
int legacy; int legacy;
char *prefix; char *prefix;
char *expected; char *expected;
} tests[] = { } tests[] = {
// TODO: once enabled fix to remove PACKAGE_DATA_DIR // TODO: once enabled fix to remove PACKAGE_DATA_DIR
{PACKAGE_DATA_DIR"/test/", 0, NULL, "test.desktop"}, {PACKAGE_DATA_DIR"/test/", 0, NULL, "test.desktop"},
{PACKAGE_DATA_DIR"/", 0, NULL, "test-test.desktop"}, {PACKAGE_DATA_DIR"/", 0, NULL, "test-test.desktop"},
{PACKAGE_DATA_DIR"/", 1, NULL, "test.desktop"}, {PACKAGE_DATA_DIR"/", 1, NULL, "test.desktop"},
{PACKAGE_DATA_DIR"/", 1, "prefix", "prefix-test.desktop"}, {PACKAGE_DATA_DIR"/", 1, "prefix", "prefix-test.desktop"},
{NULL, 0, NULL, NULL} {NULL, 0, NULL, NULL}
}; };
for (i = 0; tests[i].dir != NULL; i++) for (i = 0; tests[i].dir != NULL; i++)
{ {
id = efreet_desktop_id_get(desktop, id = efreet_desktop_id_get(desktop,
tests[i].dir, tests[i].dir,
tests[i].legacy, tests[i].legacy,
tests[i].prefix); tests[i].prefix);
if (!id || strcmp(id, tests[i].expected)) if (!id || strcmp(id, tests[i].expected))
{ {
printf("Expecting id: %s, got: %s\n", tests[i].expected, id); printf("Expecting id: %s, got: %s\n", tests[i].expected, id);
ret = 0; ret = 0;
} }
if (id) eina_stringshare_del(id); if (id) eina_stringshare_del(id);
} }
} }
else else
ret = 0; ret = 0;
return ret; return ret;
} }
#endif #endif
int int
ef_cb_desktop_save(void) ef_cb_desktop_save(void)
{ {
Efreet_Desktop *desktop; Efreet_Desktop *desktop;
printf("\n"); printf("\n");
if (eina_file_copy(ef_test_path_get("test.desktop"), if (eina_file_copy(ef_test_path_get("test.desktop"),
"/tmp/test.desktop", 0, NULL, NULL)) "/tmp/test.desktop", 0, NULL, NULL))
{ {
desktop = efreet_desktop_get("/tmp/test.desktop"); desktop = efreet_desktop_get("/tmp/test.desktop");
if (!desktop) if (!desktop)
{ {
unlink("/tmp/test.desktop"); unlink("/tmp/test.desktop");
printf("Failed to get Desktop file\n"); printf("Failed to get Desktop file\n");
return 0; return 0;
} }
printf("save data: %d\n", efreet_desktop_save(desktop)); printf("save data: %d\n", efreet_desktop_save(desktop));
efreet_desktop_free(desktop); efreet_desktop_free(desktop);
unlink("/tmp/test.desktop"); unlink("/tmp/test.desktop");
} }
desktop = efreet_desktop_empty_new("/tmp/test.desktop"); desktop = efreet_desktop_empty_new("/tmp/test.desktop");
desktop->name = strdup("Efreet Test Application"); desktop->name = strdup("Efreet Test Application");
desktop->type = EFREET_DESKTOP_TYPE_APPLICATION; desktop->type = EFREET_DESKTOP_TYPE_APPLICATION;
desktop->generic_name = strdup("Test Application"); desktop->generic_name = strdup("Test Application");
desktop->exec = strdup("efreet_test"); desktop->exec = strdup("efreet_test");
desktop->categories = NULL; desktop->categories = NULL;
desktop->categories = eina_list_append(desktop->categories, eina_stringshare_add("Test")); desktop->categories = eina_list_append(desktop->categories,
desktop->categories = eina_list_append(desktop->categories, eina_stringshare_add("Enlightenment")); eina_stringshare_add("Test"));
printf("save test: %d\n", efreet_desktop_save(desktop)); desktop->categories = eina_list_append(desktop->categories,
unlink("/tmp/test.desktop"); eina_stringshare_add("Enlightenment"));
efreet_desktop_free(desktop); printf("save test: %d\n", efreet_desktop_save(desktop));
unlink("/tmp/test.desktop");
efreet_desktop_free(desktop);
return 1; return 1;
} }
typedef struct
{
Eina_List *expected;
int error;
char type;
} Test_Info;
int int
ef_cb_desktop_command_get(void) ef_cb_desktop_command_get(void)
{ {
Efreet_Desktop *desktop; Efreet_Desktop *desktop;
Eina_List *files, *expected; Eina_List *files, *expected;
char olddir[PATH_MAX]; char olddir[PATH_MAX];
Test_Info *info; Test_Info *info;
int ret; int ret;
if (getcwd(olddir, PATH_MAX) != 0) ret = 0; if (getcwd(olddir, PATH_MAX) != 0) ret = 0;
if (chdir("/") != 0) ret = 0; if (chdir("/") != 0) ret = 0;
printf("\n"); printf("\n");
desktop = efreet_desktop_empty_new("test.desktop"); desktop = efreet_desktop_empty_new("test.desktop");
desktop->name = strdup("App Name"); desktop->name = strdup("App Name");
desktop->icon = strdup("icon.png"); desktop->icon = strdup("icon.png");
files = NULL; files = NULL;
files = eina_list_append(files, "/tmp/absolute_path"); files = eina_list_append(files, "/tmp/absolute_path");
files = eina_list_append(files, "relative_path"); files = eina_list_append(files, "relative_path");
files = eina_list_append(files, "file:///tmp/absolute_uri"); files = eina_list_append(files, "file:///tmp/absolute_uri");
files = eina_list_append(files, "file:relative_uri"); files = eina_list_append(files, "file:relative_uri");
info = NEW(Test_Info, 1); info = NEW(Test_Info, 1);
expected = NULL; expected = NULL;
info->error = 0; info->error = 0;
/* test single full path */ /* test single full path */
info->type = 'f'; info->type = 'f';
IF_FREE(desktop->exec); IF_FREE(desktop->exec);
desktop->exec = strdup("app %f"); desktop->exec = strdup("app %f");
expected = eina_list_append(expected, "app '/tmp/absolute_path'"); expected = eina_list_append(expected, "app '/tmp/absolute_path'");
expected = eina_list_append(expected, "app '/relative_path'"); expected = eina_list_append(expected, "app '/relative_path'");
expected = eina_list_append(expected, "app '/tmp/absolute_uri'"); expected = eina_list_append(expected, "app '/tmp/absolute_uri'");
expected = eina_list_append(expected, "app '/relative_uri'"); expected = eina_list_append(expected, "app '/relative_uri'");
info->expected = expected; info->expected = expected;
efreet_desktop_command_get(desktop, files, _cb_command, info); efreet_desktop_command_get(desktop, files, _cb_command, info);
expected = eina_list_free(expected); expected = eina_list_free(expected);
/* test single uri */ /* test single uri */
info->type = 'u'; info->type = 'u';
IF_FREE(desktop->exec); IF_FREE(desktop->exec);
desktop->exec = strdup("app %u"); desktop->exec = strdup("app %u");
expected = eina_list_append(expected, "app 'file:///tmp/absolute_path'"); expected = eina_list_append(expected, "app 'file:///tmp/absolute_path'");
expected = eina_list_append(expected, "app 'file:///relative_path'"); expected = eina_list_append(expected, "app 'file:///relative_path'");
expected = eina_list_append(expected, "app 'file:///tmp/absolute_uri'"); expected = eina_list_append(expected, "app 'file:///tmp/absolute_uri'");
expected = eina_list_append(expected, "app 'file:///relative_uri'"); expected = eina_list_append(expected, "app 'file:///relative_uri'");
info->expected = expected; info->expected = expected;
efreet_desktop_command_get(desktop, files, _cb_command, info); efreet_desktop_command_get(desktop, files, _cb_command, info);
expected = eina_list_free(expected); expected = eina_list_free(expected);
/* test single dir */ /* test single dir */
#if 0 #if 0
info->type = 'd'; info->type = 'd';
IF_FREE(desktop->exec); IF_FREE(desktop->exec);
desktop->exec = strdup("app %d"); desktop->exec = strdup("app %d");
expected = eina_list_append(expected, "app '/tmp'"); expected = eina_list_append(expected, "app '/tmp'");
expected = eina_list_append(expected, "app '/'"); expected = eina_list_append(expected, "app '/'");
expected = eina_list_append(expected, "app '/tmp'"); expected = eina_list_append(expected, "app '/tmp'");
expected = eina_list_append(expected, "app '/'"); expected = eina_list_append(expected, "app '/'");
info->expected = expected; info->expected = expected;
efreet_desktop_command_get(desktop, files, _cb_command, info); efreet_desktop_command_get(desktop, files, _cb_command, info);
expected = eina_list_free(expected); expected = eina_list_free(expected);
#endif #endif
/* test single names */ /* test single names */
#if 0 #if 0
info->type = 'n'; info->type = 'n';
IF_FREE(desktop->exec); IF_FREE(desktop->exec);
desktop->exec = strdup("app %n"); desktop->exec = strdup("app %n");
expected = eina_list_append(expected, "app 'absolute_path'"); expected = eina_list_append(expected, "app 'absolute_path'");
expected = eina_list_append(expected, "app 'relative_path'"); expected = eina_list_append(expected, "app 'relative_path'");
expected = eina_list_append(expected, "app 'absolute_uri'"); expected = eina_list_append(expected, "app 'absolute_uri'");
expected = eina_list_append(expected, "app 'relative_uri'"); expected = eina_list_append(expected, "app 'relative_uri'");
info->expected = expected; info->expected = expected;
efreet_desktop_command_get(desktop, files, _cb_command, info); efreet_desktop_command_get(desktop, files, _cb_command, info);
expected = eina_list_free(expected); expected = eina_list_free(expected);
#endif #endif
/* test multiple fullpaths */ /* test multiple fullpaths */
info->type = 'F'; info->type = 'F';
IF_FREE(desktop->exec); IF_FREE(desktop->exec);
desktop->exec = strdup("app %F"); desktop->exec = strdup("app %F");
expected = eina_list_append(expected, "app '/tmp/absolute_path' '/relative_path' '/tmp/absolute_uri' '/relative_uri'"); expected = eina_list_append(expected, "app '/tmp/absolute_path' '/relative_path' '/tmp/absolute_uri' '/relative_uri'");
info->expected = expected; info->expected = expected;
efreet_desktop_command_get(desktop, files, _cb_command, info); efreet_desktop_command_get(desktop, files, _cb_command, info);
expected = eina_list_free(expected); expected = eina_list_free(expected);
/* test multiple URIs */ /* test multiple URIs */
info->type = 'U'; info->type = 'U';
IF_FREE(desktop->exec); IF_FREE(desktop->exec);
desktop->exec = strdup("app %U"); desktop->exec = strdup("app %U");
expected = eina_list_append(expected, "app 'file:///tmp/absolute_path' 'file:///relative_path' 'file:///tmp/absolute_uri' 'file:///relative_uri'"); expected = eina_list_append(expected, "app 'file:///tmp/absolute_path' 'file:///relative_path' 'file:///tmp/absolute_uri' 'file:///relative_uri'");
info->expected = expected; info->expected = expected;
efreet_desktop_command_get(desktop, files, _cb_command, info); efreet_desktop_command_get(desktop, files, _cb_command, info);
expected = eina_list_free(expected); expected = eina_list_free(expected);
/* test multiple dirs */ /* test multiple dirs */
#if 0 #if 0
info->type = 'D'; info->type = 'D';
IF_FREE(desktop->exec); IF_FREE(desktop->exec);
desktop->exec = strdup("app %D"); desktop->exec = strdup("app %D");
expected = eina_list_append(expected, "app '/tmp' '/' '/tmp' '/'"); expected = eina_list_append(expected, "app '/tmp' '/' '/tmp' '/'");
info->expected = expected; info->expected = expected;
efreet_desktop_command_get(desktop, files, _cb_command, info); efreet_desktop_command_get(desktop, files, _cb_command, info);
expected = eina_list_free(expected); expected = eina_list_free(expected);
#endif #endif
/* test multiple names */ /* test multiple names */
#if 0 #if 0
info->type = 'N'; info->type = 'N';
IF_FREE(desktop->exec); IF_FREE(desktop->exec);
desktop->exec = strdup("app %N"); desktop->exec = strdup("app %N");
expected = eina_list_append(expected, "app 'absolute_path' 'relative_path' 'absolute_uri' 'relative_uri'"); expected = eina_list_append(expected, "app 'absolute_path' 'relative_path' 'absolute_uri' 'relative_uri'");
info->expected = expected; info->expected = expected;
efreet_desktop_command_get(desktop, files, _cb_command, info); efreet_desktop_command_get(desktop, files, _cb_command, info);
expected = eina_list_free(expected); expected = eina_list_free(expected);
#endif #endif
/* test icon appending */ /* test icon appending */
info->type = 'i'; info->type = 'i';
IF_FREE(desktop->exec); IF_FREE(desktop->exec);
desktop->exec = strdup("app %i"); desktop->exec = strdup("app %i");
expected = eina_list_append(expected, "app --icon 'icon.png'"); expected = eina_list_append(expected, "app --icon 'icon.png'");
info->expected = expected; info->expected = expected;
efreet_desktop_command_get(desktop, NULL, _cb_command, info); efreet_desktop_command_get(desktop, NULL, _cb_command, info);
expected = eina_list_free(expected); expected = eina_list_free(expected);
/* test app name */ /* test app name */
info->type = 'c'; info->type = 'c';
IF_FREE(desktop->exec); IF_FREE(desktop->exec);
desktop->exec = strdup("app %c"); desktop->exec = strdup("app %c");
expected = eina_list_append(expected, "app 'App Name'"); expected = eina_list_append(expected, "app 'App Name'");
info->expected = expected; info->expected = expected;
efreet_desktop_command_get(desktop, NULL, _cb_command, info); efreet_desktop_command_get(desktop, NULL, _cb_command, info);
expected = eina_list_free(expected); expected = eina_list_free(expected);
/* test desktop path */ /* test desktop path */
info->type = 'k'; info->type = 'k';
IF_FREE(desktop->exec); IF_FREE(desktop->exec);
desktop->exec = strdup("app %k"); desktop->exec = strdup("app %k");
expected = eina_list_append(expected, "app 'test.desktop'"); expected = eina_list_append(expected, "app 'test.desktop'");
info->expected = expected; info->expected = expected;
efreet_desktop_command_get(desktop, NULL, _cb_command, info); efreet_desktop_command_get(desktop, NULL, _cb_command, info);
eina_list_free(expected); eina_list_free(expected);
/* clean up */ /* clean up */
efreet_desktop_free(desktop); efreet_desktop_free(desktop);
eina_list_free(files); eina_list_free(files);
if (chdir(olddir) != 0) ret = 0; if (chdir(olddir) != 0) ret = 0;
ret = info->error > 0 ? 0 : 1;
free(info);
return ret; ret = info->error > 0 ? 0 : 1;
} free(info);
static void * return ret;
_cb_command(void *data, Efreet_Desktop *desktop EINA_UNUSED,
char *exec, int remaining EINA_UNUSED)
{
Test_Info *info = data;
char *expected;
expected = eina_list_data_get(info->expected);
info->expected = eina_list_demote_list(info->expected, info->expected);
if (!expected)
{
printf(" ERROR: (%%%c) got \"%s\", expected nothing\n", info->type, exec);
info->error++;
}
else
{
if (strcmp(exec, expected))
{
printf(" ERROR: (%%%c) got \"%s\", expected \"%s\"\n", info->type, exec, expected);
info->error++;
}
}
free(exec);
return NULL;
} }
static void * static void *
cb_type_parse(Efreet_Desktop *desktop EINA_UNUSED, Efreet_Ini *ini) cb_type_parse(Efreet_Desktop *desktop EINA_UNUSED, Efreet_Ini *ini)
{ {
const char *val; const char *val;
val = efreet_ini_string_get(ini, "X-Test"); val = efreet_ini_string_get(ini, "X-Test");
if (!val) return NULL; if (!val) return NULL;
return (void *)strdup(val); return (void *)strdup(val);
} }
int int
ef_cb_desktop_type_parse(void) ef_cb_desktop_type_parse(void)
{ {
Efreet_Desktop *desktop; Efreet_Desktop *desktop;
int my_type; int my_type;
char *val; char *val;
int ret = 1; int ret = 1;
/* add my custom desktop type to efreet */ /* add my custom desktop type to efreet */
my_type = efreet_desktop_type_add("My_Type", cb_type_parse, NULL, my_type = efreet_desktop_type_add("My_Type", cb_type_parse, NULL,
(Efreet_Desktop_Type_Free_Cb)free); (Efreet_Desktop_Type_Free_Cb)free);
desktop = efreet_desktop_get(ef_test_path_get("test_type.desktop")); desktop = efreet_desktop_get(ef_test_path_get("test_type.desktop"));
if (!desktop) if (!desktop)
{ {
printf("No desktop found.\n"); printf("No desktop found.\n");
return 0; return 0;
} }
if (desktop->type != my_type) if (desktop->type != my_type)
{ {
printf("Invalid type returned in desktop"); printf("Invalid type returned in desktop");
ret = 0; ret = 0;
} }
val = (char *)efreet_desktop_type_data_get(desktop); val = (char *)efreet_desktop_type_data_get(desktop);
if (!val || strcmp(val, "Own key")) if (!val || strcmp(val, "Own key"))
{ {
printf("Invalid value of custom key (%s).\n", val); printf("Invalid value of custom key (%s).\n", val);
ret = 0; ret = 0;
} }
efreet_desktop_free(desktop); efreet_desktop_free(desktop);
return ret; return ret;
} }

File diff suppressed because it is too large Load Diff

View File

@ -8,168 +8,168 @@
int int
ef_cb_ini_parse(void) ef_cb_ini_parse(void)
{ {
int ret = 1; int ret = 1;
Efreet_Ini *ini; Efreet_Ini *ini;
putenv("LC_ALL=en_US"); putenv("LC_ALL=en_US");
ini = efreet_ini_new(ef_test_path_get("test.ini")); ini = efreet_ini_new(ef_test_path_get("test.ini"));
if (!ini) if (!ini)
{ {
printf("efreet_ini_parse() Failed to initialize Efreet_Ini\n"); printf("efreet_ini_parse() Failed to initialize Efreet_Ini\n");
return 0; return 0;
} }
if (efreet_ini_section_set(ini, "contact")) if (efreet_ini_section_set(ini, "contact"))
{ {
const char *val; const char *val;
int ival; int ival;
unsigned int bval; unsigned int bval;
val = efreet_ini_string_get(ini, "Name"); val = efreet_ini_string_get(ini, "Name");
if (!val || strcmp(val, "Foo Bar")) if (!val || strcmp(val, "Foo Bar"))
{ {
printf("efreet_ini_string_get() Name parsed incorrectly\n"); printf("efreet_ini_string_get() Name parsed incorrectly\n");
ret = 0; ret = 0;
} }
val = efreet_ini_localestring_get(ini, "Name"); val = efreet_ini_localestring_get(ini, "Name");
if (!val || strcmp(val, "English Foo Bar")) if (!val || strcmp(val, "English Foo Bar"))
{ {
printf("efreet_ini_localestring_get() Name parsed incorrectly\n"); printf("efreet_ini_localestring_get() Name parsed incorrectly\n");
ret = 0; ret = 0;
} }
val = efreet_ini_string_get(ini, "Email"); val = efreet_ini_string_get(ini, "Email");
if (!val || strcmp(val, "foo@bar.com")) if (!val || strcmp(val, "foo@bar.com"))
{ {
printf("efreet_ini_string_get() Email parsed incorrectly\n"); printf("efreet_ini_string_get() Email parsed incorrectly\n");
ret = 0; ret = 0;
} }
val = efreet_ini_localestring_get(ini, "Email"); val = efreet_ini_localestring_get(ini, "Email");
if (!val || strcmp(val, "foo@bar.com")) if (!val || strcmp(val, "foo@bar.com"))
{ {
printf("efreet_ini_localestring_get() Email parsed incorrectly\n"); printf("efreet_ini_localestring_get() Email parsed incorrectly\n");
ret = 0; ret = 0;
} }
ival = efreet_ini_int_get(ini, "Age"); ival = efreet_ini_int_get(ini, "Age");
if (ival != 30) if (ival != 30)
{ {
printf("efreet_ini_int_get() Age parsed incorrectly\n"); printf("efreet_ini_int_get() Age parsed incorrectly\n");
ret = 0; ret = 0;
} }
bval = efreet_ini_boolean_get(ini, "TrueBoolean"); bval = efreet_ini_boolean_get(ini, "TrueBoolean");
if (!bval) if (!bval)
{ {
printf("efreet_ini_boolean_get() TrueBoolean parsed incorrectly\n"); printf("efreet_ini_boolean_get() TrueBoolean parsed incorrectly\n");
ret = 0; ret = 0;
} }
bval = efreet_ini_boolean_get(ini, "FalseBoolean"); bval = efreet_ini_boolean_get(ini, "FalseBoolean");
if (bval) if (bval)
{ {
printf("efreet_ini_boolean_get() FalseBoolean parsed incorrectly\n"); printf("efreet_ini_boolean_get() FalseBoolean parsed incorrectly\n");
ret = 0; ret = 0;
} }
bval = efreet_ini_boolean_get(ini, "InvalidBoolean"); bval = efreet_ini_boolean_get(ini, "InvalidBoolean");
if (bval) if (bval)
{ {
printf("efreet_ini_boolean_get() InvalidBoolean parsed incorrectly\n"); printf("efreet_ini_boolean_get() InvalidBoolean parsed incorrectly\n");
ret = 0; ret = 0;
} }
val = efreet_ini_string_get(ini, "Escaped"); val = efreet_ini_string_get(ini, "Escaped");
if (!val || strcmp(val, "line1\nline2\r\nline3\ttabbed \\ with a backslash and spaces")) if (!val || strcmp(val, "line1\nline2\r\nline3\ttabbed \\ with a backslash and spaces"))
{ {
printf("efreet_ini_unescape() improperly unescaped value\n"); printf("efreet_ini_unescape() improperly unescaped value\n");
ret = 0; ret = 0;
} }
} }
else else
{ {
printf("efreet_ini_section_set() Failed to set 'contact' section\n"); printf("efreet_ini_section_set() Failed to set 'contact' section\n");
ret = 0; ret = 0;
} }
efreet_ini_free(ini); efreet_ini_free(ini);
return ret; return ret;
} }
int int
ef_cb_ini_long_line(void) ef_cb_ini_long_line(void)
{ {
Efreet_Ini *ini; Efreet_Ini *ini;
int ret = 1; int ret = 1;
struct struct
{ {
char *key; char *key;
int len; int len;
} tests[] = { } tests[] = {
{"key", 5099}, {"key", 5099},
{"key2", 5099}, {"key2", 5099},
{NULL, 0} {NULL, 0}
}; };
ini = efreet_ini_new(ef_test_path_get("long.ini")); ini = efreet_ini_new(ef_test_path_get("long.ini"));
if (!ini) if (!ini)
{ {
printf("Ini failed to parse.\n"); printf("Ini failed to parse.\n");
ret = 0;
}
if (ret) ret = efreet_ini_section_set(ini, "section");
if (ret)
{
const char *val;
int i, len;
for (i = 0; tests[i].key; i++)
{
val = efreet_ini_string_get(ini, tests[i].key);
if (val)
{
len = strlen(val);
if (len != tests[i].len)
{
printf("Invalid long line parsing. Value length: %d (expected %d)\n", len, tests[i].len);
ret = 0;
}
}
else
{
printf("Key missing: %s.", tests[i].key);
ret = 0; ret = 0;
} }
}
}
else
{
printf("Section missing: 'section'.");
}
if (ini) efreet_ini_free(ini); if (ret) ret = efreet_ini_section_set(ini, "section");
return ret; if (ret)
{
const char *val;
int i, len;
for (i = 0; tests[i].key; i++)
{
val = efreet_ini_string_get(ini, tests[i].key);
if (val)
{
len = strlen(val);
if (len != tests[i].len)
{
printf("Invalid long line parsing. Value length: %d (expected %d)\n", len, tests[i].len);
ret = 0;
}
}
else
{
printf("Key missing: %s.", tests[i].key);
ret = 0;
}
}
}
else
{
printf("Section missing: 'section'.");
}
if (ini) efreet_ini_free(ini);
return ret;
} }
int int
ef_cb_ini_garbage(void) ef_cb_ini_garbage(void)
{ {
Efreet_Ini *ini; Efreet_Ini *ini;
int ret = 1; int ret = 1;
ini = efreet_ini_new(ef_test_path_get("test_garbage")); ini = efreet_ini_new(ef_test_path_get("test_garbage"));
if (!ini) if (!ini)
{ {
printf("Ini failed to parse.\n"); printf("Ini failed to parse.\n");
return 0; return 0;
} }
if (ini->data) ret = 0; if (ini->data) ret = 0;
efreet_ini_free(ini); efreet_ini_free(ini);
return ret; return ret;
} }

View File

@ -8,79 +8,79 @@
int int
ef_cb_locale(void) ef_cb_locale(void)
{ {
int ret = 1, i; int ret = 1, i;
struct struct
{ {
char *lc_message; char *lc_message;
char *lang; char *lang;
char *country; char *country;
char *modifier; char *modifier;
} langs[] = { } langs[] = {
/* these are ordered such that when we move from LANG to LC_MESSAGES /* these are ordered such that when we move from LANG to LC_MESSAGES
* the LANG env will still be effect. Same with moving from * the LANG env will still be effect. Same with moving from
* LC_MESSAGES to LANG */ * LC_MESSAGES to LANG */
{"LANG=", NULL, NULL, NULL}, {"LANG=", NULL, NULL, NULL},
{"LANG=en", "en", NULL, NULL}, {"LANG=en", "en", NULL, NULL},
{"LANG=en@Latn", "en", NULL, "Latn"}, {"LANG=en@Latn", "en", NULL, "Latn"},
{"LANG=en_US", "en", "US", NULL}, {"LANG=en_US", "en", "US", NULL},
{"LANG=en_US@Latn", "en", "US", "Latn"}, {"LANG=en_US@Latn", "en", "US", "Latn"},
{"LANG=en_US.blah@Latn", "en", "US", "Latn"}, {"LANG=en_US.blah@Latn", "en", "US", "Latn"},
{"LC_MESSAGES=", "en", "US", "Latn"}, /* This will fallback to LANG */ {"LC_MESSAGES=", "en", "US", "Latn"}, /* This will fallback to LANG */
{"LC_MESSAGES=fr", "fr", NULL, NULL}, {"LC_MESSAGES=fr", "fr", NULL, NULL},
{"LC_MESSAGES=fr@Blah", "fr", NULL, "Blah"}, {"LC_MESSAGES=fr@Blah", "fr", NULL, "Blah"},
{"LC_MESSAGES=fr_FR", "fr", "FR", NULL}, {"LC_MESSAGES=fr_FR", "fr", "FR", NULL},
{"LC_MESSAGES=fr_FR@Blah", "fr", "FR", "Blah"}, {"LC_MESSAGES=fr_FR@Blah", "fr", "FR", "Blah"},
{"LC_MESSAGES=fr_FR.Foo@Blah", "fr", "FR", "Blah"}, {"LC_MESSAGES=fr_FR.Foo@Blah", "fr", "FR", "Blah"},
{"LC_ALL=", "fr", "FR", "Blah"}, /* this will fallback to LC_MESSAGES */ {"LC_ALL=", "fr", "FR", "Blah"}, /* this will fallback to LC_MESSAGES */
{"LC_ALL=sr", "sr", NULL, NULL}, {"LC_ALL=sr", "sr", NULL, NULL},
{"LC_ALL=sr@Ret", "sr", NULL, "Ret"}, {"LC_ALL=sr@Ret", "sr", NULL, "Ret"},
{"LC_ALL=sr_YU", "sr", "YU", NULL}, {"LC_ALL=sr_YU", "sr", "YU", NULL},
{"LC_ALL=sr_YU@Ret", "sr", "YU", "Ret"}, {"LC_ALL=sr_YU@Ret", "sr", "YU", "Ret"},
{"LC_ALL=sr_YU.ssh@Ret", "sr", "YU", "Ret"}, {"LC_ALL=sr_YU.ssh@Ret", "sr", "YU", "Ret"},
{NULL, NULL, NULL, NULL} {NULL, NULL, NULL, NULL}
}; };
/* reset everything to blank */ /* reset everything to blank */
putenv("LC_ALL="); putenv("LC_ALL=");
putenv("LC_MESSAGES="); putenv("LC_MESSAGES=");
putenv("LANG="); putenv("LANG=");
for (i = 0; langs[i].lc_message; i++) for (i = 0; langs[i].lc_message; i++)
{ {
const char *tmp; const char *tmp;
putenv(langs[i].lc_message); putenv(langs[i].lc_message);
tmp = efreet_lang_get(); tmp = efreet_lang_get();
if ((langs[i].lang && (!tmp || strcmp(tmp, langs[i].lang))) if ((langs[i].lang && (!tmp || strcmp(tmp, langs[i].lang)))
|| (!langs[i].lang && tmp)) || (!langs[i].lang && tmp))
{ {
printf("efreet_lang_get() is wrong (%s) with %s\n", printf("efreet_lang_get() is wrong (%s) with %s\n",
tmp, langs[i].lang); tmp, langs[i].lang);
ret = 0; ret = 0;
} }
tmp = efreet_lang_country_get(); tmp = efreet_lang_country_get();
if ((langs[i].country && (!tmp || strcmp(tmp, langs[i].country))) if ((langs[i].country && (!tmp || strcmp(tmp, langs[i].country)))
|| (!langs[i].country && tmp)) || (!langs[i].country && tmp))
{ {
printf("efreet_lang_country_get() is wrong (%s) with %s\n", printf("efreet_lang_country_get() is wrong (%s) with %s\n",
tmp, langs[i].lang); tmp, langs[i].lang);
ret = 0; ret = 0;
} }
tmp = efreet_lang_modifier_get(); tmp = efreet_lang_modifier_get();
if ((langs[i].modifier && (!tmp || strcmp(tmp, langs[i].modifier))) if ((langs[i].modifier && (!tmp || strcmp(tmp, langs[i].modifier)))
|| (!langs[i].modifier && tmp)) || (!langs[i].modifier && tmp))
{ {
printf("efreet_lang_modifier_get() is wrong with %s with %s\n", printf("efreet_lang_modifier_get() is wrong with %s with %s\n",
tmp, langs[i].lang); tmp, langs[i].lang);
ret = 0; ret = 0;
} }
efreet_shutdown(); efreet_shutdown();
efreet_init(); efreet_init();
} }
return ret; return ret;
} }

View File

@ -8,144 +8,144 @@
static void static void
ef_menu_desktop_exec(Efreet_Menu *menu) ef_menu_desktop_exec(Efreet_Menu *menu)
{ {
Eina_List *l; Eina_List *l;
if (menu->entries) if (menu->entries)
{ {
Efreet_Desktop *desktop; Efreet_Desktop *desktop;
EINA_LIST_FOREACH(menu->entries, l, desktop) EINA_LIST_FOREACH(menu->entries, l, desktop)
efreet_desktop_exec(desktop, NULL); efreet_desktop_exec(desktop, NULL);
} }
if (menu->sub_menus) if (menu->sub_menus)
{ {
Efreet_Menu *sub_menu; Efreet_Menu *sub_menu;
EINA_LIST_FOREACH(menu->sub_menus, l, sub_menu) EINA_LIST_FOREACH(menu->sub_menus, l, sub_menu)
ef_menu_desktop_exec(sub_menu); ef_menu_desktop_exec(sub_menu);
} }
} }
#endif #endif
int int
ef_cb_menu_get(void) ef_cb_menu_get(void)
{ {
Efreet_Menu *menu; Efreet_Menu *menu;
menu = efreet_menu_get(); menu = efreet_menu_get();
// menu = efreet_menu_parse(ef_test_path_get("test.menu")); // menu = efreet_menu_parse(ef_test_path_get("test.menu"));
if (!menu) if (!menu)
{ {
printf("efreet_menu_get() returned NULL\n"); printf("efreet_menu_get() returned NULL\n");
return 0; return 0;
} }
printf("\n"); printf("\n");
efreet_menu_dump(menu, ""); efreet_menu_dump(menu, "");
efreet_menu_free(menu); efreet_menu_free(menu);
return 1; return 1;
} }
int int
ef_cb_menu_with_slashes(void) ef_cb_menu_with_slashes(void)
{ {
Efreet_Menu *menu; Efreet_Menu *menu;
menu = efreet_menu_parse(ef_test_path_get("test_menu_slash_bad.menu")); menu = efreet_menu_parse(ef_test_path_get("test_menu_slash_bad.menu"));
if (menu) if (menu)
{ {
printf("efreet_menu_get() didn't return NULL\n"); printf("efreet_menu_get() didn't return NULL\n");
return 0; return 0;
} }
return 1; return 1;
} }
int int
ef_cb_menu_save(void) ef_cb_menu_save(void)
{ {
Efreet_Menu *menu; Efreet_Menu *menu;
int ret; int ret;
// menu = efreet_menu_get(); // menu = efreet_menu_get();
menu = efreet_menu_parse(ef_test_path_get("test.menu")); menu = efreet_menu_parse(ef_test_path_get("test.menu"));
if (!menu) if (!menu)
{ {
printf("efreet_menu_get() returned NULL\n"); printf("efreet_menu_get() returned NULL\n");
return 0; return 0;
} }
unlink("/tmp/test.menu"); unlink("/tmp/test.menu");
ret = efreet_menu_save(menu, "/tmp/test.menu"); ret = efreet_menu_save(menu, "/tmp/test.menu");
efreet_menu_free(menu); efreet_menu_free(menu);
return ret; return ret;
} }
int int
ef_cb_menu_edit(void) ef_cb_menu_edit(void)
{ {
Efreet_Menu *menu, *entry; Efreet_Menu *menu, *entry;
Efreet_Desktop *desktop; Efreet_Desktop *desktop;
// menu = efreet_menu_get(); // menu = efreet_menu_get();
menu = efreet_menu_parse(ef_test_path_get("test.menu")); menu = efreet_menu_parse(ef_test_path_get("test.menu"));
if (!menu) if (!menu)
{ {
printf("efreet_menu_get() returned NULL\n"); printf("efreet_menu_get() returned NULL\n");
return 0; return 0;
} }
#if 0 #if 0
printf("\n"); printf("\n");
efreet_menu_dump(menu, ""); efreet_menu_dump(menu, "");
printf("\n"); printf("\n");
#endif #endif
desktop = efreet_desktop_get(ef_test_path_get("test.desktop")); desktop = efreet_desktop_get(ef_test_path_get("test.desktop"));
if (!desktop) if (!desktop)
{ {
efreet_menu_free(menu); efreet_menu_free(menu);
printf("No desktop found.\n"); printf("No desktop found.\n");
return 0; return 0;
} }
efreet_menu_desktop_insert(menu, desktop, 0); efreet_menu_desktop_insert(menu, desktop, 0);
#if 0 #if 0
printf("\n"); printf("\n");
efreet_menu_dump(menu, ""); efreet_menu_dump(menu, "");
printf("\n"); printf("\n");
#endif #endif
entry = eina_list_data_get(menu->entries); entry = eina_list_data_get(menu->entries);
if (desktop != entry->desktop) if (desktop != entry->desktop)
{ {
efreet_menu_free(menu); efreet_menu_free(menu);
return 0; return 0;
} }
efreet_menu_desktop_insert(menu, desktop, 2); efreet_menu_desktop_insert(menu, desktop, 2);
#if 0 #if 0
printf("\n"); printf("\n");
efreet_menu_dump(menu, ""); efreet_menu_dump(menu, "");
printf("\n"); printf("\n");
#endif #endif
entry = eina_list_nth(menu->entries, 2); entry = eina_list_nth(menu->entries, 2);
if (desktop != entry->desktop) if (desktop != entry->desktop)
{ {
efreet_menu_free(menu); efreet_menu_free(menu);
return 0; return 0;
} }
efreet_menu_desktop_insert(menu, desktop, -1); efreet_menu_desktop_insert(menu, desktop, -1);
#if 0 #if 0
printf("\n"); printf("\n");
efreet_menu_dump(menu, ""); efreet_menu_dump(menu, "");
printf("\n"); printf("\n");
#endif #endif
entry = eina_list_data_get(eina_list_last(menu->entries)); entry = eina_list_data_get(eina_list_last(menu->entries));
if (desktop != entry->desktop) if (desktop != entry->desktop)
{ {
efreet_menu_free(menu); efreet_menu_free(menu);
return 0; return 0;
} }
efreet_menu_free(menu); efreet_menu_free(menu);
return 1; return 1;
} }

View File

@ -13,46 +13,46 @@
int int
ef_mime_cb_get(void) ef_mime_cb_get(void)
{ {
const char *mime = NULL, *icon; const char *mime = NULL, *icon;
int misses = 0, i = 0; int misses = 0, i = 0;
struct struct
{ {
char *file; char *file;
char *mime; char *mime;
} files[] = { } files[] = {
{"test_type.desktop", "application/x-desktop"}, {"test_type.desktop", "application/x-desktop"},
{"entry.png", "image/png"}, {"entry.png", "image/png"},
{"entry", "image/png"}, {"entry", "image/png"},
{"sub", "inode/directory"}, {"sub", "inode/directory"},
{NULL, NULL} { }
}; };
double start; double start;
if (!efreet_mime_init()) if (!efreet_mime_init())
{ {
printf("Could not init efreet\n"); printf("Could not init efreet\n");
return 1; return 1;
} }
for (i = 0; files[i].file; ++i) for (i = 0; files[i].file; ++i)
{ {
mime = efreet_mime_type_get(ef_test_path_get(files[i].file)); mime = efreet_mime_type_get(ef_test_path_get(files[i].file));
if (!mime) if (!mime)
{ {
printf("Got %s as null instead of %s\n", files[i].file, files[i].mime); printf("Got %s as null instead of %s\n", files[i].file, files[i].mime);
misses ++; misses ++;
} }
else if (strcmp(mime, files[i].mime)) else if (strcmp(mime, files[i].mime))
{ {
printf("Got %s as %s instead of %s\n", files[i].file, mime, files[i].mime); printf("Got %s as %s instead of %s\n", files[i].file, mime, files[i].mime);
misses ++; misses ++;
} }
start = ecore_time_get(); start = ecore_time_get();
icon = efreet_mime_type_icon_get(files[i].mime, THEME, SIZE); icon = efreet_mime_type_icon_get(files[i].mime, THEME, SIZE);
printf("mime icon: %s %s %f\n", files[i].mime, icon, ecore_time_get() - start); printf("mime icon: %s %s %f\n", files[i].mime, icon, ecore_time_get() - start);
} }
efreet_mime_shutdown(); efreet_mime_shutdown();
return !misses; return !misses;
} }

View File

@ -4,25 +4,25 @@
int int
ef_cb_utils(void) ef_cb_utils(void)
{ {
Efreet_Desktop *desktop; Efreet_Desktop *desktop;
const char *tmp2; const char *tmp2;
printf("\n"); printf("\n");
tmp2 = efreet_util_path_to_file_id("/usr/share/applications/this/tmp/test.desktop"); tmp2 = efreet_util_path_to_file_id("/usr/share/applications/this/tmp/test.desktop");
if (tmp2) printf("%s\n", tmp2); if (tmp2) printf("%s\n", tmp2);
desktop = efreet_util_desktop_file_id_find("kde-kresources.desktop"); desktop = efreet_util_desktop_file_id_find("kde-kresources.desktop");
printf("kde-kresources.desktop: %p\n", desktop); printf("kde-kresources.desktop: %p\n", desktop);
efreet_desktop_free(desktop); efreet_desktop_free(desktop);
desktop = efreet_util_desktop_file_id_find("mplayer.desktop"); desktop = efreet_util_desktop_file_id_find("mplayer.desktop");
printf("mplayer.desktop: %p\n", desktop); printf("mplayer.desktop: %p\n", desktop);
efreet_desktop_free(desktop); efreet_desktop_free(desktop);
desktop = efreet_util_desktop_file_id_find("nautilus-computer.desktop"); desktop = efreet_util_desktop_file_id_find("nautilus-computer.desktop");
printf("nautilus-computer.desktop: %p\n", desktop); printf("nautilus-computer.desktop: %p\n", desktop);
efreet_desktop_free(desktop); efreet_desktop_free(desktop);
return 1; return 1;
} }

View File

@ -40,39 +40,39 @@ int ef_mime_cb_get(void);
typedef struct Efreet_Test Efreet_Test; typedef struct Efreet_Test Efreet_Test;
struct Efreet_Test struct Efreet_Test
{ {
char *name; char *name;
int (*cb)(void); int (*cb)(void);
}; };
static Efreet_Test tests[] = { static Efreet_Test tests[] = {
{"Data Home", ef_cb_efreet_data_home}, {"Data Home", ef_cb_efreet_data_home},
{"Config Home", ef_cb_efreet_config_home}, {"Config Home", ef_cb_efreet_config_home},
{"Cache Home", ef_cb_efreet_cache_home}, {"Cache Home", ef_cb_efreet_cache_home},
{"Data Directories", ef_cb_efreet_data_dirs}, {"Data Directories", ef_cb_efreet_data_dirs},
{"Config Directories", ef_cb_efreet_config_dirs}, {"Config Directories", ef_cb_efreet_config_dirs},
{"Icon Theme Basic", ef_cb_efreet_icon_theme}, {"Icon Theme Basic", ef_cb_efreet_icon_theme},
{"Icon Theme List", ef_cb_efreet_icon_theme_list}, {"Icon Theme List", ef_cb_efreet_icon_theme_list},
{"Icon Matching", ef_cb_efreet_icon_match}, {"Icon Matching", ef_cb_efreet_icon_match},
{"INI Parsing", ef_cb_ini_parse}, {"INI Parsing", ef_cb_ini_parse},
{"INI Long Line Parsing", ef_cb_ini_long_line}, {"INI Long Line Parsing", ef_cb_ini_long_line},
{"INI Garbage Parsing", ef_cb_ini_garbage}, {"INI Garbage Parsing", ef_cb_ini_garbage},
{"Locale Parsing", ef_cb_locale}, {"Locale Parsing", ef_cb_locale},
{"Desktop Parsing", ef_cb_desktop_parse}, {"Desktop Parsing", ef_cb_desktop_parse},
{"Desktop Type Parsing", ef_cb_desktop_type_parse}, {"Desktop Type Parsing", ef_cb_desktop_type_parse},
{"Desktop Save", ef_cb_desktop_save}, {"Desktop Save", ef_cb_desktop_save},
{"Desktop Command", ef_cb_desktop_command_get}, {"Desktop Command", ef_cb_desktop_command_get},
#if 0 #if 0
{"Desktop File ID", ef_cb_desktop_file_id}, {"Desktop File ID", ef_cb_desktop_file_id},
#endif #endif
{"Menu Parsing", ef_cb_menu_get}, {"Menu Parsing", ef_cb_menu_get},
{"Menu Incorrect Names", ef_cb_menu_with_slashes}, {"Menu Incorrect Names", ef_cb_menu_with_slashes},
{"Menu Save", ef_cb_menu_save}, {"Menu Save", ef_cb_menu_save},
#if 0 #if 0
{"Menu Edit", ef_cb_menu_edit}, {"Menu Edit", ef_cb_menu_edit},
#endif #endif
{"Utils", ef_cb_utils}, {"Utils", ef_cb_utils},
{"Mime", ef_mime_cb_get}, {"Mime", ef_mime_cb_get},
{ } { }
}; };
extern char **environ; extern char **environ;
@ -106,47 +106,45 @@ const char *ef_test_path_get(const char *component)
int int
main(int argc, char ** argv) main(int argc, char ** argv)
{ {
int i, passed = 0, num_tests = 0; int i, passed = 0, num_tests = 0;
Eina_List *run = NULL; Eina_List *run = NULL;
double total; double total;
eina_init(); eina_init();
ecore_init(); ecore_init();
total = ecore_time_get(); total = ecore_time_get();
if (argc > 1) if (argc > 1)
{ {
for (i = 1; i < argc; i++) for (i = 1; i < argc; i++)
{ {
if ((!strcmp(argv[i], "-h")) || if ((!strcmp(argv[i], "-h")) ||
(!strcmp(argv[i], "--help"))) (!strcmp(argv[i], "--help")))
{ {
for (i = 0; tests[i].name; i++) for (i = 0; tests[i].name; i++)
{
printf("%s\n", tests[i].name); printf("%s\n", tests[i].name);
} return 1;
return 1; }
} run = eina_list_append(run, argv[i]);
run = eina_list_append(run, argv[i]); }
} }
}
efreet_cache_update = 0; efreet_cache_update = 0;
for (i = 0; tests[i].name; i++) for (i = 0; tests[i].name; i++)
{ {
int ret; int ret;
double start; double start;
/* we've been given specific tests and it isn't in the list */ /* we've been given specific tests and it isn't in the list */
if (run && !eina_list_search_unsorted(run, EINA_COMPARE_CB(strcasecmp), if (run && !eina_list_search_unsorted(run, EINA_COMPARE_CB(strcasecmp),
tests[i].name)) tests[i].name))
continue; continue;
if (!efreet_init()) if (!efreet_init())
{ {
printf("Error initializing Efreet\n"); printf("Error initializing Efreet\n");
continue; continue;
} }
num_tests ++; num_tests ++;
@ -158,21 +156,21 @@ main(int argc, char ** argv)
ret = tests[i].cb(); ret = tests[i].cb();
printf("%s in %.3f seconds\n", (ret ? "PASSED" : "FAILED"), printf("%s in %.3f seconds\n", (ret ? "PASSED" : "FAILED"),
ecore_time_get() - start); ecore_time_get() - start);
passed += ret; passed += ret;
efreet_shutdown(); efreet_shutdown();
} }
printf("\n-----------------\n"); printf("\n-----------------\n");
printf("Passed %d of %d tests.\n", passed, num_tests); printf("Passed %d of %d tests.\n", passed, num_tests);
while (run) while (run)
run = eina_list_remove_list(run, run); run = eina_list_remove_list(run, run);
printf("Total run: %.3f seconds\n", ecore_time_get() - total); printf("Total run: %.3f seconds\n", ecore_time_get() - total);
ecore_shutdown(); ecore_shutdown();
eina_shutdown(); eina_shutdown();
return 0; return 0;
} }