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
91 static const struct test_mc_build_filename_ds
92 {
93 const char *expected_result;
94 } test_mc_build_filename_ds[] =
95 {
96 {"test/path"},
97 {"/test/path"},
98 {"/test/pa/th"},
99 {"/test/#vfsprefix:/path "},
100 {"/test/vfsprefix://path "},
101 {"/test/prefix://p\\/ath"},
102 {"/test/test/path"},
103 {"path"},
104 {"path"},
105 {"path"},
106 {"/path"},
107 {"pa/th"},
108 {"/pa/th"},
109 };
110
111
112
113
114 START_PARAMETRIZED_TEST (test_mc_build_filename, test_mc_build_filename_ds)
115
116 {
117
118 char *actual_result;
119
120
121 actual_result = run_mc_build_filename (_i);
122
123
124 mctest_assert_str_eq (actual_result, data->expected_result);
125
126 g_free (actual_result);
127 }
128
129 END_PARAMETRIZED_TEST
130
131
132
133
134 int
135 main (void)
136 {
137 TCase *tc_core;
138
139 tc_core = tcase_create ("Core");
140
141 tcase_add_checked_fixture (tc_core, setup, teardown);
142
143
144 mctest_add_parameterized_test (tc_core, test_mc_build_filename, test_mc_build_filename_ds);
145
146
147 return mctest_run_all (tc_core);
148 }
149
150