10
# include <evil_private.h> /* setenv unsetenv */
13
#include <Ecore_File.h>
17
ef_cb_efreet_data_home(void)
23
setenv("XDG_DATA_HOME", "/var/tmp", 1);
26
tmp = efreet_data_home_get();
27
if (strcmp(tmp, "/var/tmp"))
29
printf("efreet_data_home_get() returned incorrect "
30
"value (%s) on XDG_DATA_HOME=/var/tmp\n", tmp);
34
/* reset efreet here so we can set a new home dir */
36
unsetenv("XDG_DATA_HOME");
37
setenv("HOME", "/home/tmp", 1);
40
tmp = efreet_data_home_get();
41
if (strcmp(tmp, "/home/tmp/.local/share"))
43
printf("efreet_data_home_get() returned incorrect "
44
"value (%s) on blank XDG_DATA_HOME\n", tmp);
48
/* reset efreet here so we can set a new home dir */
50
unsetenv("XDG_DATA_HOME");
53
unsetenv("USERPROFILE");
57
tmp = efreet_data_home_get();
58
if (strcmp(tmp, "/tmp/.local/share"))
60
printf("efreet_data_home_get() returned incorrect "
61
"value (%s) on blank XDG_DATA_HOME and blank HOME\n", tmp);
69
ef_cb_efreet_config_home(void)
75
setenv("XDG_CONFIG_HOME", "/var/tmp", 1);
78
tmp = efreet_config_home_get();
79
if (strcmp(tmp, "/var/tmp"))
81
printf("efreet_config_home_get() returned incorrect "
82
"value (%s) on XDG_CONFIG_HOME=/var/tmp\n", tmp);
86
/* reset efreet here so we can set a new home dir */
88
unsetenv("XDG_CONFIG_HOME");
89
setenv("HOME", "/home/tmp", 1);
92
tmp = efreet_config_home_get();
93
if (strcmp(tmp, "/home/tmp/.config"))
95
printf("efreet_config_home_get() returned incorrect "
96
"value (%s) on blank XDG_CONFIG_HOME\n", tmp);
100
/* reset efreet here so we can set a new home dir */
102
unsetenv("XDG_CONFIG_HOME");
105
unsetenv("USERPROFILE");
109
tmp = efreet_config_home_get();
110
if (strcmp(tmp, "/tmp/.config"))
112
printf("efreet_config_home_get() returned incorrect "
113
"value (%s) on blank XDG_CONFIG_HOME and blank HOME\n", tmp);
121
ef_cb_efreet_cache_home(void)
127
setenv("XDG_CACHE_HOME", "/var/tmp", 1);
130
tmp = efreet_cache_home_get();
131
if (strcmp(tmp, "/var/tmp"))
133
printf("efreet_cache_home_get() returned incorrect "
134
"value (%s) on XDG_CACHE_HOME=/var/tmp\n", tmp);
138
/* reset efreet here so we can set a new home dir */
140
unsetenv("XDG_CACHE_HOME");
141
setenv("HOME", "/home/tmp", 1);
144
tmp = efreet_cache_home_get();
145
if (strcmp(tmp, "/home/tmp/.cache"))
147
printf("efreet_cache_home_get() returned incorrect "
148
"value (%s) on blank XDG_CACHE_HOME\n", tmp);
152
/* reset efreet here so we can set a new home dir */
154
unsetenv("XDG_CACHE_HOME");
157
unsetenv("USERPROFILE");
161
tmp = efreet_cache_home_get();
162
if (strcmp(tmp, "/tmp/.cache"))
164
printf("efreet_cache_home_get() returned incorrect "
165
"value (%s) on blank XDG_CACHE_HOME and blank HOME\n", tmp);
173
ef_cb_efreet_data_dirs(void)
179
char dirs[128], *val;
180
char *vals[] = {"/var/tmp/a", "/tmp/b", "/usr/local/share", "/etc", NULL};
181
char *def_vals[] = {DATA_DIR, "/usr/share", "/usr/local/share", NULL};
184
for (i = 0; vals[i]; i++)
186
if (i > 0) strcat(dirs, ":");
187
strcat(dirs, vals[i]);
191
setenv("XDG_DATA_DIRS", dirs, 1);
195
tmp = efreet_data_dirs_get();
196
for (i = 0; vals[i]; i++)
200
found = eina_list_search_unsorted(tmp, EINA_COMPARE_CB(strcmp), vals[i]);
201
if (!ecore_file_exists(vals[i]) && found)
203
printf("efreet_data_dirs_get() includes non-existing dir (%s) when "
204
"%s set\n", vals[i], dirs);
208
if (ecore_file_exists(vals[i]) && !found)
210
printf("efreet_data_dirs_get() is missing dir (%s) when "
211
"%s set\n", vals[i], dirs);
215
if (ecore_file_exists(vals[i]) && found)
218
if (eina_list_count(tmp) != ok)
220
printf("efreet_data_dirs_get() returned more values then it "
221
"should have given %s as input\n", dirs);
226
unsetenv("XDG_DATA_DIRS");
230
tmp = efreet_data_dirs_get();
231
if (eina_list_count(tmp) != 3)
233
printf("efreet_data_dirs_get() nodes is differnet from expected default\n");
237
EINA_LIST_FOREACH(tmp, l, val)
241
printf("efreet_data_dirs_get() returned more values then it "
242
"should have given %s as input\n", dirs);
247
if (strcmp(val, def_vals[i]))
249
printf("efreet_data_dirs_get() returned incorrect value (%s) when "
250
"XDG_DATA_DIRS= is set %s\n", val, def_vals[i]);
260
ef_cb_efreet_config_dirs(void)
266
char dirs[128], *val;
267
char *vals[] = {"/var/tmp/a", "/tmp/b", "/usr/local/share", "/etc", NULL};
268
char *def_vals[] = {"/etc/xdg", NULL};
272
for (i = 0; vals[i]; i++)
274
if (i > 0) strcat(dirs, ":");
275
strcat(dirs, vals[i]);
279
setenv("XDG_CONFIG_DIRS", dirs, 1);
283
tmp = efreet_config_dirs_get();
284
for (i = 0; vals[i]; i++)
288
found = eina_list_search_unsorted(tmp, EINA_COMPARE_CB(strcmp), vals[i]);
289
if (!ecore_file_exists(vals[i]) && found)
291
printf("efreet_data_dirs_get() includes non-existing dir (%s) when "
292
"%s set\n", vals[i], dirs);
296
if (ecore_file_exists(vals[i]) && !found)
298
printf("efreet_data_dirs_get() is missing dir (%s) when "
299
"%s set\n", vals[i], dirs);
303
if (ecore_file_exists(vals[i]) && found)
306
if (eina_list_count(tmp) != ok)
308
printf("efreet_data_dirs_get() returned more values then it "
309
"should have given %s as input\n", dirs);
314
unsetenv("XDG_CONFIG_DIRS");
318
tmp = efreet_config_dirs_get();
319
EINA_LIST_FOREACH(tmp, l, val)
323
printf("efreet_config_dirs_get() returned more values then it "
324
"should have given %s as input\n", dirs);
329
if (strcmp(val, def_vals[i]))
331
printf("efreet_config_dirs_get() returned incorrect value (%s) when "
332
"XDG_CONFIG_DIRS= is set\n", val);