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/vfs/vfs.h"
32 #include "lib/fileloc.h"
33
34 #include "lib/mcconfig.h"
35 #include "src/vfs/local/local.c"
36
37 #define HOME_DIR "/home/testuser"
38
39 #define CONF_MAIN HOME_DIR PATH_SEP_STR ".config"
40 #define CONF_DATA HOME_DIR PATH_SEP_STR ".local" PATH_SEP_STR "share"
41 #define CONF_CACHE HOME_DIR PATH_SEP_STR ".cache"
42
43
44
45
46 static void
47 setup (void)
48 {
49 g_setenv ("HOME", HOME_DIR, TRUE);
50 g_setenv ("XDG_CONFIG_HOME", CONF_MAIN, TRUE);
51 g_setenv ("XDG_DATA_HOME", CONF_DATA, TRUE);
52 g_setenv ("XDG_CACHE_HOME", CONF_CACHE, TRUE);
53 str_init_strings ("UTF-8");
54 vfs_init ();
55 vfs_init_localfs ();
56 }
57
58
59
60
61 static void
62 teardown (void)
63 {
64 vfs_shut ();
65 str_uninit_strings ();
66 }
67
68
69
70
71 static const struct test_user_config_paths_ds
72 {
73 const char *input_base_dir;
74 const char *input_file_name;
75 } test_user_config_paths_ds[] = {
76 { CONF_MAIN, MC_CONFIG_FILE },
77 { CONF_MAIN, MC_FHL_INI_FILE },
78 { CONF_MAIN, MC_HOTLIST_FILE },
79 { CONF_MAIN, GLOBAL_KEYMAP_FILE },
80 { CONF_MAIN, MC_USERMENU_FILE },
81 { CONF_DATA, EDIT_SYNTAX_FILE },
82 { CONF_MAIN, EDIT_HOME_MENU },
83 { CONF_MAIN, MC_PANELS_FILE },
84 { CONF_MAIN, MC_EXT_FILE },
85 { CONF_DATA, MC_SKINS_DIR },
86 { CONF_DATA, VFS_SHELL_PREFIX },
87 { CONF_DATA, MC_ASHRC_FILE },
88 { CONF_DATA, MC_BASHRC_FILE },
89 { CONF_DATA, MC_INPUTRC_FILE },
90 { CONF_DATA, MC_ZSHRC_FILE },
91 { CONF_DATA, MC_EXTFS_DIR },
92 { CONF_DATA, MC_HISTORY_FILE },
93 { CONF_DATA, MC_FILEPOS_FILE },
94 { CONF_DATA, EDIT_HOME_CLIP_FILE },
95 { CONF_DATA, MC_MACRO_FILE },
96 { CONF_CACHE, "mc.log" },
97 { CONF_CACHE, MC_TREESTORE_FILE },
98 { CONF_CACHE, EDIT_HOME_TEMP_FILE },
99 { CONF_CACHE, EDIT_HOME_BLOCK_FILE },
100 };
101
102
103 START_PARAMETRIZED_TEST (test_user_config_paths, test_user_config_paths_ds)
104 {
105
106 char *actual_result;
107
108
109 actual_result = mc_config_get_full_path (data->input_file_name);
110
111
112 {
113 char *expected_file_path;
114
115 expected_file_path = g_build_filename (data->input_base_dir, MC_USERCONF_DIR,
116 data->input_file_name, (char *) NULL);
117 mctest_assert_str_eq (actual_result, expected_file_path);
118 g_free (expected_file_path);
119 }
120 g_free (actual_result);
121 }
122 END_PARAMETRIZED_TEST
123
124
125
126 int
127 main (void)
128 {
129 TCase *tc_core;
130
131 tc_core = tcase_create ("Core");
132
133 tcase_add_checked_fixture (tc_core, setup, teardown);
134
135
136 mctest_add_parameterized_test (tc_core, test_user_config_paths, test_user_config_paths_ds);
137
138
139 return mctest_run_all (tc_core);
140 }
141
142