|
1 /**************************************************************************** |
|
2 ** |
|
3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
4 ** All rights reserved. |
|
5 ** Contact: Nokia Corporation (qt-info@nokia.com) |
|
6 ** |
|
7 ** This file is part of the test suite of the Qt Toolkit. |
|
8 ** |
|
9 ** $QT_BEGIN_LICENSE:LGPL$ |
|
10 ** No Commercial Usage |
|
11 ** This file contains pre-release code and may not be distributed. |
|
12 ** You may use this file in accordance with the terms and conditions |
|
13 ** contained in the Technology Preview License Agreement accompanying |
|
14 ** this package. |
|
15 ** |
|
16 ** GNU Lesser General Public License Usage |
|
17 ** Alternatively, this file may be used under the terms of the GNU Lesser |
|
18 ** General Public License version 2.1 as published by the Free Software |
|
19 ** Foundation and appearing in the file LICENSE.LGPL included in the |
|
20 ** packaging of this file. Please review the following information to |
|
21 ** ensure the GNU Lesser General Public License version 2.1 requirements |
|
22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. |
|
23 ** |
|
24 ** In addition, as a special exception, Nokia gives you certain additional |
|
25 ** rights. These rights are described in the Nokia Qt LGPL Exception |
|
26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. |
|
27 ** |
|
28 ** If you have questions regarding the use of this file, please contact |
|
29 ** Nokia at qt-info@nokia.com. |
|
30 ** |
|
31 ** |
|
32 ** |
|
33 ** |
|
34 ** |
|
35 ** |
|
36 ** |
|
37 ** |
|
38 ** $QT_END_LICENSE$ |
|
39 ** |
|
40 ****************************************************************************/ |
|
41 |
|
42 |
|
43 #include <QtTest/QtTest> |
|
44 #include "qdatetime.h" |
|
45 |
|
46 //TESTED_CLASS= |
|
47 //TESTED_FILES=corelib/thread/qthreadstorage.h corelib/thread/qthreadstorage.cpp |
|
48 |
|
49 class tst_QTime : public QObject |
|
50 { |
|
51 Q_OBJECT |
|
52 |
|
53 public: |
|
54 tst_QTime(); |
|
55 virtual ~tst_QTime(); |
|
56 |
|
57 |
|
58 public slots: |
|
59 void initTestCase(); |
|
60 void cleanupTestCase(); |
|
61 void init(); |
|
62 void cleanup(); |
|
63 private slots: |
|
64 void toStringLocale(); |
|
65 void toString(); |
|
66 void msecsTo_data(); |
|
67 void msecsTo(); |
|
68 void secsTo_data(); |
|
69 void secsTo(); |
|
70 void setHMS_data(); |
|
71 void setHMS(); |
|
72 void msec(); |
|
73 void second(); |
|
74 void minute(); |
|
75 void hour_data(); |
|
76 void hour(); |
|
77 void isValid(); |
|
78 void isNull(); |
|
79 void addMSecs_data(); |
|
80 void addMSecs(); |
|
81 void addSecs_data(); |
|
82 void addSecs(); |
|
83 void operator_eq_eq(); |
|
84 void operator_not_eq(); |
|
85 void operator_lt(); |
|
86 void operator_gt(); |
|
87 void operator_lt_eq(); |
|
88 void operator_gt_eq(); |
|
89 void fromString_data(); |
|
90 void fromString(); |
|
91 void fromStringFormat_data(); |
|
92 void fromStringFormat(); |
|
93 void toString_data(); |
|
94 void toString_format_data(); |
|
95 void toString_format(); |
|
96 }; |
|
97 |
|
98 Q_DECLARE_METATYPE(QTime) |
|
99 |
|
100 tst_QTime::tst_QTime() |
|
101 { |
|
102 } |
|
103 |
|
104 tst_QTime::~tst_QTime() |
|
105 { |
|
106 |
|
107 } |
|
108 |
|
109 // initTestCase will be executed once before the first testfunction is executed. |
|
110 void tst_QTime::initTestCase() |
|
111 { |
|
112 } |
|
113 |
|
114 // cleanupTestCase will be executed once after the last testfunction is executed. |
|
115 void tst_QTime::cleanupTestCase() |
|
116 { |
|
117 } |
|
118 |
|
119 // init() will be executed immediately before each testfunction is run. |
|
120 void tst_QTime::init() |
|
121 { |
|
122 // TODO: Add testfunction specific initialization code here. |
|
123 } |
|
124 |
|
125 // cleanup() will be executed immediately after each testfunction is run. |
|
126 void tst_QTime::cleanup() |
|
127 { |
|
128 // TODO: Add testfunction specific cleanup code here. |
|
129 } |
|
130 |
|
131 void tst_QTime::addSecs_data() |
|
132 { |
|
133 QTest::addColumn<QTime>("t1"); |
|
134 QTest::addColumn<int>("i"); |
|
135 QTest::addColumn<QTime>("exp"); |
|
136 |
|
137 QTest::newRow("Data0") << QTime(0,0,0) << 200 << QTime(0,3,20); |
|
138 QTest::newRow("Data1") << QTime(0,0,0) << 20 << QTime(0,0,20); |
|
139 } |
|
140 |
|
141 void tst_QTime::addSecs() |
|
142 { |
|
143 QFETCH( QTime, t1 ); |
|
144 QFETCH( int, i ); |
|
145 QTime t2; |
|
146 t2 = t1.addSecs( i ); |
|
147 QFETCH( QTime, exp ); |
|
148 QCOMPARE( t2, exp ); |
|
149 } |
|
150 |
|
151 void tst_QTime::addMSecs_data() |
|
152 { |
|
153 QTest::addColumn<QTime>("t1"); |
|
154 QTest::addColumn<int>("i"); |
|
155 QTest::addColumn<QTime>("exp"); |
|
156 |
|
157 // start with testing positive values |
|
158 QTest::newRow( "Data1_0") << QTime(0,0,0,0) << 2000 << QTime(0,0,2,0); |
|
159 QTest::newRow( "Data1_1") << QTime(0,0,0,0) << 200 << QTime(0,0,0,200); |
|
160 QTest::newRow( "Data1_2") << QTime(0,0,0,0) << 20 << QTime(0,0,0,20); |
|
161 QTest::newRow( "Data1_3") << QTime(0,0,0,1) << 1 << QTime(0,0,0,2); |
|
162 QTest::newRow( "Data1_4") << QTime(0,0,0,0) << 0 << QTime(0,0,0,0); |
|
163 |
|
164 QTest::newRow( "Data2_0") << QTime(0,0,0,98) << 0 << QTime(0,0,0,98); |
|
165 QTest::newRow( "Data2_1") << QTime(0,0,0,98) << 1 << QTime(0,0,0,99); |
|
166 QTest::newRow( "Data2_2") << QTime(0,0,0,98) << 2 << QTime(0,0,0,100); |
|
167 QTest::newRow( "Data2_3") << QTime(0,0,0,98) << 3 << QTime(0,0,0,101); |
|
168 |
|
169 QTest::newRow( "Data3_0") << QTime(0,0,0,998) << 0 << QTime(0,0,0,998); |
|
170 QTest::newRow( "Data3_1") << QTime(0,0,0,998) << 1 << QTime(0,0,0,999); |
|
171 QTest::newRow( "Data3_2") << QTime(0,0,0,998) << 2 << QTime(0,0,1,0); |
|
172 QTest::newRow( "Data3_3") << QTime(0,0,0,998) << 3 << QTime(0,0,1,1); |
|
173 |
|
174 QTest::newRow( "Data4_0") << QTime(0,0,1,995) << 4 << QTime(0,0,1,999); |
|
175 QTest::newRow( "Data4_1") << QTime(0,0,1,995) << 5 << QTime(0,0,2,0); |
|
176 QTest::newRow( "Data4_2") << QTime(0,0,1,995) << 6 << QTime(0,0,2,1); |
|
177 QTest::newRow( "Data4_3") << QTime(0,0,1,995) << 100 << QTime(0,0,2,95); |
|
178 QTest::newRow( "Data4_4") << QTime(0,0,1,995) << 105 << QTime(0,0,2,100); |
|
179 |
|
180 QTest::newRow( "Data5_0") << QTime(0,0,59,995) << 4 << QTime(0,0,59,999); |
|
181 QTest::newRow( "Data5_1") << QTime(0,0,59,995) << 5 << QTime(0,1,0,0); |
|
182 QTest::newRow( "Data5_2") << QTime(0,0,59,995) << 6 << QTime(0,1,0,1); |
|
183 QTest::newRow( "Data5_3") << QTime(0,0,59,995) << 1006 << QTime(0,1,1,1); |
|
184 |
|
185 QTest::newRow( "Data6_0") << QTime(0,59,59,995) << 4 << QTime(0,59,59,999); |
|
186 QTest::newRow( "Data6_1") << QTime(0,59,59,995) << 5 << QTime(1,0,0,0); |
|
187 QTest::newRow( "Data6_2") << QTime(0,59,59,995) << 6 << QTime(1,0,0,1); |
|
188 QTest::newRow( "Data6_3") << QTime(0,59,59,995) << 106 << QTime(1,0,0,101); |
|
189 QTest::newRow( "Data6_4") << QTime(0,59,59,995) << 1004 << QTime(1,0,0,999); |
|
190 QTest::newRow( "Data6_5") << QTime(0,59,59,995) << 1005 << QTime(1,0,1,0); |
|
191 QTest::newRow( "Data6_6") << QTime(0,59,59,995) << 61006 << QTime(1,1,1,1); |
|
192 |
|
193 QTest::newRow( "Data7_0") << QTime(23,59,59,995) << 0 << QTime(23,59,59,995); |
|
194 QTest::newRow( "Data7_1") << QTime(23,59,59,995) << 4 << QTime(23,59,59,999); |
|
195 QTest::newRow( "Data7_2") << QTime(23,59,59,995) << 5 << QTime(0,0,0,0); |
|
196 QTest::newRow( "Data7_3") << QTime(23,59,59,995) << 6 << QTime(0,0,0,1); |
|
197 QTest::newRow( "Data7_4") << QTime(23,59,59,995) << 7 << QTime(0,0,0,2); |
|
198 |
|
199 // must test negative values too... |
|
200 QTest::newRow( "Data11_0") << QTime(0,0,2,0) << -2000 << QTime(0,0,0,0); |
|
201 QTest::newRow( "Data11_1") << QTime(0,0,0,200) << -200 << QTime(0,0,0,0); |
|
202 QTest::newRow( "Data11_2") << QTime(0,0,0,20) << -20 << QTime(0,0,0,0); |
|
203 QTest::newRow( "Data11_3") << QTime(0,0,0,2) << -1 << QTime(0,0,0,1); |
|
204 QTest::newRow( "Data11_4") << QTime(0,0,0,0) << -0 << QTime(0,0,0,0); |
|
205 |
|
206 QTest::newRow( "Data12_0") << QTime(0,0,0,98) << -0 << QTime(0,0,0,98); |
|
207 QTest::newRow( "Data12_1") << QTime(0,0,0,99) << -1 << QTime(0,0,0,98); |
|
208 QTest::newRow( "Data12_2") << QTime(0,0,0,100) << -2 << QTime(0,0,0,98); |
|
209 QTest::newRow( "Data12_3") << QTime(0,0,0,101) << -3 << QTime(0,0,0,98); |
|
210 |
|
211 QTest::newRow( "Data13_0") << QTime(0,0,0,998) << -0 << QTime(0,0,0,998); |
|
212 QTest::newRow( "Data13_1") << QTime(0,0,0,999) << -1 << QTime(0,0,0,998); |
|
213 QTest::newRow( "Data13_2") << QTime(0,0,1,0) << -2 << QTime(0,0,0,998); |
|
214 QTest::newRow( "Data13_3") << QTime(0,0,1,1) << -3 << QTime(0,0,0,998); |
|
215 |
|
216 QTest::newRow( "Data14_0") << QTime(0,0,1,999) << -4 << QTime(0,0,1,995); |
|
217 QTest::newRow( "Data14_1") << QTime(0,0,2,0) << -5 << QTime(0,0,1,995); |
|
218 QTest::newRow( "Data14_2") << QTime(0,0,2,1) << -6 << QTime(0,0,1,995); |
|
219 QTest::newRow( "Data14_3") << QTime(0,0,2,95) << -100 << QTime(0,0,1,995); |
|
220 QTest::newRow( "Data14_4") << QTime(0,0,2,100) << -105 << QTime(0,0,1,995); |
|
221 |
|
222 QTest::newRow( "Data15_0") << QTime(0,0,59,999) << -4 << QTime(0,0,59,995); |
|
223 QTest::newRow( "Data15_1") << QTime(0,1,0,0) << -5 << QTime(0,0,59,995); |
|
224 QTest::newRow( "Data15_2") << QTime(0,1,0,1) << -6 << QTime(0,0,59,995); |
|
225 QTest::newRow( "Data15_3") << QTime(0,1,1,1) << -1006 << QTime(0,0,59,995); |
|
226 |
|
227 QTest::newRow( "Data16_0") << QTime(0,59,59,999) << -4 << QTime(0,59,59,995); |
|
228 QTest::newRow( "Data16_1") << QTime(1,0,0,0) << -5 << QTime(0,59,59,995); |
|
229 QTest::newRow( "Data16_2") << QTime(1,0,0,1) << -6 << QTime(0,59,59,995); |
|
230 QTest::newRow( "Data16_3") << QTime(1,0,0,101) << -106 << QTime(0,59,59,995); |
|
231 QTest::newRow( "Data16_4") << QTime(1,0,0,999) << -1004 << QTime(0,59,59,995); |
|
232 QTest::newRow( "Data16_5") << QTime(1,0,1,0) << -1005 << QTime(0,59,59,995); |
|
233 QTest::newRow( "Data16_6") << QTime(1,1,1,1) << -61006 << QTime(0,59,59,995); |
|
234 |
|
235 QTest::newRow( "Data17_0") << QTime(23,59,59,995) << -0 << QTime(23,59,59,995); |
|
236 QTest::newRow( "Data17_1") << QTime(23,59,59,999) << -4 << QTime(23,59,59,995); |
|
237 QTest::newRow( "Data17_2") << QTime(0,0,0,0) << -5 << QTime(23,59,59,995); |
|
238 QTest::newRow( "Data17_3") << QTime(0,0,0,1) << -6 << QTime(23,59,59,995); |
|
239 QTest::newRow( "Data17_4") << QTime(0,0,0,2) << -7 << QTime(23,59,59,995); |
|
240 } |
|
241 |
|
242 void tst_QTime::addMSecs() |
|
243 { |
|
244 QFETCH( QTime, t1 ); |
|
245 QFETCH( int, i ); |
|
246 QTime t2; |
|
247 t2 = t1.addMSecs( i ); |
|
248 QFETCH( QTime, exp ); |
|
249 QCOMPARE( t2, exp ); |
|
250 } |
|
251 |
|
252 void tst_QTime::isNull() |
|
253 { |
|
254 QTime t1; |
|
255 QVERIFY( t1.isNull() ); |
|
256 QTime t2(0,0,0); |
|
257 QVERIFY( !t2.isNull() ); |
|
258 QTime t3(0,0,1); |
|
259 QVERIFY( !t3.isNull() ); |
|
260 QTime t4(0,0,0,1); |
|
261 QVERIFY( !t4.isNull() ); |
|
262 QTime t5(23,59,59); |
|
263 QVERIFY( !t5.isNull() ); |
|
264 } |
|
265 |
|
266 void tst_QTime::isValid() |
|
267 { |
|
268 QTime t1; |
|
269 QVERIFY( !t1.isValid() ); |
|
270 QTime t2(24,0,0,0); |
|
271 QVERIFY( !t2.isValid() ); |
|
272 QTime t3(23,60,0,0); |
|
273 QVERIFY( !t3.isValid() ); |
|
274 QTime t4(23,0,-1,0); |
|
275 QVERIFY( !t4.isValid() ); |
|
276 QTime t5(23,0,60,0); |
|
277 QVERIFY( !t5.isValid() ); |
|
278 QTime t6(23,0,0,1000); |
|
279 QVERIFY( !t6.isValid() ); |
|
280 } |
|
281 |
|
282 void tst_QTime::hour_data() |
|
283 { |
|
284 QTest::addColumn<int>("hour"); |
|
285 QTest::addColumn<int>("minute"); |
|
286 QTest::addColumn<int>("sec"); |
|
287 QTest::addColumn<int>("msec"); |
|
288 |
|
289 QTest::newRow( "data0" ) << 0 << 0 << 0 << 0; |
|
290 QTest::newRow( "data1" ) << 0 << 0 << 0 << 1; |
|
291 QTest::newRow( "data2" ) << 1 << 2 << 3 << 4; |
|
292 QTest::newRow( "data3" ) << 2 << 12 << 13 << 65; |
|
293 QTest::newRow( "data4" ) << 23 << 59 << 59 << 999; |
|
294 } |
|
295 |
|
296 void tst_QTime::hour() |
|
297 { |
|
298 QFETCH( int, hour ); |
|
299 QFETCH( int, minute ); |
|
300 QFETCH( int, sec ); |
|
301 QFETCH( int, msec ); |
|
302 |
|
303 QTime t1( hour, minute, sec, msec ); |
|
304 QCOMPARE( t1.hour(), hour ); |
|
305 QCOMPARE( t1.minute(), minute ); |
|
306 QCOMPARE( t1.second(), sec ); |
|
307 QCOMPARE( t1.msec(), msec ); |
|
308 } |
|
309 |
|
310 void tst_QTime::minute() |
|
311 { |
|
312 DEPENDS_ON( "hour" ); |
|
313 } |
|
314 |
|
315 void tst_QTime::second() |
|
316 { |
|
317 DEPENDS_ON( "hour" ); |
|
318 } |
|
319 |
|
320 void tst_QTime::msec() |
|
321 { |
|
322 DEPENDS_ON( "hour" ); |
|
323 } |
|
324 |
|
325 void tst_QTime::setHMS_data() |
|
326 { |
|
327 QTest::addColumn<int>("hour"); |
|
328 QTest::addColumn<int>("minute"); |
|
329 QTest::addColumn<int>("sec"); |
|
330 |
|
331 QTest::newRow( "data0" ) << 0 << 0 << 0; |
|
332 QTest::newRow( "data1" ) << 1 << 2 << 3; |
|
333 QTest::newRow( "data2" ) << 0 << 59 << 0; |
|
334 QTest::newRow( "data3" ) << 0 << 59 << 59; |
|
335 QTest::newRow( "data4" ) << 23 << 0 << 0; |
|
336 QTest::newRow( "data5" ) << 23 << 59 << 0; |
|
337 QTest::newRow( "data6" ) << 23 << 59 << 59; |
|
338 } |
|
339 |
|
340 void tst_QTime::setHMS() |
|
341 { |
|
342 QFETCH( int, hour ); |
|
343 QFETCH( int, minute ); |
|
344 QFETCH( int, sec ); |
|
345 |
|
346 QTime t(3,4,5); |
|
347 t.setHMS( hour, minute, sec ); |
|
348 QCOMPARE( t.hour(), hour ); |
|
349 QCOMPARE( t.minute(), minute ); |
|
350 QCOMPARE( t.second(), sec ); |
|
351 } |
|
352 |
|
353 void tst_QTime::secsTo_data() |
|
354 { |
|
355 QTest::addColumn<QTime>("t1"); |
|
356 QTest::addColumn<QTime>("t2"); |
|
357 QTest::addColumn<int>("delta"); |
|
358 |
|
359 QTest::newRow( "data0" ) << QTime(0,0,0) << QTime(0,0,59) << 59; |
|
360 QTest::newRow( "data1" ) << QTime(0,0,0) << QTime(0,1,0) << 60; |
|
361 QTest::newRow( "data2" ) << QTime(0,0,0) << QTime(0,10,0) << 600; |
|
362 QTest::newRow( "data3" ) << QTime(0,0,0) << QTime(23,59,59) << 86399; |
|
363 } |
|
364 |
|
365 void tst_QTime::secsTo() |
|
366 { |
|
367 QFETCH( QTime, t1 ); |
|
368 QFETCH( QTime, t2 ); |
|
369 QFETCH( int, delta ); |
|
370 |
|
371 QCOMPARE( t1.secsTo( t2 ), delta ); |
|
372 } |
|
373 |
|
374 void tst_QTime::msecsTo_data() |
|
375 { |
|
376 QTest::addColumn<QTime>("t1"); |
|
377 QTest::addColumn<QTime>("t2"); |
|
378 QTest::addColumn<int>("delta"); |
|
379 |
|
380 QTest::newRow( "data0" ) << QTime(0,0,0,0) << QTime(0,0,0,0) << 0; |
|
381 QTest::newRow( "data1" ) << QTime(0,0,0,0) << QTime(0,0,1,0) << 1000; |
|
382 QTest::newRow( "data2" ) << QTime(0,0,0,0) << QTime(0,0,10,0) << 10000; |
|
383 QTest::newRow( "data3" ) << QTime(0,0,0,0) << QTime(23,59,59,0) << 86399000; |
|
384 } |
|
385 |
|
386 void tst_QTime::msecsTo() |
|
387 { |
|
388 QFETCH( QTime, t1 ); |
|
389 QFETCH( QTime, t2 ); |
|
390 QFETCH( int, delta ); |
|
391 |
|
392 QCOMPARE( t1.msecsTo( t2 ), delta ); |
|
393 } |
|
394 |
|
395 void tst_QTime::operator_eq_eq() |
|
396 { |
|
397 QTime t1(0,0,0,0); |
|
398 QTime t2(0,0,0,0); |
|
399 QVERIFY( t1 == t2 ); |
|
400 |
|
401 t1 = QTime(12,34,56,20); |
|
402 t2 = QTime(12,34,56,20); |
|
403 QVERIFY( t1 == t2 ); |
|
404 |
|
405 t1 = QTime(01,34,56,20); |
|
406 t2 = QTime(13,34,56,20); |
|
407 QVERIFY( !(t1 == t2) ); |
|
408 } |
|
409 |
|
410 void tst_QTime::operator_not_eq() |
|
411 { |
|
412 QTime t1(0,0,0,0); |
|
413 QTime t2(0,0,0,0); |
|
414 QVERIFY( !(t1 != t2) ); |
|
415 |
|
416 t1 = QTime(12,34,56,20); |
|
417 t2 = QTime(12,34,56,20); |
|
418 QVERIFY( !(t1 != t2) ); |
|
419 |
|
420 t1 = QTime(01,34,56,20); |
|
421 t2 = QTime(13,34,56,20); |
|
422 QVERIFY( t1 != t2 ); |
|
423 } |
|
424 |
|
425 void tst_QTime::operator_lt() |
|
426 { |
|
427 QTime t1(0,0,0,0); |
|
428 QTime t2(0,0,0,0); |
|
429 QVERIFY( !(t1 < t2) ); |
|
430 |
|
431 t1 = QTime(12,34,56,20); |
|
432 t2 = QTime(12,34,56,30); |
|
433 QVERIFY( t1 < t2 ); |
|
434 |
|
435 t1 = QTime(13,34,46,20); |
|
436 t2 = QTime(13,34,56,20); |
|
437 QVERIFY( t1 < t2 ); |
|
438 |
|
439 t1 = QTime(13,24,56,20); |
|
440 t2 = QTime(13,34,56,20); |
|
441 QVERIFY( t1 < t2 ); |
|
442 |
|
443 t1 = QTime(12,34,56,20); |
|
444 t2 = QTime(13,34,56,20); |
|
445 QVERIFY( t1 < t2 ); |
|
446 |
|
447 t1 = QTime(14,34,56,20); |
|
448 t2 = QTime(13,34,56,20); |
|
449 QVERIFY( !(t1 < t2) ); |
|
450 |
|
451 t1 = QTime(13,44,56,20); |
|
452 t2 = QTime(13,34,56,20); |
|
453 QVERIFY( !(t1 < t2) ); |
|
454 |
|
455 t1 = QTime(13,34,56,20); |
|
456 t2 = QTime(13,34,46,20); |
|
457 QVERIFY( !(t1 < t2) ); |
|
458 |
|
459 t1 = QTime(13,44,56,30); |
|
460 t2 = QTime(13,44,56,20); |
|
461 QVERIFY( !(t1 < t2) ); |
|
462 } |
|
463 |
|
464 void tst_QTime::operator_gt() |
|
465 { |
|
466 QTime t1(0,0,0,0); |
|
467 QTime t2(0,0,0,0); |
|
468 QVERIFY( !(t1 > t2) ); |
|
469 |
|
470 t1 = QTime(12,34,56,20); |
|
471 t2 = QTime(12,34,56,30); |
|
472 QVERIFY( !(t1 > t2) ); |
|
473 |
|
474 t1 = QTime(13,34,46,20); |
|
475 t2 = QTime(13,34,56,20); |
|
476 QVERIFY( !(t1 > t2) ); |
|
477 |
|
478 t1 = QTime(13,24,56,20); |
|
479 t2 = QTime(13,34,56,20); |
|
480 QVERIFY( !(t1 > t2) ); |
|
481 |
|
482 t1 = QTime(12,34,56,20); |
|
483 t2 = QTime(13,34,56,20); |
|
484 QVERIFY( !(t1 > t2) ); |
|
485 |
|
486 t1 = QTime(14,34,56,20); |
|
487 t2 = QTime(13,34,56,20); |
|
488 QVERIFY( t1 > t2 ); |
|
489 |
|
490 t1 = QTime(13,44,56,20); |
|
491 t2 = QTime(13,34,56,20); |
|
492 QVERIFY( t1 > t2 ); |
|
493 |
|
494 t1 = QTime(13,34,56,20); |
|
495 t2 = QTime(13,34,46,20); |
|
496 QVERIFY( t1 > t2 ); |
|
497 |
|
498 t1 = QTime(13,44,56,30); |
|
499 t2 = QTime(13,44,56,20); |
|
500 QVERIFY( t1 > t2 ); |
|
501 } |
|
502 |
|
503 void tst_QTime::operator_lt_eq() |
|
504 { |
|
505 QTime t1(0,0,0,0); |
|
506 QTime t2(0,0,0,0); |
|
507 QVERIFY( t1 <= t2 ); |
|
508 |
|
509 t1 = QTime(12,34,56,20); |
|
510 t2 = QTime(12,34,56,30); |
|
511 QVERIFY( t1 <= t2 ); |
|
512 |
|
513 t1 = QTime(13,34,46,20); |
|
514 t2 = QTime(13,34,56,20); |
|
515 QVERIFY( t1 <= t2 ); |
|
516 |
|
517 t1 = QTime(13,24,56,20); |
|
518 t2 = QTime(13,34,56,20); |
|
519 QVERIFY( t1 <= t2 ); |
|
520 |
|
521 t1 = QTime(12,34,56,20); |
|
522 t2 = QTime(13,34,56,20); |
|
523 QVERIFY( t1 <= t2 ); |
|
524 |
|
525 t1 = QTime(14,34,56,20); |
|
526 t2 = QTime(13,34,56,20); |
|
527 QVERIFY( !(t1 <= t2) ); |
|
528 |
|
529 t1 = QTime(13,44,56,20); |
|
530 t2 = QTime(13,34,56,20); |
|
531 QVERIFY( !(t1 <= t2) ); |
|
532 |
|
533 t1 = QTime(13,34,56,20); |
|
534 t2 = QTime(13,34,46,20); |
|
535 QVERIFY( !(t1 <= t2) ); |
|
536 |
|
537 t1 = QTime(13,44,56,30); |
|
538 t2 = QTime(13,44,56,20); |
|
539 QVERIFY( !(t1 <= t2) ); |
|
540 } |
|
541 |
|
542 void tst_QTime::operator_gt_eq() |
|
543 { |
|
544 QTime t1(0,0,0,0); |
|
545 QTime t2(0,0,0,0); |
|
546 QVERIFY( t1 >= t2 ); |
|
547 |
|
548 t1 = QTime(12,34,56,20); |
|
549 t2 = QTime(12,34,56,30); |
|
550 QVERIFY( !(t1 >= t2) ); |
|
551 |
|
552 t1 = QTime(13,34,46,20); |
|
553 t2 = QTime(13,34,56,20); |
|
554 QVERIFY( !(t1 >= t2) ); |
|
555 |
|
556 t1 = QTime(13,24,56,20); |
|
557 t2 = QTime(13,34,56,20); |
|
558 QVERIFY( !(t1 >= t2) ); |
|
559 |
|
560 t1 = QTime(12,34,56,20); |
|
561 t2 = QTime(13,34,56,20); |
|
562 QVERIFY( !(t1 >= t2) ); |
|
563 |
|
564 t1 = QTime(14,34,56,20); |
|
565 t2 = QTime(13,34,56,20); |
|
566 QVERIFY( t1 >= t2 ); |
|
567 |
|
568 t1 = QTime(13,44,56,20); |
|
569 t2 = QTime(13,34,56,20); |
|
570 QVERIFY( t1 >= t2 ); |
|
571 |
|
572 t1 = QTime(13,34,56,20); |
|
573 t2 = QTime(13,34,46,20); |
|
574 QVERIFY( t1 >= t2 ); |
|
575 |
|
576 t1 = QTime(13,44,56,30); |
|
577 t2 = QTime(13,44,56,20); |
|
578 QVERIFY( t1 >= t2 ); |
|
579 } |
|
580 |
|
581 void tst_QTime::fromString_data() |
|
582 { |
|
583 // Since we can't define an element of Qt::DateFormat, t1 will be the time |
|
584 // expected when we have a TextDate, and t2 will be the time expected when |
|
585 // we have an ISODate. |
|
586 |
|
587 QTest::addColumn<QString>("str"); |
|
588 QTest::addColumn<QTime>("t1"); |
|
589 QTest::addColumn<QTime>("t2"); |
|
590 |
|
591 QTest::newRow( "data0" ) << QString("00:00:00") << QTime(0,0,0,0) << QTime(0,0,0,0); |
|
592 QTest::newRow( "data1" ) << QString("10:12:34") << QTime(10,12,34,0) << QTime(10,12,34,0); |
|
593 QTest::newRow( "data2" ) << QString("19:03:54.998601") << QTime(19, 3, 54, 999) << QTime(19, 3, 54, 999); |
|
594 QTest::newRow( "data3" ) << QString("19:03:54.999601") << QTime(19, 3, 54, 999) << QTime(19, 3, 54, 999); |
|
595 } |
|
596 |
|
597 void tst_QTime::fromString() |
|
598 { |
|
599 QFETCH( QString, str ); |
|
600 QFETCH( QTime, t1 ); |
|
601 QFETCH( QTime, t2 ); |
|
602 |
|
603 QCOMPARE( t1, QTime::fromString( str, Qt::TextDate ) ); |
|
604 QCOMPARE( t2, QTime::fromString( str, Qt::ISODate ) ); |
|
605 } |
|
606 |
|
607 |
|
608 void tst_QTime::fromStringFormat_data() |
|
609 { |
|
610 QTest::addColumn<QString>("str"); |
|
611 QTest::addColumn<QString>("format"); |
|
612 QTest::addColumn<QTime>("t"); |
|
613 |
|
614 QTest::newRow( "data0" ) << QString("02:23PM") << QString("hh:mmAP") << QTime(14,23,0,0); |
|
615 QTest::newRow( "data1" ) << QString("02:23pm") << QString("hh:mmap") << QTime(14,23,0,0); |
|
616 } |
|
617 |
|
618 void tst_QTime::fromStringFormat() |
|
619 { |
|
620 QFETCH(QString, str); |
|
621 QFETCH(QString, format); |
|
622 QFETCH(QTime, t); |
|
623 |
|
624 QCOMPARE(t, QTime::fromString( str, format)); |
|
625 |
|
626 } |
|
627 |
|
628 void tst_QTime::toString_data() |
|
629 { |
|
630 // Since we can't define an element of Qt::DateFormat, str1 will be the string |
|
631 // in TextDate format, and str2 will be the time in ISODate format. |
|
632 |
|
633 QTest::addColumn<QTime>("t"); |
|
634 QTest::addColumn<QString>("str1"); |
|
635 QTest::addColumn<QString>("str2"); |
|
636 |
|
637 QTest::newRow( "data0" ) << QTime(0,0,0,0) << QString("00:00:00") << QString("00:00:00"); |
|
638 QTest::newRow( "data1" ) << QTime(10,12,34,0) << QString("10:12:34") << QString("10:12:34"); |
|
639 } |
|
640 |
|
641 void tst_QTime::toString() |
|
642 { |
|
643 QFETCH( QTime, t ); |
|
644 QFETCH( QString, str1 ); |
|
645 QFETCH( QString, str2 ); |
|
646 |
|
647 QCOMPARE( str1, t.toString( Qt::TextDate ) ); |
|
648 QCOMPARE( str2, t.toString( Qt::ISODate ) ); |
|
649 } |
|
650 |
|
651 void tst_QTime::toString_format_data() |
|
652 { |
|
653 QTest::addColumn<QTime>("t"); |
|
654 QTest::addColumn<QString>("format"); |
|
655 QTest::addColumn<QString>("str"); |
|
656 |
|
657 QTest::newRow( "data0" ) << QTime(0,0,0,0) << QString("h:m:s:z") << QString("0:0:0:0"); |
|
658 QTest::newRow( "data1" ) << QTime(10,12,34,53) << QString("hh:mm:ss:zzz") << QString("10:12:34:053"); |
|
659 QTest::newRow( "data2" ) << QTime(10,12,34,45) << QString("hh:m:ss:z") << QString("10:12:34:45"); |
|
660 QTest::newRow( "data3" ) << QTime(10,12,34,45) << QString("hh:ss ap") << QString("10:34 am"); |
|
661 QTest::newRow( "data4" ) << QTime(22,12,34,45) << QString("hh:zzz AP") << QString("10:045 PM"); |
|
662 QTest::newRow( "data5" ) << QTime(230,230,230,230) << QString("hh:mm:ss") << QString(); |
|
663 } |
|
664 |
|
665 void tst_QTime::toString_format() |
|
666 { |
|
667 QFETCH( QTime, t ); |
|
668 QFETCH( QString, format ); |
|
669 QFETCH( QString, str ); |
|
670 |
|
671 QCOMPARE( t.toString( format ), str ); |
|
672 } |
|
673 |
|
674 void tst_QTime::toStringLocale() |
|
675 { |
|
676 QTime time(18, 30); |
|
677 QCOMPARE(time.toString(Qt::SystemLocaleDate), |
|
678 QLocale::system().toString(time, QLocale::ShortFormat)); |
|
679 QCOMPARE(time.toString(Qt::LocaleDate), |
|
680 QLocale().toString(time, QLocale::ShortFormat)); |
|
681 QLocale::setDefault(QLocale::German); |
|
682 QCOMPARE(time.toString(Qt::SystemLocaleDate), |
|
683 QLocale::system().toString(time, QLocale::ShortFormat)); |
|
684 QCOMPARE(time.toString(Qt::LocaleDate), |
|
685 QLocale().toString(time, QLocale::ShortFormat)); |
|
686 } |
|
687 |
|
688 QTEST_APPLESS_MAIN(tst_QTime) |
|
689 #include "tst_qtime.moc" |