This source file includes following definitions.
- setup
- teardown
- run_mc_build_filename
- 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/util"
27
28 #include "tests/mctest.h"
29
30 #include <stdio.h>
31
32 #include "lib/strutil.h"
33 #include "lib/util.h"
34
35
36
37
38 static void
39 setup (void)
40 {
41 }
42
43
44
45
46 static void
47 teardown (void)
48 {
49 }
50
51
52
53 static char *
54 run_mc_build_filename (int iteration)
55 {
56 switch (iteration)
57 {
58 case 0:
59 return mc_build_filename ("test", "path", (char *) NULL);
60 case 1:
61 return mc_build_filename ("/test", "path/", (char *) NULL);
62 case 2:
63 return mc_build_filename ("/test", "pa/th", (char *) NULL);
64 case 3:
65 return mc_build_filename ("/test", "#vfsprefix:", "path ", (char *) NULL);
66 case 4:
67 return mc_build_filename ("/test", "vfsprefix://", "path ", (char *) NULL);
68 case 5:
69 return mc_build_filename ("/test", "vfs/../prefix:///", "p\\///ath", (char *) NULL);
70 case 6:
71 return mc_build_filename ("/test", "path", "..", "/test", "path/", (char *) NULL);
72 case 7:
73 return mc_build_filename ("", "path", (char *) NULL);
74 case 8:
75 return mc_build_filename ("", "/path", (char *) NULL);
76 case 9:
77 return mc_build_filename ("path", "", (char *) NULL);
78 case 10:
79 return mc_build_filename ("/path", "", (char *) NULL);
80 case 11:
81 return mc_build_filename ("pa", "", "th", (char *) NULL);
82 case 12:
83 return mc_build_filename ("/pa", "", "/th", (char *) NULL);
84 default:
85 return NULL;
86 }
87 }
88
89
90 static const struct test_mc_build_filename_ds
91 {
92 const char *expected_result;
93 } test_mc_build_filename_ds[] = {
94 { "test/path" },
95 { "/test/path" },
96 { "/test/pa/th" },
97 { "/test/#vfsprefix:/path " },
98 { "/test/vfsprefix://path " },
99 { "/test/prefix://p\\/ath" },
100 { "/test/test/path" },
101 { "path" },
102 { "path" },
103 { "path" },
104 { "/path" },
105 { "pa/th" },
106 { "/pa/th" },
107 };
108
109
110 START_PARAMETRIZED_TEST (test_mc_build_filename, test_mc_build_filename_ds)
111 {
112
113 char *actual_result;
114
115
116 actual_result = run_mc_build_filename (_i);
117
118
119 mctest_assert_str_eq (actual_result, data->expected_result);
120
121 g_free (actual_result);
122 }
123 END_PARAMETRIZED_TEST
124
125
126
127 int
128 main (void)
129 {
130 TCase *tc_core;
131
132 tc_core = tcase_create ("Core");
133
134 tcase_add_checked_fixture (tc_core, setup, teardown);
135
136
137 mctest_add_parameterized_test (tc_core, test_mc_build_filename, test_mc_build_filename_ds);
138
139
140 return mctest_run_all (tc_core);
141 }
142
143