2 #include <Ecore_File.h>
8 ef_cb_efreet_data_home(void)
14 setenv("XDG_DATA_HOME", "/var/tmp", 1);
17 tmp = efreet_data_home_get();
18 if (strcmp(tmp, "/var/tmp"))
20 printf("efreet_data_home_get() returned incorrect "
21 "value (%s) on XDG_DATA_HOME=/var/tmp\n", tmp);
25 /* reset efreet here so we can set a new home dir */
27 unsetenv("XDG_DATA_HOME");
28 setenv("HOME", "/home/tmp", 1);
31 tmp = efreet_data_home_get();
32 if (strcmp(tmp, "/home/tmp/.local/share"))
34 printf("efreet_data_home_get() returned incorrect "
35 "value (%s) on blank XDG_DATA_HOME\n", tmp);
39 /* reset efreet here so we can set a new home dir */
41 unsetenv("XDG_DATA_HOME");
44 unsetenv("USERPROFILE");
48 tmp = efreet_data_home_get();
49 if (strcmp(tmp, "/tmp/.local/share"))
51 printf("efreet_data_home_get() returned incorrect "
52 "value (%s) on blank XDG_DATA_HOME and blank HOME\n", tmp);
60 ef_cb_efreet_config_home(void)
66 setenv("XDG_CONFIG_HOME", "/var/tmp", 1);
69 tmp = efreet_config_home_get();
70 if (strcmp(tmp, "/var/tmp"))
72 printf("efreet_config_home_get() returned incorrect "
73 "value (%s) on XDG_CONFIG_HOME=/var/tmp\n", tmp);
77 /* reset efreet here so we can set a new home dir */
79 unsetenv("XDG_CONFIG_HOME");
80 setenv("HOME", "/home/tmp", 1);
83 tmp = efreet_config_home_get();
84 if (strcmp(tmp, "/home/tmp/.config"))
86 printf("efreet_config_home_get() returned incorrect "
87 "value (%s) on blank XDG_CONFIG_HOME\n", tmp);
91 /* reset efreet here so we can set a new home dir */
93 unsetenv("XDG_CONFIG_HOME");
96 unsetenv("USERPROFILE");
100 tmp = efreet_config_home_get();
101 if (strcmp(tmp, "/tmp/.config"))
103 printf("efreet_config_home_get() returned incorrect "
104 "value (%s) on blank XDG_CONFIG_HOME and blank HOME\n", tmp);
112 ef_cb_efreet_cache_home(void)
118 setenv("XDG_CACHE_HOME", "/var/tmp", 1);
121 tmp = efreet_cache_home_get();
122 if (strcmp(tmp, "/var/tmp"))
124 printf("efreet_cache_home_get() returned incorrect "
125 "value (%s) on XDG_CACHE_HOME=/var/tmp\n", tmp);
129 /* reset efreet here so we can set a new home dir */
131 unsetenv("XDG_CACHE_HOME");
132 setenv("HOME", "/home/tmp", 1);
135 tmp = efreet_cache_home_get();
136 if (strcmp(tmp, "/home/tmp/.cache"))
138 printf("efreet_cache_home_get() returned incorrect "
139 "value (%s) on blank XDG_CACHE_HOME\n", tmp);
143 /* reset efreet here so we can set a new home dir */
145 unsetenv("XDG_CACHE_HOME");
148 unsetenv("USERPROFILE");
152 tmp = efreet_cache_home_get();
153 if (strcmp(tmp, "/tmp/.cache"))
155 printf("efreet_cache_home_get() returned incorrect "
156 "value (%s) on blank XDG_CACHE_HOME and blank HOME\n", tmp);
164 ef_cb_efreet_data_dirs(void)
170 char dirs[128], *val;
171 char *vals[] = {"/var/tmp/a", "/tmp/b", "/usr/local/share", "/etc", NULL};
172 char *def_vals[] = {PACKAGE_DATA_DIR, "/usr/share", "/usr/local/share", NULL};
175 for (i = 0; vals[i]; i++)
177 if (i > 0) strcat(dirs, ":");
178 strcat(dirs, vals[i]);
182 setenv("XDG_DATA_DIRS", dirs, 1);
186 tmp = efreet_data_dirs_get();
187 for (i = 0; vals[i]; i++)
191 found = eina_list_search_unsorted(tmp, EINA_COMPARE_CB(strcmp), vals[i]);
192 if (!ecore_file_exists(vals[i]) && found)
194 printf("efreet_data_dirs_get() includes non-existing dir (%s) when "
195 "%s set\n", vals[i], dirs);
199 if (ecore_file_exists(vals[i]) && !found)
201 printf("efreet_data_dirs_get() is missing dir (%s) when "
202 "%s set\n", vals[i], dirs);
206 if (ecore_file_exists(vals[i]) && found)
209 if (eina_list_count(tmp) != ok)
211 printf("efreet_data_dirs_get() returned more values then it "
212 "should have given %s as input\n", dirs);
217 unsetenv("XDG_DATA_DIRS");
221 tmp = efreet_data_dirs_get();
222 if (eina_list_count(tmp) != 3)
224 printf("efreet_data_dirs_get() nodes is differnet from expected default\n");
228 EINA_LIST_FOREACH(tmp, l, val)
232 printf("efreet_data_dirs_get() returned more values then it "
233 "should have given %s as input\n", dirs);
238 if (strcmp(val, def_vals[i]))
240 printf("efreet_data_dirs_get() returned incorrect value (%s) when "
241 "XDG_DATA_DIRS= is set %s\n", val, def_vals[i]);
251 ef_cb_efreet_config_dirs(void)
257 char dirs[128], *val;
258 char *vals[] = {"/var/tmp/a", "/tmp/b", "/usr/local/share", "/etc", NULL};
259 char *def_vals[] = {"/etc/xdg", NULL};
263 for (i = 0; vals[i]; i++)
265 if (i > 0) strcat(dirs, ":");
266 strcat(dirs, vals[i]);
270 setenv("XDG_CONFIG_DIRS", dirs, 1);
274 tmp = efreet_config_dirs_get();
275 for (i = 0; vals[i]; i++)
279 found = eina_list_search_unsorted(tmp, EINA_COMPARE_CB(strcmp), vals[i]);
280 if (!ecore_file_exists(vals[i]) && found)
282 printf("efreet_data_dirs_get() includes non-existing dir (%s) when "
283 "%s set\n", vals[i], dirs);
287 if (ecore_file_exists(vals[i]) && !found)
289 printf("efreet_data_dirs_get() is missing dir (%s) when "
290 "%s set\n", vals[i], dirs);
294 if (ecore_file_exists(vals[i]) && found)
297 if (eina_list_count(tmp) != ok)
299 printf("efreet_data_dirs_get() returned more values then it "
300 "should have given %s as input\n", dirs);
305 unsetenv("XDG_CONFIG_DIRS");
309 tmp = efreet_config_dirs_get();
310 EINA_LIST_FOREACH(tmp, l, val)
314 printf("efreet_config_dirs_get() returned more values then it "
315 "should have given %s as input\n", dirs);
320 if (strcmp(val, def_vals[i]))
322 printf("efreet_config_dirs_get() returned incorrect value (%s) when "
323 "XDG_CONFIG_DIRS= is set\n", val);