sl@0: // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // Implementation of test CConvertToRfc1123FormTest. sl@0: // sl@0: // sl@0: sl@0: sl@0: #include "cconverttorfc1123formtest.h" sl@0: #include "inetprottextutils.h" sl@0: #include sl@0: #include "t_internetdatetestcases.h" sl@0: sl@0: sl@0: sl@0: CConvertToRfc1123FormTest* CConvertToRfc1123FormTest::NewLC(CIpuTestHarness* aTestHarness) sl@0: { sl@0: CConvertToRfc1123FormTest* self = new(ELeave)CConvertToRfc1123FormTest(aTestHarness); sl@0: CleanupStack::PushL(self); sl@0: return self; sl@0: } sl@0: sl@0: sl@0: CConvertToRfc1123FormTest::CConvertToRfc1123FormTest(CIpuTestHarness* aTestHarness): sl@0: iTestHarness(aTestHarness) sl@0: {} sl@0: sl@0: CConvertToRfc1123FormTest::~CConvertToRfc1123FormTest() sl@0: {} sl@0: sl@0: void CConvertToRfc1123FormTest::DoTestsL() sl@0: { sl@0: TInt ii; sl@0: sl@0: for (ii=0; ii< KInvalidTimeNumTests; ++ii) sl@0: { sl@0: TInternetDate date; sl@0: TRAPD( error, date.SetDateL(KInvalidTimeTestCases[ii])); sl@0: if (error && error != KErrCorrupt) sl@0: { sl@0: User::LeaveIfError(error); sl@0: } sl@0: } sl@0: sl@0: for (ii=0; ii < KNumberDEF126191TestCases; ++ii) sl@0: { sl@0: TInternetDate internetDate; sl@0: _LIT(KTest, "Test for fix DEF126191 - Case: "); sl@0: TInternetDateOffsetTestCase tc = KDEF126191TestCases[ii]; sl@0: TBuf<512> testName; sl@0: testName.Append(KTest); sl@0: TPtrC8 testDate( tc.iTextInput ); sl@0: TBuf<150> bufTestDate; sl@0: bufTestDate.Copy(testDate); sl@0: testName.Append(bufTestDate); sl@0: _LIT(KTestExpected, "\n \t \t \t \t And Expected Result is: "); sl@0: testName.Append(KTestExpected); sl@0: TPtrC8 expectedTestDate( tc.iExpectedOutput ); sl@0: TBuf<150> bufExpectedTestDate; sl@0: bufExpectedTestDate.Copy(expectedTestDate); sl@0: testName.Append(bufExpectedTestDate); sl@0: sl@0: iTestHarness->StartTestL(testName); sl@0: TInt err = 0; sl@0: internetDate.SetDateL(tc.iTextInput); sl@0: TDateTime parsedDate = internetDate.DateTime(); sl@0: TInternetDate ConvertparsedDate(parsedDate); sl@0: HBufC8* textDate = ConvertparsedDate.InternetDateTimeL(TInternetDate::ERfc1123Format); sl@0: CleanupStack::PushL(textDate); sl@0: sl@0: TBuf8 <50> KExpcted; sl@0: KExpcted.Copy(tc.iExpectedOutput); sl@0: if(textDate->CompareF(KExpcted) != 0) sl@0: { sl@0: err = KErrBadDescriptor; sl@0: } sl@0: CleanupStack::PopAndDestroy(textDate); sl@0: iTestHarness->EndTest(err); sl@0: } sl@0: sl@0: for (ii=0; ii< KNumberRfc1123GMTTzTestCases; ++ii) sl@0: { sl@0: TInternetDateTestCase tc = KRfc1123GMTTzTestCases[ii]; sl@0: TDateTime time(tc.iYear, tc.iMonth, tc.iDay, tc.iHour, tc.iMin, tc.iSecond, 0); sl@0: TPtrC8 expected(tc.iTextFormat); sl@0: ConvertTestL(time, expected); sl@0: } sl@0: sl@0: for (ii=0; ii< KNumberINC090613TestCases; ++ii) sl@0: { sl@0: TInternetDate date; sl@0: _LIT(KTest, "Test for fix INC090613 - Case: "); sl@0: TBuf<256> testname; sl@0: testname.Append(KTest); sl@0: TPtrC8 testdate(KINC090613TestCases[ii]); sl@0: TBuf<150> buftestdate; sl@0: buftestdate.Copy(testdate); sl@0: testname.Append(buftestdate); sl@0: sl@0: sl@0: iTestHarness->StartTestL(testname); sl@0: TRAPD(err,date.SetDateL(KINC090613TestCases[ii])); sl@0: iTestHarness->EndTest(err); sl@0: User::LeaveIfError(err); sl@0: } sl@0: for (ii=0; ii< KNumberINC107382TestCases; ++ii) sl@0: { sl@0: TInternetDate date; sl@0: _LIT(KTest, "Test for fix INC107382 - Case: "); sl@0: TBuf<256> testname; sl@0: testname.Append(KTest); sl@0: TPtrC8 testdate(KINC107382TestCases[ii]); sl@0: TBuf<150> buftestdate; sl@0: buftestdate.Copy(testdate); sl@0: testname.Append(buftestdate); sl@0: sl@0: sl@0: iTestHarness->StartTestL(testname); sl@0: TRAPD(err,date.SetDateL(KINC107382TestCases[ii])); sl@0: iTestHarness->EndTest(err); sl@0: User::LeaveIfError(err); sl@0: } sl@0: sl@0: for (ii=0; ii< KInvalidDescriptorToIntTests; ++ii) sl@0: { sl@0: _LIT(KTest, "Test for fix DEF138868 - Case: "); sl@0: TBuf<256> testname; sl@0: testname.Append(KTest); sl@0: TPtrC8 testInput(KInvalidDesToIntTestCases[ii]); sl@0: TBuf<150> buftestInput; sl@0: buftestInput.Copy(testInput); sl@0: testname.Append(buftestInput); sl@0: sl@0: iTestHarness->StartTestL(testname); sl@0: TInt err=0; sl@0: InetProtTextUtils::ConvertDescriptorToInt(KInvalidDesToIntTestCases[ii], err); sl@0: iTestHarness->EndTest(err); sl@0: User::LeaveIfError(err); sl@0: } sl@0: sl@0: } sl@0: sl@0: sl@0: void CConvertToRfc1123FormTest::ConvertTestL(TDateTime aDateTime, const TDesC8& aExpectedResult) sl@0: { sl@0: _LIT(KStartText, "TDateTime->Rfc1123 Expected: "); sl@0: TBuf<284> testName; sl@0: testName.Append(KStartText); sl@0: TBuf <256> expected; sl@0: expected.Copy(aExpectedResult); sl@0: testName.Append(expected); sl@0: sl@0: iTestHarness->StartTestL(testName); sl@0: TRAPD(error, ConvertSingleTestL(aDateTime, aExpectedResult)); sl@0: iTestHarness->EndTest(error); sl@0: User::LeaveIfError(error); sl@0: } sl@0: sl@0: void CConvertToRfc1123FormTest::ConvertSingleTestL(TDateTime aDateTime, const TDesC8& aExpectedResult) sl@0: { sl@0: TInternetDate internetDate(aDateTime); sl@0: HBufC8* textDate = internetDate.InternetDateTimeL(TInternetDate::ERfc1123Format); sl@0: CleanupStack::PushL(textDate); sl@0: if (aExpectedResult.CompareF(*textDate) != 0) sl@0: User::Leave(KErrCorrupt); sl@0: sl@0: CleanupStack::PopAndDestroy(textDate); sl@0: }