os/ossrv/genericservices/httputils/Test/t_tinternetdate/cconverttorfc1123formtest.cpp
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
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".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 // Implementation of test CConvertToRfc1123FormTest.
    15 // 
    16 //
    17 
    18 
    19 #include "cconverttorfc1123formtest.h"
    20 #include "inetprottextutils.h"
    21 #include <tinternetdate.h>
    22 #include "t_internetdatetestcases.h"
    23 
    24 
    25 
    26 CConvertToRfc1123FormTest* CConvertToRfc1123FormTest::NewLC(CIpuTestHarness* aTestHarness)
    27 	{
    28 	CConvertToRfc1123FormTest* self = new(ELeave)CConvertToRfc1123FormTest(aTestHarness);
    29 	CleanupStack::PushL(self);
    30 	return self;
    31 	}
    32 
    33 
    34 CConvertToRfc1123FormTest::CConvertToRfc1123FormTest(CIpuTestHarness* aTestHarness):
    35 	iTestHarness(aTestHarness)
    36 	{}
    37 
    38 CConvertToRfc1123FormTest::~CConvertToRfc1123FormTest()
    39 	{}
    40 
    41 void CConvertToRfc1123FormTest::DoTestsL()
    42 	{
    43 	TInt ii;
    44 	
    45 	for (ii=0; ii< KInvalidTimeNumTests; ++ii)
    46 		{
    47 		TInternetDate date;
    48 		TRAPD( error, date.SetDateL(KInvalidTimeTestCases[ii]));
    49 		if (error && error != KErrCorrupt)
    50 			{
    51 			User::LeaveIfError(error);
    52 			}
    53 		}
    54 	
    55 	for (ii=0; ii < KNumberDEF126191TestCases; ++ii)
    56 		{
    57 		TInternetDate internetDate;
    58 		_LIT(KTest, "Test for fix DEF126191 - Case: ");
    59 		TInternetDateOffsetTestCase tc = KDEF126191TestCases[ii];
    60 		TBuf<512> testName;
    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);
    72 		
    73 		iTestHarness->StartTestL(testName);
    74 		TInt err = 0;
    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);
    80 
    81 		TBuf8 <50> KExpcted;
    82 		KExpcted.Copy(tc.iExpectedOutput);
    83 		if(textDate->CompareF(KExpcted) != 0)
    84 			{
    85 			err = KErrBadDescriptor;
    86 			}
    87 		CleanupStack::PopAndDestroy(textDate);
    88 		iTestHarness->EndTest(err);
    89 		}
    90 		
    91 	for (ii=0; ii< KNumberRfc1123GMTTzTestCases; ++ii)
    92 		{
    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);
    97 		}
    98 
    99 	for (ii=0; ii< KNumberINC090613TestCases; ++ii)
   100 		{
   101 		TInternetDate date;
   102 		_LIT(KTest, "Test for fix INC090613 - Case: ");
   103 		TBuf<256> testname;
   104 		testname.Append(KTest);
   105 		TPtrC8 testdate(KINC090613TestCases[ii]);
   106 		TBuf<150> buftestdate;
   107 		buftestdate.Copy(testdate);
   108 		testname.Append(buftestdate);
   109 				
   110 		
   111 		iTestHarness->StartTestL(testname);
   112 		TRAPD(err,date.SetDateL(KINC090613TestCases[ii]));
   113 		iTestHarness->EndTest(err);
   114 		User::LeaveIfError(err);
   115 		}
   116 	for (ii=0; ii< KNumberINC107382TestCases; ++ii)
   117 		{
   118 		TInternetDate date;
   119 		_LIT(KTest, "Test for fix INC107382 - Case: ");
   120 		TBuf<256> testname;
   121 		testname.Append(KTest);
   122 		TPtrC8 testdate(KINC107382TestCases[ii]);
   123 		TBuf<150> buftestdate;
   124 		buftestdate.Copy(testdate);
   125 		testname.Append(buftestdate);
   126 				
   127 		
   128 		iTestHarness->StartTestL(testname);
   129 		TRAPD(err,date.SetDateL(KINC107382TestCases[ii]));
   130 		iTestHarness->EndTest(err);
   131 		User::LeaveIfError(err);
   132 		}
   133 	
   134 	for (ii=0; ii< KInvalidDescriptorToIntTests; ++ii)
   135 		{
   136 		_LIT(KTest, "Test for fix DEF138868 - Case: ");
   137 		TBuf<256> testname;
   138 		testname.Append(KTest);
   139 		TPtrC8 testInput(KInvalidDesToIntTestCases[ii]);
   140 		TBuf<150> buftestInput;
   141 		buftestInput.Copy(testInput);
   142 		testname.Append(buftestInput);
   143 		
   144 		iTestHarness->StartTestL(testname);
   145 		TInt err=0;
   146 		InetProtTextUtils::ConvertDescriptorToInt(KInvalidDesToIntTestCases[ii], err);
   147 		iTestHarness->EndTest(err);
   148 		User::LeaveIfError(err);
   149 		}
   150 		
   151 	}
   152 	
   153 
   154 void CConvertToRfc1123FormTest::ConvertTestL(TDateTime aDateTime, const TDesC8& aExpectedResult)
   155 	{
   156 	_LIT(KStartText, "TDateTime->Rfc1123 Expected: ");
   157 	TBuf<284> testName;
   158 	testName.Append(KStartText);
   159 	TBuf <256> expected;
   160 	expected.Copy(aExpectedResult);
   161 	testName.Append(expected);
   162 
   163 	iTestHarness->StartTestL(testName);
   164 	TRAPD(error, ConvertSingleTestL(aDateTime, aExpectedResult));
   165 	iTestHarness->EndTest(error);
   166 	User::LeaveIfError(error);
   167 	}
   168 
   169 void CConvertToRfc1123FormTest::ConvertSingleTestL(TDateTime aDateTime, const TDesC8& aExpectedResult)
   170 	{
   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);
   176 
   177 	CleanupStack::PopAndDestroy(textDate);
   178 	}