20 #include <gtest/gtest.h>
50 pair<string, string> kv;
53 EXPECT_EQ (
"key", kv.first );
54 EXPECT_EQ (
"value", kv.second );
57 EXPECT_EQ (
"key", kv.first );
58 EXPECT_EQ (
"value", kv.second );
61 EXPECT_EQ (
"", kv.first );
62 EXPECT_EQ (
"", kv.second );
65 EXPECT_EQ (
"", kv.first );
66 EXPECT_EQ (
"", kv.second );
69 EXPECT_EQ (
"", kv.first );
70 EXPECT_EQ (
"", kv.second );
73 EXPECT_EQ (
"key", kv.first );
74 EXPECT_EQ (
"value", kv.second );
77 EXPECT_EQ (
"", kv.first );
78 EXPECT_EQ (
"", kv.second );
81 EXPECT_EQ (
"key", kv.first );
82 EXPECT_EQ (
"12345", kv.second );
85 EXPECT_EQ (
"key", kv.first );
86 EXPECT_EQ (
"val%due", kv.second );
89 EXPECT_EQ (
"key", kv.first );
90 EXPECT_EQ (
"files-%d_%d", kv.second );
93 EXPECT_EQ (
"key", kv.first );
94 EXPECT_EQ (
"value", kv.second );
97 EXPECT_EQ (
"", kv.first );
98 EXPECT_EQ (
"", kv.second );
107 pair<string, string> kv;
110 EXPECT_EQ (
"key", kv.first );
111 EXPECT_EQ (
"12345", kv.second );
114 EXPECT_EQ (
"key", kv.first );
115 EXPECT_EQ (
"12345", kv.second );
118 EXPECT_EQ (
"key", kv.first );
119 EXPECT_EQ (
"12345.", kv.second );
122 EXPECT_EQ (
"key", kv.first );
123 EXPECT_EQ (
"123.45", kv.second );
126 EXPECT_EQ (
"key", kv.first );
127 EXPECT_EQ (
"1234.5f", kv.second );
130 EXPECT_EQ (
"", kv.first );
131 EXPECT_EQ (
"", kv.second );
134 EXPECT_EQ (
"key", kv.first );
135 EXPECT_EQ (
"12345", kv.second );
138 EXPECT_EQ (
"key", kv.first );
139 EXPECT_EQ (
"12345GB", kv.second );
142 EXPECT_EQ (
"key", kv.first );
143 EXPECT_EQ (
"12345 GB", kv.second );
146 EXPECT_EQ (
"", kv.first );
147 EXPECT_EQ (
"", kv.second );
150 EXPECT_EQ (
"key", kv.first );
151 EXPECT_EQ (
"1.2 GB", kv.second );
154 EXPECT_EQ (
"key", kv.first );
155 EXPECT_EQ (
"1.2", kv.second );
158 EXPECT_EQ (
"key", kv.first );
159 EXPECT_EQ (
"123.45", kv.second );
162 EXPECT_EQ (
"", kv.first );
163 EXPECT_EQ (
"", kv.second );
166 EXPECT_EQ (
"key", kv.first );
167 EXPECT_EQ (
"h4x", kv.second );
170 EXPECT_EQ (
"key", kv.first );
171 EXPECT_EQ (
"h4x", kv.second );
174 EXPECT_EQ (
"key", kv.first );
175 EXPECT_EQ (
"h4x", kv.second );
178 EXPECT_EQ (
"key", kv.first );
179 EXPECT_EQ (
"true", kv.second );
182 EXPECT_EQ (
"key", kv.first );
183 EXPECT_EQ (
"false", kv.second );
186 EXPECT_EQ (
"", kv.first );
187 EXPECT_EQ (
"", kv.second );
190 EXPECT_EQ (
"", kv.first );
191 EXPECT_EQ (
"", kv.second );
194 EXPECT_EQ (
"key", kv.first );
195 EXPECT_EQ (
"1", kv.second );
198 EXPECT_EQ (
"key", kv.first );
199 EXPECT_EQ (
"True", kv.second );
202 EXPECT_EQ (
"key", kv.first );
203 EXPECT_EQ (
"TRUE", kv.second );
206 EXPECT_EQ (
"", kv.first );
207 EXPECT_EQ (
"", kv.second );
210 EXPECT_EQ (
"key", kv.first );
211 EXPECT_EQ (
"/bla", kv.second );
214 EXPECT_EQ (
"", kv.first );
215 EXPECT_EQ (
"", kv.second );
218 EXPECT_EQ (
"key", kv.first );
219 EXPECT_EQ (
"\\bla", kv.second );
222 EXPECT_EQ (
"", kv.first );
223 EXPECT_EQ (
"", kv.second );
226 EXPECT_EQ (
"", kv.first );
227 EXPECT_EQ (
"", kv.second );
230 EXPECT_EQ (
"", kv.first );
231 EXPECT_EQ (
"", kv.second );
234 EXPECT_EQ (
"", kv.first );
235 EXPECT_EQ (
"", kv.second );
238 EXPECT_EQ (
"key", kv.first );
239 EXPECT_EQ (
"bla_%d-%d", kv.second );
242 EXPECT_EQ (
"key", kv.first );
243 EXPECT_EQ (
"/bla/blup/.swap23_%d-%d", kv.second );
246 EXPECT_EQ (
"key", kv.first );
247 EXPECT_EQ (
"~/bla/blup/.swap_%d-%d", kv.second );
250 EXPECT_EQ (
"", kv.first );
251 EXPECT_EQ (
"", kv.second );
254 EXPECT_EQ (
"", kv.first );
255 EXPECT_EQ (
"", kv.second );
258 EXPECT_EQ (
"", kv.first );
259 EXPECT_EQ (
"", kv.second );
262 EXPECT_EQ (
"", kv.first );
263 EXPECT_EQ (
"", kv.second );
272 pair<double, string> vu;
275 EXPECT_EQ ( 1.0, vu.first );
276 EXPECT_EQ (
"MB", vu.second );
279 EXPECT_EQ ( 1.0, vu.first );
280 EXPECT_EQ (
"MB", vu.second );
283 EXPECT_EQ ( 1.0, vu.first );
284 EXPECT_EQ (
"kb", vu.second );
293 pair<long long int, string> vu;
296 EXPECT_EQ ( 1LL, vu.first );
297 EXPECT_EQ (
"MB", vu.second );
300 EXPECT_EQ ( 1LL, vu.first );
301 EXPECT_EQ (
"MB", vu.second );
304 EXPECT_EQ ( 1LL, vu.first );
305 EXPECT_EQ (
"kb", vu.second );
315 EXPECT_EQ (
"/no/home/dir", regex.
substituteHomeDir (
"/no/home/dir",
"/home/user" ) );
317 EXPECT_EQ (
"/home/user/bla", regex.
substituteHomeDir (
"~/bla",
"/home/user" ) );
318 EXPECT_EQ (
"/home/user/bla//home/user/blup", regex.
substituteHomeDir (
"~/bla/~/blup",
"/home/user" ) );
bool matchConfigBlock(const string &str, const string &blockname="default") const
Checks if a string matches the header of a configuration block.
pair< string, string > matchKeyEqualsValue(const string &str, int valueType=alphanumtext) const
Checks if a string matches something like key = value.
string substituteHomeDir(const string &source, const string &homedir) const
Replace all occurences of a ~ by the absolute home directory.
Class to handle regex matching used for parsing configuration files.
TEST(regexMatcher, Unit_MatchBlock)
pair< double, string > splitDoubleValueUnit(const string &str) const
Split a string containing value and possibly unit into both parts.