|
1 // Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // Name of test harness: T_MIUT09 |
|
15 // Component: IMCM |
|
16 // Owner: KP |
|
17 // Brief description of test harness: |
|
18 // Tests TImRfc822DateField - tests ParseDateField(), SetDate() functions for |
|
19 // all dates specified in the Y2K Compliance Testing document. |
|
20 // Tests ParseDateField() to set time in local timezone. |
|
21 // Test cases for representing TTime in local timezone. |
|
22 // Detailed description of test harness: |
|
23 // As above. |
|
24 // Input files required to run test harness: |
|
25 // None |
|
26 // Intermediate files produced while running test harness: |
|
27 // <DRIVE>:\msglogs\T_MIUT09\T_IMCM.log |
|
28 // Output files produced by running test harness: |
|
29 // <DRIVE>:\msglogs\T_MIUT09.<PLATFORM>.<VARIANT>.txt |
|
30 // Description of how to build test harness: |
|
31 // cd \msg\imcm\ |
|
32 // bldmake bldfiles |
|
33 // abld test build |
|
34 // Description of how to run test harness: |
|
35 // The following instructions are the same for all platforms: |
|
36 // 1. Build T_DB test harness from COMMDB component: |
|
37 // cd \commdb\group |
|
38 // bldmake bldfiles |
|
39 // abld test build t_db |
|
40 // 2. Build the test utilities: |
|
41 // cd \msg\testutils\group\ |
|
42 // bldmake bldfiles |
|
43 // abld build |
|
44 // WINS running instructions: |
|
45 // \epoc32\release\wins\<VARIANT>\T_MIUT09.exe can be used at the command prompt |
|
46 // or executable can be run from Windows Explorer. |
|
47 // All other platform running instructions: |
|
48 // 1. Copy \epoc32\release\<PLATFORM>\<VARIANT>\T_MIUT09.exe onto the other platform |
|
49 // 2. Copy \epoc32\release\<PLATFORM>\<VARIANT>\MSVTESTUTILS.DLL into |
|
50 // <DRIVE>:\system\libs on the other platform |
|
51 // 3. Copy \epoc32\release\<PLATFORM>\<VARIANT>\EMAILTESTUTILS.DLL into |
|
52 // <DRIVE>:\system\libs on the other platform |
|
53 // 4. Run T_MIUT09.exe on the other platform |
|
54 // |
|
55 // |
|
56 |
|
57 #include "emailtestutils.h" |
|
58 #include "MIUTHDR.H" // CImHeader |
|
59 #include <miutlog.h> |
|
60 #include <miutset.h> |
|
61 // local variables etc // |
|
62 |
|
63 _LIT(KMiut09Test, "MIUT09 - Test TImRfc822DateField class"); |
|
64 RTest test(KMiut09Test); |
|
65 LOCAL_D CTrapCleanup* theCleanup; |
|
66 LOCAL_D CImLog* log; |
|
67 LOCAL_D CEmailTestUtils* testUtils; |
|
68 |
|
69 _LIT(KMiutTestPassed, "PASSED test %d\n"); |
|
70 _LIT(KMiutTestFailed, "FAILED test %d\n"); |
|
71 |
|
72 // |
|
73 |
|
74 LOCAL_C void ResultOfTest(TBool aResult,TInt aTestNo) |
|
75 { |
|
76 if (aResult) |
|
77 { |
|
78 test.Printf(KMiutTestPassed, aTestNo); |
|
79 } |
|
80 else |
|
81 { |
|
82 test.Printf(KMiutTestFailed, aTestNo); |
|
83 } |
|
84 } |
|
85 |
|
86 LOCAL_C TBool MyEqualityTest(TDesC8& item1, TDesC8& item2) |
|
87 { |
|
88 _LIT8(KErrorReason, "\t\tDates not set correctly for %S"); |
|
89 TBuf8<80> buf; |
|
90 TBool result = (item1==item2); |
|
91 if (!result) |
|
92 { |
|
93 buf.AppendFormat(KErrorReason, &item1); |
|
94 log->AppendError(buf ,-1); |
|
95 } |
|
96 return result; |
|
97 } |
|
98 |
|
99 LOCAL_C TBool MyTimeEqualityTest(TTime& item1, TDateTime& item2, TDesC8& actualDate) |
|
100 { |
|
101 _LIT8(KErrorReason, "\t\tDates not parsed correctly for %S"); |
|
102 TBuf8<80> buf; |
|
103 TLocale localeTime; |
|
104 // DaylightSaving is on subtract 1 hour. |
|
105 if (localeTime.QueryHomeHasDaylightSavingOn()) |
|
106 { |
|
107 item1 -= (TTimeIntervalMinutes)60; |
|
108 } |
|
109 |
|
110 TBool result = (item1==item2); |
|
111 if (!result) |
|
112 { |
|
113 buf.AppendFormat(KErrorReason, &actualDate); |
|
114 log->AppendError(buf ,-1); |
|
115 } |
|
116 return result; |
|
117 } |
|
118 |
|
119 LOCAL_C TBool MyTimeEqualityTest2(TTime& item1, TTime& item2, TDesC8& actualDate) |
|
120 { |
|
121 TDateTime time1 = item1.DateTime(); |
|
122 TDateTime time2 = item2.DateTime(); |
|
123 TBool result = ETrue; |
|
124 result &= (time1.Year()==time2.Year()); |
|
125 result &= (time1.Month()==time2.Month()); |
|
126 result &= (time1.Day()==time2.Day()); |
|
127 |
|
128 _LIT8(KErrorReason, "\t\tDates not parsed correctly for invalid date %S"); |
|
129 TBuf8<90> buf; |
|
130 if (!result) |
|
131 { |
|
132 buf.AppendFormat(KErrorReason, &actualDate); |
|
133 log->AppendError(buf ,-1); |
|
134 } |
|
135 return result; |
|
136 } |
|
137 |
|
138 |
|
139 // |
|
140 |
|
141 LOCAL_C TBool TestParseDateField(TInt aTest) |
|
142 { |
|
143 TBool result = ETrue; |
|
144 TBuf8<KMiutDateStringLength> actualDate; |
|
145 TImRfc822DateField dateField; |
|
146 TTime time; |
|
147 TDateTime actualTime; |
|
148 |
|
149 log->AppendComment(_L8("\tTesting ParseDateField function")); |
|
150 |
|
151 actualTime.Set(1970, EJanuary, 1, 0, 0, 0, 0); |
|
152 actualDate = _L8(" Fri, 2 Jan 1970 00:00:00 +0000"); |
|
153 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
154 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
155 |
|
156 // |
|
157 // Test valid dates - required for Y2K testing |
|
158 // 4.2.1 - Valid dates |
|
159 // |
|
160 |
|
161 actualTime.Set(1998, EDecember, 30, 0, 0, 0, 0); |
|
162 actualDate = _L8(" Thu, 31 Dec 1998 00:00:00 +0000"); |
|
163 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
164 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
165 |
|
166 actualTime.Set(1999, EJanuary, 0, 0, 0, 0, 0); |
|
167 actualDate = _L8(" Fri, 1 Jan 1999 00:00:00 +0000"); |
|
168 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
169 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
170 |
|
171 actualTime.Set(1999, EFebruary, 26, 0, 0, 0, 0); |
|
172 actualDate = _L8(" Sat, 27 Feb 1999 00:00:00 +0000"); |
|
173 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
174 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
175 |
|
176 actualTime.Set(1999, ESeptember, 8, 0, 0, 0, 0); |
|
177 actualDate = _L8(" Thu, 9 Sep 1999 00:00:00 +0000"); |
|
178 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
179 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
180 |
|
181 actualTime.Set(2000, EFebruary, 26, 0, 0, 0, 0); |
|
182 actualDate = _L8(" Sun, 27 Feb 2000 00:00:00 +0000"); |
|
183 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
184 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
185 |
|
186 actualTime.Set(2000, EDecember, 30, 0, 0, 0, 0); |
|
187 actualDate = _L8(" Sun, 31 Dec 2000 00:00:00 +0000"); |
|
188 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
189 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
190 |
|
191 actualTime.Set(2001, EFebruary, 27, 0, 0, 0, 0); |
|
192 actualDate = _L8(" Wed, 28 Feb 2001 00:00:00 +0000"); |
|
193 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
194 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
195 |
|
196 actualTime.Set(2001, EMarch, 0, 0, 0, 0, 0); |
|
197 actualDate = _L8(" Thu, 1 Mar 2001 00:00:00 +0000"); |
|
198 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
199 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
200 |
|
201 actualTime.Set(2004, EFebruary, 27, 0, 0, 0, 0); |
|
202 actualDate = _L8(" Sat, 28 Feb 2004 00:00:00 +0000"); |
|
203 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
204 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
205 |
|
206 // |
|
207 // Test days of the week - required for Y2K testing |
|
208 // 4.2.7 - Calculation of days of the week from dates |
|
209 // |
|
210 |
|
211 actualTime.Set(1999, EFebruary, 27, 0, 0, 0, 0); |
|
212 actualDate = _L8(" Sun, 28 Feb 1999 00:00:00 +0000"); |
|
213 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
214 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
215 |
|
216 actualTime.Set(1999, EMarch, 0, 0, 0, 0, 0); |
|
217 actualDate = _L8(" Mon, 1 Mar 1999 00:00:00 +0000"); |
|
218 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
219 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
220 |
|
221 actualTime.Set(1999, EDecember, 30, 0, 0, 0, 0); |
|
222 actualDate = _L8(" Fri, 31 Dec 1999 00:00:00 +0000"); |
|
223 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
224 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
225 |
|
226 actualTime.Set(2000, EJanuary, 0, 0, 0, 0, 0); |
|
227 actualDate = _L8(" Sat, 1 Jan 2000 00:00:00 +0000"); |
|
228 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
229 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
230 |
|
231 actualTime.Set(2000, EFebruary, 27, 0, 0, 0, 0); |
|
232 actualDate = _L8(" Mon, 28 Feb 2000 00:00:00 +0000"); |
|
233 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
234 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
235 |
|
236 actualTime.Set(2000, EFebruary, 28, 0, 0, 0, 0); |
|
237 actualDate = _L8(" Tue, 29 Feb 2000 00:00:00 +0000"); |
|
238 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
239 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
240 |
|
241 actualTime.Set(2000, EMarch, 0, 0, 0, 0, 0); |
|
242 actualDate = _L8(" Wed, 1 Mar 2000 00:00:00 +0000"); |
|
243 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
244 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
245 |
|
246 actualTime.Set(2001, EJanuary, 0, 0, 0, 0, 0); |
|
247 actualDate = _L8(" Mon, 1 Jan 2001 00:00:00 +0000"); |
|
248 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
249 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
250 |
|
251 actualTime.Set(2004, EFebruary, 28, 0, 0, 0, 0); |
|
252 actualDate = _L8(" Sun, 29 Feb 2004 00:00:00 +0000"); |
|
253 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
254 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
255 |
|
256 actualTime.Set(2004, EMarch, 0, 0, 0, 0, 0); |
|
257 actualDate = _L8(" Mon, 1 Mar 2004 00:00:00 +0000"); |
|
258 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
259 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
260 |
|
261 // |
|
262 // Test invalid dates. Required for Y2K testing |
|
263 // 4.2.2 - Invalid dates |
|
264 // Date/time should be set to the current time. |
|
265 // |
|
266 |
|
267 TTime utcTime; |
|
268 actualDate = _L8(" Mon, 31 Apr 1998 00:00:00 +0000"); |
|
269 utcTime.UniversalTime(); |
|
270 result &= (dateField.ParseDateField(actualDate, time) != KErrNone); |
|
271 result &= MyTimeEqualityTest2(time, utcTime, actualDate); |
|
272 |
|
273 actualDate = _L8(" Mon, 30 Feb 2000 00:00:00 +0000"); |
|
274 utcTime.UniversalTime(); |
|
275 result &= (dateField.ParseDateField(actualDate, time) != KErrNone); |
|
276 result &= MyTimeEqualityTest2(time, utcTime, actualDate); |
|
277 |
|
278 actualDate = _L8(" Mon, 29 Feb 2001 00:00:00 +0000"); |
|
279 utcTime.UniversalTime(); |
|
280 result &= (dateField.ParseDateField(actualDate, time) != KErrNone); |
|
281 result &= MyTimeEqualityTest2(time, utcTime, actualDate); |
|
282 |
|
283 actualDate = _L8(" Mon, 29 Feb 1999 00:00:00 +0000"); |
|
284 utcTime.UniversalTime(); |
|
285 result &= (dateField.ParseDateField(actualDate, time) != KErrNone); |
|
286 result &= MyTimeEqualityTest2(time, utcTime, actualDate); |
|
287 |
|
288 actualDate = _L8(" Mon, 30 Feb 2004 00:00:00 +0000"); |
|
289 utcTime.UniversalTime(); |
|
290 result &= (dateField.ParseDateField(actualDate, time) != KErrNone); |
|
291 result &= MyTimeEqualityTest2(time, utcTime, actualDate); |
|
292 |
|
293 // |
|
294 // Test invalid times. |
|
295 // Date/time should be set to the current time. |
|
296 // |
|
297 |
|
298 actualDate = _L8(" Sat, 27 Feb 1999 28:00:00 +0000"); |
|
299 utcTime.UniversalTime(); |
|
300 result &= (dateField.ParseDateField(actualDate, time) != KErrNone); |
|
301 result &= MyTimeEqualityTest2(time, utcTime, actualDate); |
|
302 |
|
303 actualDate = _L8(" Sat, 27 Feb 1999 12:61:00 +0000"); |
|
304 utcTime.UniversalTime(); |
|
305 result &= (dateField.ParseDateField(actualDate, time) != KErrNone); |
|
306 result &= MyTimeEqualityTest2(time, utcTime, actualDate); |
|
307 |
|
308 actualDate = _L8(" Sat, 27 Feb 1999 21:45:62 +0000"); |
|
309 utcTime.UniversalTime(); |
|
310 result &= (dateField.ParseDateField(actualDate, time) != KErrNone); |
|
311 result &= MyTimeEqualityTest2(time, utcTime, actualDate); |
|
312 |
|
313 // |
|
314 // Test invalid data. |
|
315 // Date/time should be set to the current time. |
|
316 // |
|
317 |
|
318 actualDate = _L8("1"); |
|
319 utcTime.UniversalTime(); |
|
320 result &= (dateField.ParseDateField(actualDate, time) != KErrNone); |
|
321 result &= MyTimeEqualityTest2(time, utcTime, actualDate); |
|
322 |
|
323 actualDate = _L8(""); |
|
324 utcTime.UniversalTime(); |
|
325 result &= (dateField.ParseDateField(actualDate, time) != KErrNone); |
|
326 result &= MyTimeEqualityTest2(time, utcTime, actualDate); |
|
327 |
|
328 actualDate = _L8("Complete tripe..."); |
|
329 utcTime.UniversalTime(); |
|
330 result &= (dateField.ParseDateField(actualDate, time) != KErrNone); |
|
331 result &= MyTimeEqualityTest2(time, utcTime, actualDate); |
|
332 |
|
333 // |
|
334 // Test valid uppercase date strings. |
|
335 // INC042354 |
|
336 // |
|
337 |
|
338 actualTime.Set(1999, EJanuary, 0, 0, 0, 0, 0); |
|
339 actualDate = _L8(" FRI, 1 JAN 1999 00:00:00 +0000"); |
|
340 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
341 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
342 |
|
343 actualTime.Set(1999, EJune, 0, 0, 0, 0, 0); |
|
344 actualDate = _L8(" TUE, 1 JUN 1999 00:00:00 +0000"); |
|
345 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
346 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
347 |
|
348 actualTime.Set(1999, EJuly, 0, 0, 0, 0, 0); |
|
349 actualDate = _L8(" THU, 1 JUL 1999 00:00:00 +0000"); |
|
350 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
351 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
352 |
|
353 actualTime.Set(2001, EMarch, 0, 0, 0, 0, 0); |
|
354 actualDate = _L8(" THU, 1 MAR 2001 00:00:00 +0000"); |
|
355 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
356 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
357 |
|
358 actualTime.Set(2001, EMay, 0, 0, 0, 0, 0); |
|
359 actualDate = _L8(" TUE, 1 MAY 2001 00:00:00 +0000"); |
|
360 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
361 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
362 |
|
363 actualTime.Set(2001, EApril, 0, 0, 0, 0, 0); |
|
364 actualDate = _L8(" SUN, 1 APR 2001 00:00:00 +0000"); |
|
365 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
366 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
367 |
|
368 actualTime.Set(2001, EAugust, 0, 0, 0, 0, 0); |
|
369 actualDate = _L8(" WED, 1 AUG 2001 00:00:00 +0000"); |
|
370 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
371 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
372 |
|
373 // |
|
374 // Test valid lowercase date strings. |
|
375 // |
|
376 |
|
377 actualTime.Set(1999, EJanuary, 0, 0, 0, 0, 0); |
|
378 actualDate = _L8(" fri, 1 jan 1999 00:00:00 +0000"); |
|
379 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
380 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
381 |
|
382 actualTime.Set(1999, EJune, 0, 0, 0, 0, 0); |
|
383 actualDate = _L8(" tue, 1 jun 1999 00:00:00 +0000"); |
|
384 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
385 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
386 |
|
387 // |
|
388 ResultOfTest(result,aTest); |
|
389 log->AppendComment(_L8("\tTested ParseDateField function")); |
|
390 return result; |
|
391 } |
|
392 |
|
393 LOCAL_C TBool TestSetDate(TInt aTest) |
|
394 { |
|
395 TBool result = ETrue; |
|
396 TBuf8<KMiutDateStringLength> parsedDate; |
|
397 TBuf8<KMiutDateStringLength> actualDate; |
|
398 TImRfc822DateField dateField; |
|
399 TDateTime date; |
|
400 |
|
401 log->AppendComment(_L8("\tTesting SetDate function")); |
|
402 |
|
403 TLocale locale; |
|
404 locale.Refresh(); // pick up the system settings so we can determine the timezone |
|
405 |
|
406 date.Set(1970, EJanuary, 1, 0, 0, 0, 0); |
|
407 if (locale.QueryHomeHasDaylightSavingOn()) |
|
408 actualDate = _L8(" Fri, 2 Jan 1970 00:00:00 +0100"); |
|
409 else |
|
410 actualDate = _L8(" Fri, 2 Jan 1970 00:00:00 +0000"); |
|
411 dateField.SetDate(date, parsedDate); |
|
412 result &= MyEqualityTest(parsedDate, actualDate); |
|
413 parsedDate.SetLength(0); |
|
414 |
|
415 // |
|
416 // Test valid dates - required for Y2K testing |
|
417 // 4.2.1 - Valid dates |
|
418 // |
|
419 |
|
420 date.Set(1998, EDecember, 30, 0, 0, 0, 0); |
|
421 if (locale.QueryHomeHasDaylightSavingOn()) |
|
422 actualDate = _L8(" Thu, 31 Dec 1998 00:00:00 +0100"); |
|
423 else |
|
424 actualDate = _L8(" Thu, 31 Dec 1998 00:00:00 +0000"); |
|
425 dateField.SetDate(date, parsedDate); |
|
426 result &= MyEqualityTest(parsedDate, actualDate); |
|
427 parsedDate.SetLength(0); |
|
428 |
|
429 date.Set(1999, EJanuary, 0, 0, 0, 0, 0); |
|
430 if (locale.QueryHomeHasDaylightSavingOn()) |
|
431 actualDate = _L8(" Fri, 1 Jan 1999 00:00:00 +0100"); |
|
432 else |
|
433 actualDate = _L8(" Fri, 1 Jan 1999 00:00:00 +0000"); |
|
434 dateField.SetDate(date, parsedDate); |
|
435 result &= MyEqualityTest(parsedDate, actualDate); |
|
436 parsedDate.SetLength(0); |
|
437 |
|
438 date.Set(1999, EFebruary, 26, 0, 0, 0, 0); |
|
439 if (locale.QueryHomeHasDaylightSavingOn()) |
|
440 actualDate = _L8(" Sat, 27 Feb 1999 00:00:00 +0100"); |
|
441 else |
|
442 actualDate = _L8(" Sat, 27 Feb 1999 00:00:00 +0000"); |
|
443 dateField.SetDate(date, parsedDate); |
|
444 result &= MyEqualityTest(parsedDate, actualDate); |
|
445 parsedDate.SetLength(0); |
|
446 |
|
447 date.Set(1999, ESeptember, 8, 0, 0, 0, 0); |
|
448 if (locale.QueryHomeHasDaylightSavingOn()) |
|
449 actualDate = _L8(" Thu, 9 Sep 1999 00:00:00 +0100"); |
|
450 else |
|
451 actualDate = _L8(" Thu, 9 Sep 1999 00:00:00 +0000"); |
|
452 dateField.SetDate(date, parsedDate); |
|
453 result &= MyEqualityTest(parsedDate, actualDate); |
|
454 parsedDate.SetLength(0); |
|
455 |
|
456 date.Set(2000, EFebruary, 26, 0, 0, 0, 0); |
|
457 if (locale.QueryHomeHasDaylightSavingOn()) |
|
458 actualDate = _L8(" Sun, 27 Feb 2000 00:00:00 +0100"); |
|
459 else |
|
460 actualDate = _L8(" Sun, 27 Feb 2000 00:00:00 +0000"); |
|
461 dateField.SetDate(date, parsedDate); |
|
462 result &= MyEqualityTest(parsedDate, actualDate); |
|
463 parsedDate.SetLength(0); |
|
464 |
|
465 date.Set(2000, EDecember, 30, 0, 0, 0, 0); |
|
466 if (locale.QueryHomeHasDaylightSavingOn()) |
|
467 actualDate = _L8(" Sun, 31 Dec 2000 00:00:00 +0100"); |
|
468 else |
|
469 actualDate = _L8(" Sun, 31 Dec 2000 00:00:00 +0000"); |
|
470 dateField.SetDate(date, parsedDate); |
|
471 result &= MyEqualityTest(parsedDate, actualDate); |
|
472 parsedDate.SetLength(0); |
|
473 |
|
474 date.Set(2001, EFebruary, 27, 0, 0, 0, 0); |
|
475 if (locale.QueryHomeHasDaylightSavingOn()) |
|
476 actualDate = _L8(" Wed, 28 Feb 2001 00:00:00 +0100"); |
|
477 else |
|
478 actualDate = _L8(" Wed, 28 Feb 2001 00:00:00 +0000"); |
|
479 dateField.SetDate(date, parsedDate); |
|
480 result &= MyEqualityTest(parsedDate, actualDate); |
|
481 parsedDate.SetLength(0); |
|
482 |
|
483 date.Set(2001, EMarch, 0, 0, 0, 0, 0); |
|
484 if (locale.QueryHomeHasDaylightSavingOn()) |
|
485 actualDate = _L8(" Thu, 1 Mar 2001 00:00:00 +0100"); |
|
486 else |
|
487 actualDate = _L8(" Thu, 1 Mar 2001 00:00:00 +0000"); |
|
488 dateField.SetDate(date, parsedDate); |
|
489 result &= MyEqualityTest(parsedDate, actualDate); |
|
490 parsedDate.SetLength(0); |
|
491 |
|
492 date.Set(2004, EFebruary, 27, 0, 0, 0, 0); |
|
493 if (locale.QueryHomeHasDaylightSavingOn()) |
|
494 actualDate = _L8(" Sat, 28 Feb 2004 00:00:00 +0100"); |
|
495 else |
|
496 actualDate = _L8(" Sat, 28 Feb 2004 00:00:00 +0000"); |
|
497 dateField.SetDate(date, parsedDate); |
|
498 result &= MyEqualityTest(parsedDate, actualDate); |
|
499 parsedDate.SetLength(0); |
|
500 |
|
501 // |
|
502 // Test days of the week - required for Y2K testing |
|
503 // 4.2.7 - Calculation of days of the week from dates |
|
504 // |
|
505 |
|
506 date.Set(1999, EFebruary, 27, 0, 0, 0, 0); |
|
507 if (locale.QueryHomeHasDaylightSavingOn()) |
|
508 actualDate = _L8(" Sun, 28 Feb 1999 00:00:00 +0100"); |
|
509 else |
|
510 actualDate = _L8(" Sun, 28 Feb 1999 00:00:00 +0000"); |
|
511 dateField.SetDate(date, parsedDate); |
|
512 result &= MyEqualityTest(parsedDate, actualDate); |
|
513 parsedDate.SetLength(0); |
|
514 |
|
515 date.Set(1999, EMarch, 0, 0, 0, 0, 0); |
|
516 if (locale.QueryHomeHasDaylightSavingOn()) |
|
517 actualDate = _L8(" Mon, 1 Mar 1999 00:00:00 +0100"); |
|
518 else |
|
519 actualDate = _L8(" Mon, 1 Mar 1999 00:00:00 +0000"); |
|
520 dateField.SetDate(date, parsedDate); |
|
521 result &= MyEqualityTest(parsedDate, actualDate); |
|
522 parsedDate.SetLength(0); |
|
523 |
|
524 date.Set(1999, EDecember, 30, 0, 0, 0, 0); |
|
525 if (locale.QueryHomeHasDaylightSavingOn()) |
|
526 actualDate = _L8(" Fri, 31 Dec 1999 00:00:00 +0100"); |
|
527 else |
|
528 actualDate = _L8(" Fri, 31 Dec 1999 00:00:00 +0000"); |
|
529 dateField.SetDate(date, parsedDate); |
|
530 result &= MyEqualityTest(parsedDate, actualDate); |
|
531 parsedDate.SetLength(0); |
|
532 |
|
533 date.Set(2000, EJanuary, 0, 0, 0, 0, 0); |
|
534 if (locale.QueryHomeHasDaylightSavingOn()) |
|
535 actualDate = _L8(" Sat, 1 Jan 2000 00:00:00 +0100"); |
|
536 else |
|
537 actualDate = _L8(" Sat, 1 Jan 2000 00:00:00 +0000"); |
|
538 dateField.SetDate(date, parsedDate); |
|
539 result &= MyEqualityTest(parsedDate, actualDate); |
|
540 parsedDate.SetLength(0); |
|
541 |
|
542 date.Set(2000, EFebruary, 27, 0, 0, 0, 0); |
|
543 if (locale.QueryHomeHasDaylightSavingOn()) |
|
544 actualDate = _L8(" Mon, 28 Feb 2000 00:00:00 +0100"); |
|
545 else |
|
546 actualDate = _L8(" Mon, 28 Feb 2000 00:00:00 +0000"); |
|
547 dateField.SetDate(date, parsedDate); |
|
548 result &= MyEqualityTest(parsedDate, actualDate); |
|
549 parsedDate.SetLength(0); |
|
550 |
|
551 date.Set(2000, EFebruary, 28, 0, 0, 0, 0); |
|
552 if (locale.QueryHomeHasDaylightSavingOn()) |
|
553 actualDate = _L8(" Tue, 29 Feb 2000 00:00:00 +0100"); |
|
554 else |
|
555 actualDate = _L8(" Tue, 29 Feb 2000 00:00:00 +0000"); |
|
556 dateField.SetDate(date, parsedDate); |
|
557 result &= MyEqualityTest(parsedDate, actualDate); |
|
558 parsedDate.SetLength(0); |
|
559 |
|
560 date.Set(2000, EMarch, 0, 0, 0, 0, 0); |
|
561 if (locale.QueryHomeHasDaylightSavingOn()) |
|
562 actualDate = _L8(" Wed, 1 Mar 2000 00:00:00 +0100"); |
|
563 else |
|
564 actualDate = _L8(" Wed, 1 Mar 2000 00:00:00 +0000"); |
|
565 dateField.SetDate(date, parsedDate); |
|
566 result &= MyEqualityTest(parsedDate, actualDate); |
|
567 parsedDate.SetLength(0); |
|
568 |
|
569 date.Set(2001, EJanuary, 0, 0, 0, 0, 0); |
|
570 if (locale.QueryHomeHasDaylightSavingOn()) |
|
571 actualDate = _L8(" Mon, 1 Jan 2001 00:00:00 +0100"); |
|
572 else |
|
573 actualDate = _L8(" Mon, 1 Jan 2001 00:00:00 +0000"); |
|
574 dateField.SetDate(date, parsedDate); |
|
575 result &= MyEqualityTest(parsedDate, actualDate); |
|
576 parsedDate.SetLength(0); |
|
577 |
|
578 date.Set(2004, EFebruary, 28, 0, 0, 0, 0); |
|
579 if (locale.QueryHomeHasDaylightSavingOn()) |
|
580 actualDate = _L8(" Sun, 29 Feb 2004 00:00:00 +0100"); |
|
581 else |
|
582 actualDate = _L8(" Sun, 29 Feb 2004 00:00:00 +0000"); |
|
583 dateField.SetDate(date, parsedDate); |
|
584 result &= MyEqualityTest(parsedDate, actualDate); |
|
585 parsedDate.SetLength(0); |
|
586 |
|
587 date.Set(2004, EMarch, 0, 0, 0, 0, 0); |
|
588 if (locale.QueryHomeHasDaylightSavingOn()) |
|
589 actualDate = _L8(" Mon, 1 Mar 2004 00:00:00 +0100"); |
|
590 else |
|
591 actualDate = _L8(" Mon, 1 Mar 2004 00:00:00 +0000"); |
|
592 dateField.SetDate(date, parsedDate); |
|
593 result &= MyEqualityTest(parsedDate, actualDate); |
|
594 parsedDate.SetLength(0); |
|
595 |
|
596 ResultOfTest(result,aTest); |
|
597 log->AppendComment(_L8("\tTested SetDate function")); |
|
598 return result; |
|
599 } |
|
600 |
|
601 LOCAL_C void AddOffsetMinutes(TInt aOffsetMinutes, TTime& aTime) |
|
602 { |
|
603 aTime = aTime + (TTimeIntervalMinutes)aOffsetMinutes; |
|
604 } |
|
605 |
|
606 /** |
|
607 @SYMTestCaseID DEF049501 |
|
608 @SYMTestType UT |
|
609 @SYMTestPriority Medium |
|
610 @SYMPREQ DEF049501 |
|
611 @SYMDEF DEF049501 |
|
612 @SYMTestCaseDependencies None |
|
613 @SYMTestCaseDesc Test for finding the timezone differences by parsing the given date. |
|
614 Date will be in Obsolete, numeric and Military timezones. |
|
615 @SYMTestActions Parses the given datetime field. |
|
616 Finds the timezone difference in minutes. |
|
617 Returns the parsed datetime. |
|
618 @SYMTestExpectedResults KErrorNone if parsing is done properly. |
|
619 */ |
|
620 // TESTCASE: 3 |
|
621 LOCAL_C TBool TestTimezoneParseDateField(TInt aTest) |
|
622 { |
|
623 TBool result = ETrue; |
|
624 TBuf8<KMiutDateStringLength> actualDate; |
|
625 TImRfc822DateField dateField; |
|
626 TTime time; |
|
627 TDateTime actualTime; |
|
628 |
|
629 log->AppendComment(_L8("\tTesting TimeZone effect in ParseDateField function")); |
|
630 |
|
631 //3-character strings for indicating time zones. |
|
632 |
|
633 //EDT is semantically equivalent to -0400 |
|
634 actualTime.Set(2004, EMarch, 1, 0, 0, 0, 0); |
|
635 actualDate = _L8(" Mon, 2 Mar 2004 00:00:00 EDT"); |
|
636 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
637 //Add the offset minutes. If parsing is done correctly 'time' will be equal to actualTime |
|
638 AddOffsetMinutes(-240,time); |
|
639 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
640 |
|
641 //EST is semantically equivalent to -0500 |
|
642 actualTime.Set(2004, EMarch, 1, 0, 0, 0, 0); |
|
643 actualDate = _L8(" Mon, 2 Mar 2004 00:00:00 EST"); |
|
644 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
645 AddOffsetMinutes(-300,time); |
|
646 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
647 |
|
648 |
|
649 //CST is semantically equivalent to -0600 |
|
650 actualTime.Set(2004, EMarch, 1, 0, 0, 0, 0); |
|
651 actualDate = _L8(" Mon, 2 Mar 2004 00:00:00 CST"); |
|
652 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
653 AddOffsetMinutes(-360,time); |
|
654 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
655 |
|
656 |
|
657 //MST is semantically equivalent to -0700 |
|
658 actualTime.Set(2004, EMarch, 1, 0, 0, 0, 0); |
|
659 actualDate = _L8(" Mon, 2 Mar 2004 00:00:00 MST"); |
|
660 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
661 AddOffsetMinutes(-420,time); |
|
662 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
663 |
|
664 //PST is semantically equivalent to -0800 |
|
665 actualTime.Set(2004, EMarch, 1, 0, 0, 0, 0); |
|
666 actualDate = _L8(" Mon, 2 Mar 2004 00:00:00 PST"); |
|
667 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
668 AddOffsetMinutes(-480,time); |
|
669 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
670 |
|
671 //BST is semantically equivalent to +0100 |
|
672 actualTime.Set(2004, EMarch, 1, 0, 0, 0, 0); |
|
673 actualDate = _L8(" Mon, 2 Mar 2004 00:00:00 BST"); |
|
674 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
675 AddOffsetMinutes(60,time); |
|
676 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
677 |
|
678 // TZ in Military standard. |
|
679 |
|
680 //A indicates one hour earlier A:-1 |
|
681 actualTime.Set(2004, EMarch, 1, 0, 0, 0, 0); |
|
682 actualDate = _L8(" Mon, 2 Mar 2004 00:00:00 A"); |
|
683 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
684 AddOffsetMinutes(-60,time); |
|
685 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
686 |
|
687 |
|
688 //M indicates 12 hours earlier M:-12 |
|
689 actualTime.Set(2004, EMarch, 1, 0, 0, 0, 0); |
|
690 actualDate = _L8(" Mon, 2 Mar 2004 00:00:00 M"); |
|
691 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
692 AddOffsetMinutes(-720,time); |
|
693 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
694 |
|
695 //Z indicates Universal Time or GMT |
|
696 actualTime.Set(2004, EMarch, 1, 0, 0, 0, 0); |
|
697 actualDate = _L8(" Mon, 2 Mar 2004 00:00:00 Z"); |
|
698 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
699 AddOffsetMinutes(0,time); |
|
700 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
701 |
|
702 //N is one hour later N:+1 |
|
703 actualTime.Set(2004, EMarch, 1, 0, 0, 0, 0); |
|
704 actualDate = _L8(" Mon, 2 Mar 2004 00:00:00 N"); |
|
705 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
706 AddOffsetMinutes(60,time); |
|
707 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
708 |
|
709 //Y is 12 hours later Y:+12 |
|
710 actualTime.Set(2004, EMarch, 1, 0, 0, 0, 0); |
|
711 actualDate = _L8(" Mon, 2 Mar 2004 00:00:00 Y"); |
|
712 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
713 AddOffsetMinutes(720,time); |
|
714 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
715 |
|
716 // TZ in numeric format(indication of the amount of offset from UT) |
|
717 |
|
718 actualTime.Set(2004, EMarch, 1, 0, 0, 0, 0); |
|
719 actualDate = _L8(" Mon, 2 Mar 2004 00:00:00 -1200"); |
|
720 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
721 AddOffsetMinutes(-720,time); |
|
722 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
723 |
|
724 actualTime.Set(2004, EMarch, 1, 0, 0, 0, 0); |
|
725 actualDate = _L8(" Mon, 2 Mar 2004 00:00:00 +0000"); |
|
726 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
727 AddOffsetMinutes(0,time); |
|
728 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
729 |
|
730 actualTime.Set(2004, EMarch, 1, 0, 0, 0, 0); |
|
731 actualDate = _L8(" Mon, 2 Mar 2004 00:00:00 +0530"); |
|
732 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
733 AddOffsetMinutes(330,time); |
|
734 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
735 |
|
736 actualTime.Set(2004, EMarch, 1, 0, 0, 0, 0); |
|
737 actualDate = _L8(" Mon, 2 Mar 2004 00:00:00 +1200"); |
|
738 result &= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
739 AddOffsetMinutes(720,time); |
|
740 result &= MyTimeEqualityTest(time, actualTime, actualDate); |
|
741 |
|
742 ResultOfTest(result,aTest); |
|
743 log->AppendComment(_L8("\tTested ParseDateField function")); |
|
744 return result; |
|
745 } |
|
746 |
|
747 |
|
748 // |
|
749 |
|
750 /** |
|
751 @SYMTestCaseID DEF049501 |
|
752 @SYMTestType CT |
|
753 @SYMTestPriority Medium |
|
754 @SYMDEF DEF049501 |
|
755 @SYMTestCaseDependencies None |
|
756 @SYMTestCaseDesc Test for checking malformed Month names in the datefiled while parsing the month name in TImRfc822DateField::GetMonth() method |
|
757 @SYMTestActions Parses the given date. For malformed month name parsing should fail. |
|
758 @SYMTestExpectedResults Parsing should fail and return value of ParseDateField() should be KErrorGeneral. |
|
759 */ |
|
760 //TESTCASE: 4 |
|
761 LOCAL_C TBool TestMalformedMonthInDateField(TInt aTest) |
|
762 { |
|
763 TBool result; |
|
764 result = EFalse; |
|
765 TBuf8<KMiutDateStringLength> actualDate; |
|
766 TImRfc822DateField dateField; |
|
767 TTime time; |
|
768 |
|
769 log->AppendComment(_L8("\t\nTesting Malformed Month in the date field")); |
|
770 |
|
771 //January, June, July |
|
772 actualDate = _L8("Mon, 2 J 2004 00:00:00 +0100"); |
|
773 result |= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
774 |
|
775 //March or May |
|
776 actualDate = _L8(" Mon, 2 M 2004 00:00:00 +0100"); |
|
777 result |= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
778 |
|
779 //April or Augues |
|
780 actualDate = _L8(" Mon, 2 A 2004 00:00:00 +0100"); |
|
781 result |= (dateField.ParseDateField(actualDate, time) == KErrNone); |
|
782 //Get month did not paniced and failed to parse the date. So test passed |
|
783 log->AppendComment(_L8("\t\nTested GetDate function")); |
|
784 |
|
785 //For the log sake make the return value as TRUE. Otherwise logfile will show as Test failed. |
|
786 ResultOfTest(!result,aTest); |
|
787 return !result; |
|
788 } |
|
789 |
|
790 LOCAL_C void InitL() |
|
791 { |
|
792 CActiveScheduler* scheduler = new (ELeave) CActiveScheduler; |
|
793 CActiveScheduler::Install(scheduler); |
|
794 CleanupStack::PushL(scheduler); |
|
795 |
|
796 testUtils = CEmailTestUtils::NewLC(test); |
|
797 testUtils->CreateAllTestDirectories(); |
|
798 testUtils->FileSession().SetSessionPath(_L("C:\\")); |
|
799 testUtils->CleanMessageFolderL(); |
|
800 |
|
801 log = CImLog::NewL(_L("c:\\logs\\email\\T_IMCM.log"), EAppend); |
|
802 CleanupStack::PushL(log); |
|
803 log->AppendComment(_L8("******** T_MIUT09 Test TImRfc822DateField class ********")); |
|
804 TBuf8<80> buf; |
|
805 |
|
806 #if defined(__WINS__) && defined(__WINSCW__) |
|
807 buf.Append(_L8("WINSCW ")); |
|
808 #elif(__WINS__) |
|
809 buf.Append(_L8("WINS ")); |
|
810 #else |
|
811 buf.Append(_L8("MARM ")); |
|
812 #endif |
|
813 #if defined(_UNICODE) |
|
814 buf.Append(_L8("U")); |
|
815 #endif |
|
816 #if defined(_DEBUG) |
|
817 buf.Append(_L8("DEB")); |
|
818 #else |
|
819 buf.Append(_L8("REL")); |
|
820 #endif |
|
821 log->AppendComment(buf); |
|
822 } |
|
823 |
|
824 LOCAL_C void Closedown() |
|
825 { |
|
826 log->AppendComment(_L8("********** T_MIUT09 Tests Complete **********")); |
|
827 log->AppendComment(_L8("")); |
|
828 |
|
829 CleanupStack::PopAndDestroy(3); //testUtils, log, scheduler |
|
830 } |
|
831 |
|
832 // |
|
833 |
|
834 LOCAL_C void doMainL() |
|
835 { |
|
836 InitL(); |
|
837 test.Printf(_L("Performing Tests\n")); |
|
838 |
|
839 TBool result = ETrue; |
|
840 |
|
841 testUtils->TestStart(1); |
|
842 TBool result1 = TestParseDateField(1); |
|
843 if (result1) |
|
844 log->AppendComment(_L8("PASSED Test 1")); |
|
845 else |
|
846 log->AppendComment(_L8("FAILED Test 1")); |
|
847 result &= result1; |
|
848 testUtils->TestFinish(1); |
|
849 |
|
850 testUtils->TestStart(2); |
|
851 TBool result2 = TestSetDate(2); |
|
852 if (result2) |
|
853 log->AppendComment(_L8("PASSED Test 2")); |
|
854 else |
|
855 log->AppendComment(_L8("FAILED Test 2")); |
|
856 result &= result2; |
|
857 testUtils->TestFinish(2); |
|
858 |
|
859 testUtils->TestStart(3); // Test case for Timezone effect |
|
860 TBool result3 = TestTimezoneParseDateField(3); |
|
861 if (result3) |
|
862 log->AppendComment(_L8("PASSED Test 3")); |
|
863 else |
|
864 log->AppendComment(_L8("FAILED Test 3")); |
|
865 result &= result3; |
|
866 testUtils->TestFinish(3); |
|
867 |
|
868 |
|
869 testUtils->TestStart(4); // Test case for malformed month name in timefield |
|
870 TBool result4; |
|
871 result4 = TestMalformedMonthInDateField(4); |
|
872 if (result4) |
|
873 log->AppendComment(_L8("PASSED Test 4")); |
|
874 else |
|
875 log->AppendComment(_L8("FAILED Test 4")); |
|
876 result &= result4; |
|
877 testUtils->TestFinish(4); |
|
878 |
|
879 if (result) |
|
880 { |
|
881 log->AppendComment(_L8("PASSED All tests")); |
|
882 test.Printf(_L("PASSED all Tests")); |
|
883 testUtils->TestHarnessCompleted(); |
|
884 } |
|
885 else |
|
886 { |
|
887 test.Printf(_L("FAILED Tests")); |
|
888 log->AppendError(_L8("FAILED At Least one test"),-1); |
|
889 testUtils->TestHarnessFailed(KErrGeneral); |
|
890 } |
|
891 |
|
892 Closedown(); |
|
893 } |
|
894 |
|
895 GLDEF_C TInt E32Main() |
|
896 { |
|
897 __UHEAP_MARK; |
|
898 test.Start(_L("T_MIUT09 Test TImRfc822DateField class")); |
|
899 theCleanup=CTrapCleanup::New(); |
|
900 TRAPD(ret,doMainL()); |
|
901 test(ret==KErrNone); |
|
902 delete theCleanup; |
|
903 test.End(); |
|
904 test.Close(); |
|
905 __UHEAP_MARKEND; |
|
906 User::Heap().Check(); |
|
907 return(KErrNone); |
|
908 } |