2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 * @file widget_version.cpp
18 * @author Przemyslaw Dobrowolski (p.dobrowolsk@samsung.com)
20 * @brief Implementation file for test cases for engine internal tests
22 #include <dpl/test/test_runner.h>
23 #include <dpl/utils/widget_version.h>
25 RUNNER_TEST_GROUP_INIT(DPL_WIDGET_VERSION)
28 Name: WidgetVersion_M2_O0
29 Description: tests correct parsing of version widget in format: [major].[minor]
30 Expected: major and minor parts matches expected values
32 RUNNER_TEST(WidgetVersion_M2_O0)
34 DPL::String raw(L"1.2");
35 WidgetVersion version(raw);
37 RUNNER_ASSERT(version.IsWac() == true);
38 RUNNER_ASSERT(version.Major() == DPL::String(L"1"));
39 RUNNER_ASSERT(version.Minor() == DPL::String(L"2"));
40 RUNNER_ASSERT(version.Micro() == DPL::Optional<DPL::String>());
41 RUNNER_ASSERT(version.Optional() == DPL::Optional<DPL::String>());
42 RUNNER_ASSERT(version.Raw() == raw);
46 Name: WidgetVersion_M2_O0_nonwac_1
47 Description: tests if version is recognized as wac version number
48 Expected: version should not be recognized as wac compatible
50 RUNNER_TEST(WidgetVersion_M2_O0_nonwac_1)
52 DPL::String raw(L"a1.2");
53 WidgetVersion version(raw);
55 RUNNER_ASSERT(version.IsWac() == false);
56 RUNNER_ASSERT(version.Raw() == raw);
60 Name: WidgetVersion_M2_O0_nonwac_2
61 Description: tests if version is recognized as wac version number
62 Expected: version should not be recognized as wac compatible
64 RUNNER_TEST(WidgetVersion_M2_O0_nonwac_2)
66 DPL::String raw(L"1.2a");
67 WidgetVersion version(raw);
69 RUNNER_ASSERT(version.IsWac() == false);
70 RUNNER_ASSERT(version.Raw() == raw);
74 Name: WidgetVersion_M2_O0_nonwac_3
75 Description: tests if version is recognized as wac version number
76 Expected: version should not be recognized as wac compatible
78 RUNNER_TEST(WidgetVersion_M2_O0_nonwac_3)
80 DPL::String raw(L"aaa1.2bbb");
81 WidgetVersion version(raw);
83 RUNNER_ASSERT(version.IsWac() == false);
84 RUNNER_ASSERT(version.Raw() == raw);
88 Name: WidgetVersion_M2_O0_nonwac_4
89 Description: tests if version is recognized as wac version number
90 Expected: version should not be recognized as wac compatible
92 RUNNER_TEST(WidgetVersion_M2_O0_nonwac_4)
94 DPL::String raw(L"1a.a2");
95 WidgetVersion version(raw);
97 RUNNER_ASSERT(version.IsWac() == false);
98 RUNNER_ASSERT(version.Raw() == raw);
102 Name: WidgetVersion_M2_O0_long
103 Description: tests correct parsing of version widget in format: [major].[minor]
105 Expected: major and minor parts matches expected values
107 RUNNER_TEST(WidgetVersion_M2_O0_long)
110 L"123456789012345678901234567890.98765432109876543210987654321");
111 WidgetVersion version(raw);
113 RUNNER_ASSERT(version.IsWac() == true);
114 RUNNER_ASSERT(version.Major() ==
115 DPL::String(L"123456789012345678901234567890"));
116 RUNNER_ASSERT(version.Minor() ==
117 DPL::String(L"98765432109876543210987654321"));
118 RUNNER_ASSERT(version.Micro() == DPL::Optional<DPL::String>());
119 RUNNER_ASSERT(version.Optional() == DPL::Optional<DPL::String>());
120 RUNNER_ASSERT(version.Raw() == raw);
124 Name: WidgetVersion_M3_O0
125 Description: tests correct wac version number
126 Expected: major and minor and micro parts matches expected values.
127 Version should be recognized as wac compatible
129 RUNNER_TEST(WidgetVersion_M3_O0)
131 DPL::String raw(L"1.2.3");
132 WidgetVersion version(raw);
134 RUNNER_ASSERT(version.IsWac() == true);
135 RUNNER_ASSERT(version.Major() == DPL::String(L"1"));
136 RUNNER_ASSERT(version.Minor() == DPL::String(L"2"));
137 RUNNER_ASSERT(version.Micro() == DPL::Optional<DPL::String>(L"3"));
138 RUNNER_ASSERT(version.Optional() == DPL::Optional<DPL::String>());
139 RUNNER_ASSERT(version.Raw() == raw);
143 Name: WidgetVersion_M3_O0_nonwac_1
144 Description: tests if version is recognized as wac version number
145 Expected: version should not be recognized as wac compatible
147 RUNNER_TEST(WidgetVersion_M3_O0_nonwac_1)
149 DPL::String raw(L"a1a.2.3");
150 WidgetVersion version(raw);
152 RUNNER_ASSERT(version.IsWac() == false);
153 RUNNER_ASSERT(version.Raw() == raw);
157 Name: WidgetVersion_M3_O0_nonwac_2
158 Description: tests if version is recognized as wac version number
159 Expected: version should not be recognized as wac compatible
161 RUNNER_TEST(WidgetVersion_M3_O0_nonwac_2)
163 DPL::String raw(L"1.b2.3");
164 WidgetVersion version(raw);
166 RUNNER_ASSERT(version.IsWac() == false);
167 RUNNER_ASSERT(version.Raw() == raw);
171 Name: WidgetVersion_M3_O0_nonwac_3
172 Description: tests if version is recognized as wac version number
173 Expected: version should not be recognized as wac compatible
175 RUNNER_TEST(WidgetVersion_M3_O0_nonwac_3)
177 DPL::String raw(L"1.2.3c");
178 WidgetVersion version(raw);
180 RUNNER_ASSERT(version.IsWac() == false);
181 RUNNER_ASSERT(version.Raw() == raw);
185 Name: WidgetVersion_M3_O0_nonwac_4
186 Description: tests if version is recognized as wac version number
187 Expected: version should not be recognized as wac compatible
189 RUNNER_TEST(WidgetVersion_M3_O0_nonwac_4)
191 DPL::String raw(L"1.2.3a");
192 WidgetVersion version(raw);
194 RUNNER_ASSERT(version.IsWac() == false);
195 RUNNER_ASSERT(version.Raw() == raw);
199 Name: WidgetVersion_M3_O1_1
200 Description: tests correct wac version number with optional part
201 Expected: major and minor and micro and optional parts matches expected values.
202 Version should be recognized as wac compatible
204 RUNNER_TEST(WidgetVersion_M3_O1_1)
206 DPL::String raw(L"1.2.3 test111");
207 WidgetVersion version(raw);
209 RUNNER_ASSERT(version.IsWac() == true);
210 RUNNER_ASSERT(version.Major() == DPL::String(L"1"));
211 RUNNER_ASSERT(version.Minor() == DPL::String(L"2"));
212 RUNNER_ASSERT(version.Micro() == DPL::Optional<DPL::String>(L"3"));
213 RUNNER_ASSERT(version.Optional() == DPL::Optional<DPL::String>(L"test111"));
214 RUNNER_ASSERT(version.Raw() == raw);
218 Name: WidgetVersion_M3_O1_1
219 Description: tests correct wac version number with numeric optional part
220 Expected: major and minor and micro and optional parts matches expected values.
221 Version should be recognized as wac compatible
223 RUNNER_TEST(WidgetVersion_M3_O1_2)
225 DPL::String raw(L"1.2.3 111");
226 WidgetVersion version(raw);
228 RUNNER_ASSERT(version.IsWac() == true);
229 RUNNER_ASSERT(version.Major() == DPL::String(L"1"));
230 RUNNER_ASSERT(version.Minor() == DPL::String(L"2"));
231 RUNNER_ASSERT(version.Micro() == DPL::Optional<DPL::String>(L"3"));
232 RUNNER_ASSERT(version.Optional() == DPL::Optional<DPL::String>(L"111"));
233 RUNNER_ASSERT(version.Raw() == raw);
237 Name: WidgetVersion_M3_O1_3
238 Description: tests if version is recognized as wac version number
239 when trailer spaces exists
240 Expected: version should not be recognized as wac compatible
242 RUNNER_TEST(WidgetVersion_M3_O1_3)
244 DPL::String raw(L"1.2.3 ");
245 WidgetVersion version(raw);
247 RUNNER_ASSERT(version.IsWac() == false);
248 RUNNER_ASSERT(version.Raw() == raw);
252 Name: WidgetVersion_M2_O1_1
253 Description: tests if version is recognized as wac version number
255 Expected: version should be recognized as wac compatible
257 RUNNER_TEST(WidgetVersion_M2_O1_1)
259 DPL::String raw(L"1.2 t");
260 WidgetVersion version(raw);
262 RUNNER_ASSERT(version.IsWac() == true);
263 RUNNER_ASSERT(version.Major() == DPL::String(L"1"));
264 RUNNER_ASSERT(version.Minor() == DPL::String(L"2"));
265 RUNNER_ASSERT(version.Micro() == DPL::Optional<DPL::String>());
266 RUNNER_ASSERT(version.Optional() == DPL::Optional<DPL::String>(L"t"));
267 RUNNER_ASSERT(version.Raw() == raw);
271 Name: WidgetVersion_Strange_0
272 Description: tests if version is recognized as wac version number
273 Expected: version should be recognized as wac compatible
275 RUNNER_TEST(WidgetVersion_Strange_0)
277 DPL::String raw(L"1");
278 WidgetVersion version(raw);
280 RUNNER_ASSERT(version.IsWac() == false);
281 RUNNER_ASSERT(version.Raw() == raw);
285 Name: WidgetVersion_Strange_1
286 Description: tests if version is recognized as wac version number
287 Expected: version should not be recognized as wac compatible
289 RUNNER_TEST(WidgetVersion_Strange_1)
291 DPL::String raw(L".1");
292 WidgetVersion version(raw);
294 RUNNER_ASSERT(version.IsWac() == false);
295 RUNNER_ASSERT(version.Raw() == raw);
299 Name: WidgetVersion_Strange_2
300 Description: tests if version is recognized as wac version number
301 Expected: version should not be recognized as wac compatible
303 RUNNER_TEST(WidgetVersion_Strange_2)
305 DPL::String raw(L"..1");
306 WidgetVersion version(raw);
308 RUNNER_ASSERT(version.IsWac() == false);
309 RUNNER_ASSERT(version.Raw() == raw);
313 Name: WidgetVersion_Strange_3
314 Description: tests if version is recognized as wac version number
315 Expected: version should not be recognized as wac compatible
317 RUNNER_TEST(WidgetVersion_Strange_3)
319 DPL::String raw(L"...1");
320 WidgetVersion version(raw);
322 RUNNER_ASSERT(version.IsWac() == false);
323 RUNNER_ASSERT(version.Raw() == raw);
327 Name: WidgetVersion_Strange_4
328 Description: tests if version is recognized as wac version number
329 Expected: version should not be recognized as wac compatible
331 RUNNER_TEST(WidgetVersion_Strange_4)
333 DPL::String raw(L"qwerty");
334 WidgetVersion version(raw);
336 RUNNER_ASSERT(version.IsWac() == false);
337 RUNNER_ASSERT(version.Raw() == raw);
341 Name: WidgetVersion_Strange_5
342 Description: tests if version is recognized as wac version number
343 Expected: version should not be recognized as wac compatible
345 RUNNER_TEST(WidgetVersion_Strange_5)
347 DPL::String raw(L"!@#$%^&*()_+ ^&%^*&%$^*&%*()& JHKJLHKJLH 685685687");
348 WidgetVersion version(raw);
350 RUNNER_ASSERT(version.IsWac() == false);
351 RUNNER_ASSERT(version.Raw() == raw);
355 Name: WidgetVersion_Compare_0
356 Description: tests version comparision in format [major].[minor]
357 Expected: compare should work as expected
359 RUNNER_TEST(WidgetVersion_Compare_0)
361 RUNNER_ASSERT(WidgetVersion(L"1.1") < WidgetVersion(L"1.2"));
365 Name: WidgetVersion_Compare_1
366 Description: tests version comparision in format [major].[minor]
367 Expected: compare should work as expected
369 RUNNER_TEST(WidgetVersion_Compare_1)
371 RUNNER_ASSERT(WidgetVersion(L"01.001") < WidgetVersion(L"0001.002"));
375 Name: WidgetVersion_Compare_2
376 Description: tests version equality in format [major].[minor]
377 Expected: versions should be equal
379 RUNNER_TEST(WidgetVersion_Compare_2)
381 RUNNER_ASSERT(WidgetVersion(L"0.1") == WidgetVersion(L"00.1"));
385 Name: WidgetVersion_Compare_3
386 Description: tests version comparision in format [major].[minor] [optional]
387 Expected: compare should work as expected
389 RUNNER_TEST(WidgetVersion_Compare_3)
391 RUNNER_ASSERT(WidgetVersion(L"1.00000000000000") >=
392 WidgetVersion(L"1.0 test"));
396 Name: WidgetVersion_Compare_4
397 Description: tests version comparision for huge numbers
398 Expected: compare should work as expected
400 RUNNER_TEST(WidgetVersion_Compare_4)
402 RUNNER_ASSERT(WidgetVersion(
403 L"19647963733338932479072098437089778943732432.00000000000000004324324324324321")
404 > WidgetVersion(L"4324324324324324324321.000432"));
408 Name: WidgetVersion_Compare_5
409 Description: tests equality in format [major].[minor]
410 Expected: versions should be equal
412 RUNNER_TEST(WidgetVersion_Compare_5)
414 RUNNER_ASSERT(WidgetVersion(L"12345.1") == WidgetVersion(L"12345.1"));
418 Name: WidgetVersion_Compare_6
419 Description: tests version equality in format [major].[minor]
420 Expected: versions should not be equal
422 RUNNER_TEST(WidgetVersion_Compare_6)
424 RUNNER_ASSERT(WidgetVersion(L"1.1") != WidgetVersion(L"1.11"));
428 Name: WidgetVersion_Compare_7
429 Description: tests version equality in format [major].[minor] [optional]
430 Expected: versions should be equal, optional part should not be taken into account
432 RUNNER_TEST(WidgetVersion_Compare_7)
434 RUNNER_ASSERT(WidgetVersion(L"000123000.0 notatest") ==
435 WidgetVersion(L"00123000.0 testtesttest"));