os/ossrv/genericservices/httputils/Test/t_tinternetdate/cconverttorfc1123formtest.cpp
Update contrib.
1 // Copyright (c) 2002-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".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // Implementation of test CConvertToRfc1123FormTest.
19 #include "cconverttorfc1123formtest.h"
20 #include "inetprottextutils.h"
21 #include <tinternetdate.h>
22 #include "t_internetdatetestcases.h"
26 CConvertToRfc1123FormTest* CConvertToRfc1123FormTest::NewLC(CIpuTestHarness* aTestHarness)
28 CConvertToRfc1123FormTest* self = new(ELeave)CConvertToRfc1123FormTest(aTestHarness);
29 CleanupStack::PushL(self);
34 CConvertToRfc1123FormTest::CConvertToRfc1123FormTest(CIpuTestHarness* aTestHarness):
35 iTestHarness(aTestHarness)
38 CConvertToRfc1123FormTest::~CConvertToRfc1123FormTest()
41 void CConvertToRfc1123FormTest::DoTestsL()
45 for (ii=0; ii< KInvalidTimeNumTests; ++ii)
48 TRAPD( error, date.SetDateL(KInvalidTimeTestCases[ii]));
49 if (error && error != KErrCorrupt)
51 User::LeaveIfError(error);
55 for (ii=0; ii < KNumberDEF126191TestCases; ++ii)
57 TInternetDate internetDate;
58 _LIT(KTest, "Test for fix DEF126191 - Case: ");
59 TInternetDateOffsetTestCase tc = KDEF126191TestCases[ii];
61 testName.Append(KTest);
62 TPtrC8 testDate( tc.iTextInput );
63 TBuf<150> bufTestDate;
64 bufTestDate.Copy(testDate);
65 testName.Append(bufTestDate);
66 _LIT(KTestExpected, "\n \t \t \t \t And Expected Result is: ");
67 testName.Append(KTestExpected);
68 TPtrC8 expectedTestDate( tc.iExpectedOutput );
69 TBuf<150> bufExpectedTestDate;
70 bufExpectedTestDate.Copy(expectedTestDate);
71 testName.Append(bufExpectedTestDate);
73 iTestHarness->StartTestL(testName);
75 internetDate.SetDateL(tc.iTextInput);
76 TDateTime parsedDate = internetDate.DateTime();
77 TInternetDate ConvertparsedDate(parsedDate);
78 HBufC8* textDate = ConvertparsedDate.InternetDateTimeL(TInternetDate::ERfc1123Format);
79 CleanupStack::PushL(textDate);
82 KExpcted.Copy(tc.iExpectedOutput);
83 if(textDate->CompareF(KExpcted) != 0)
85 err = KErrBadDescriptor;
87 CleanupStack::PopAndDestroy(textDate);
88 iTestHarness->EndTest(err);
91 for (ii=0; ii< KNumberRfc1123GMTTzTestCases; ++ii)
93 TInternetDateTestCase tc = KRfc1123GMTTzTestCases[ii];
94 TDateTime time(tc.iYear, tc.iMonth, tc.iDay, tc.iHour, tc.iMin, tc.iSecond, 0);
95 TPtrC8 expected(tc.iTextFormat);
96 ConvertTestL(time, expected);
99 for (ii=0; ii< KNumberINC090613TestCases; ++ii)
102 _LIT(KTest, "Test for fix INC090613 - Case: ");
104 testname.Append(KTest);
105 TPtrC8 testdate(KINC090613TestCases[ii]);
106 TBuf<150> buftestdate;
107 buftestdate.Copy(testdate);
108 testname.Append(buftestdate);
111 iTestHarness->StartTestL(testname);
112 TRAPD(err,date.SetDateL(KINC090613TestCases[ii]));
113 iTestHarness->EndTest(err);
114 User::LeaveIfError(err);
116 for (ii=0; ii< KNumberINC107382TestCases; ++ii)
119 _LIT(KTest, "Test for fix INC107382 - Case: ");
121 testname.Append(KTest);
122 TPtrC8 testdate(KINC107382TestCases[ii]);
123 TBuf<150> buftestdate;
124 buftestdate.Copy(testdate);
125 testname.Append(buftestdate);
128 iTestHarness->StartTestL(testname);
129 TRAPD(err,date.SetDateL(KINC107382TestCases[ii]));
130 iTestHarness->EndTest(err);
131 User::LeaveIfError(err);
134 for (ii=0; ii< KInvalidDescriptorToIntTests; ++ii)
136 _LIT(KTest, "Test for fix DEF138868 - Case: ");
138 testname.Append(KTest);
139 TPtrC8 testInput(KInvalidDesToIntTestCases[ii]);
140 TBuf<150> buftestInput;
141 buftestInput.Copy(testInput);
142 testname.Append(buftestInput);
144 iTestHarness->StartTestL(testname);
146 InetProtTextUtils::ConvertDescriptorToInt(KInvalidDesToIntTestCases[ii], err);
147 iTestHarness->EndTest(err);
148 User::LeaveIfError(err);
154 void CConvertToRfc1123FormTest::ConvertTestL(TDateTime aDateTime, const TDesC8& aExpectedResult)
156 _LIT(KStartText, "TDateTime->Rfc1123 Expected: ");
158 testName.Append(KStartText);
160 expected.Copy(aExpectedResult);
161 testName.Append(expected);
163 iTestHarness->StartTestL(testName);
164 TRAPD(error, ConvertSingleTestL(aDateTime, aExpectedResult));
165 iTestHarness->EndTest(error);
166 User::LeaveIfError(error);
169 void CConvertToRfc1123FormTest::ConvertSingleTestL(TDateTime aDateTime, const TDesC8& aExpectedResult)
171 TInternetDate internetDate(aDateTime);
172 HBufC8* textDate = internetDate.InternetDateTimeL(TInternetDate::ERfc1123Format);
173 CleanupStack::PushL(textDate);
174 if (aExpectedResult.CompareF(*textDate) != 0)
175 User::Leave(KErrCorrupt);
177 CleanupStack::PopAndDestroy(textDate);