This source file includes following definitions.
- setup
- teardown
- START_PARAMETRIZED_TEST
- main
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 #define TEST_SUITE_NAME "lib/mcconfig"
27
28 #include "tests/mctest.h"
29
30 #include "lib/strutil.h"
31 #include "lib/strescape.h"
32 #include "lib/vfs/vfs.h"
33 #include "lib/fileloc.h"
34
35 #include "lib/mcconfig.h"
36 #include "src/vfs/local/local.c"
37
38 #define HOME_DIR "/home/testuser"
39
40 #define CONF_MAIN HOME_DIR PATH_SEP_STR ".config"
41 #define CONF_DATA HOME_DIR PATH_SEP_STR ".local" PATH_SEP_STR "share"
42 #define CONF_CACHE HOME_DIR PATH_SEP_STR ".cache"
43
44
45
46
47 static void
48 setup (void)
49 {
50 g_setenv ("HOME", HOME_DIR, TRUE);
51 g_setenv ("XDG_CONFIG_HOME", CONF_MAIN, TRUE);
52 g_setenv ("XDG_DATA_HOME", CONF_DATA, TRUE);
53 g_setenv ("XDG_CACHE_HOME", CONF_CACHE, TRUE);
54 str_init_strings ("UTF-8");
55 vfs_init ();
56 vfs_init_localfs ();
57 }
58
59
60
61
62 static void
63 teardown (void)
64 {
65 vfs_shut ();
66 str_uninit_strings ();
67 }
68
69
70
71
72
73 static const struct test_user_config_paths_ds
74 {
75 const char *input_base_dir;
76 const char *input_file_name;
77 } test_user_config_paths_ds[] =
78 {
79 {
80 CONF_MAIN,
81 MC_CONFIG_FILE
82 },
83 {
84 CONF_MAIN,
85 MC_FHL_INI_FILE
86 },
87 {
88 CONF_MAIN,
89 MC_HOTLIST_FILE
90 },
91 {
92 CONF_MAIN,
93 GLOBAL_KEYMAP_FILE
94 },
95 {
96 CONF_MAIN,
97 MC_USERMENU_FILE
98 },
99 {
100 CONF_DATA,
101 EDIT_SYNTAX_FILE
102 },
103 {
104 CONF_MAIN,
105 EDIT_HOME_MENU
106 },
107 {
108 CONF_MAIN,
109 MC_PANELS_FILE
110 },
111 {
112 CONF_MAIN,
113 MC_EXT_FILE
114 },
115 {
116 CONF_DATA,
117 MC_SKINS_DIR
118 },
119 {
120 CONF_DATA,
121 VFS_SHELL_PREFIX
122 },
123 {
124 CONF_DATA,
125 MC_ASHRC_FILE
126 },
127 {
128 CONF_DATA,
129 MC_BASHRC_FILE
130 },
131 {
132 CONF_DATA,
133 MC_INPUTRC_FILE
134 },
135 {
136 CONF_DATA,
137 MC_ZSHRC_FILE
138 },
139 {
140 CONF_DATA,
141 MC_EXTFS_DIR
142 },
143 {
144 CONF_DATA,
145 MC_HISTORY_FILE
146 },
147 {
148 CONF_DATA,
149 MC_FILEPOS_FILE
150 },
151 {
152 CONF_DATA,
153 EDIT_HOME_CLIP_FILE
154 },
155 {
156 CONF_DATA,
157 MC_MACRO_FILE
158 },
159 {
160 CONF_CACHE,
161 "mc.log"
162 },
163 {
164 CONF_CACHE,
165 MC_TREESTORE_FILE
166 },
167 {
168 CONF_CACHE,
169 EDIT_HOME_TEMP_FILE
170 },
171 {
172 CONF_CACHE,
173 EDIT_HOME_BLOCK_FILE
174 },
175 };
176
177
178
179
180 START_PARAMETRIZED_TEST (test_user_config_paths, test_user_config_paths_ds)
181
182 {
183
184 char *actual_result;
185
186
187 actual_result = mc_config_get_full_path (data->input_file_name);
188
189
190 {
191 char *expected_file_path;
192
193 expected_file_path =
194 g_build_filename (data->input_base_dir, MC_USERCONF_DIR, data->input_file_name,
195 (char *) NULL);
196 mctest_assert_str_eq (actual_result, expected_file_path);
197 g_free (expected_file_path);
198 }
199 g_free (actual_result);
200 }
201
202 END_PARAMETRIZED_TEST
203
204
205
206
207 int
208 main (void)
209 {
210 TCase *tc_core;
211
212 tc_core = tcase_create ("Core");
213
214 tcase_add_checked_fixture (tc_core, setup, teardown);
215
216
217 mctest_add_parameterized_test (tc_core, test_user_config_paths, test_user_config_paths_ds);
218
219
220 return mctest_run_all (tc_core);
221 }
222
223