os/ossrv/genericservices/httputils/Test/t_tinternetdate/cconverttorfc1123formtest.cpp
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
sl@0
     1
// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     2
// All rights reserved.
sl@0
     3
// This component and the accompanying materials are made available
sl@0
     4
// under the terms of "Eclipse Public License v1.0"
sl@0
     5
// which accompanies this distribution, and is available
sl@0
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     7
//
sl@0
     8
// Initial Contributors:
sl@0
     9
// Nokia Corporation - initial contribution.
sl@0
    10
//
sl@0
    11
// Contributors:
sl@0
    12
//
sl@0
    13
// Description:
sl@0
    14
// Implementation of test CConvertToRfc1123FormTest.
sl@0
    15
// 
sl@0
    16
//
sl@0
    17
sl@0
    18
sl@0
    19
#include "cconverttorfc1123formtest.h"
sl@0
    20
#include "inetprottextutils.h"
sl@0
    21
#include <tinternetdate.h>
sl@0
    22
#include "t_internetdatetestcases.h"
sl@0
    23
sl@0
    24
sl@0
    25
sl@0
    26
CConvertToRfc1123FormTest* CConvertToRfc1123FormTest::NewLC(CIpuTestHarness* aTestHarness)
sl@0
    27
	{
sl@0
    28
	CConvertToRfc1123FormTest* self = new(ELeave)CConvertToRfc1123FormTest(aTestHarness);
sl@0
    29
	CleanupStack::PushL(self);
sl@0
    30
	return self;
sl@0
    31
	}
sl@0
    32
sl@0
    33
sl@0
    34
CConvertToRfc1123FormTest::CConvertToRfc1123FormTest(CIpuTestHarness* aTestHarness):
sl@0
    35
	iTestHarness(aTestHarness)
sl@0
    36
	{}
sl@0
    37
sl@0
    38
CConvertToRfc1123FormTest::~CConvertToRfc1123FormTest()
sl@0
    39
	{}
sl@0
    40
sl@0
    41
void CConvertToRfc1123FormTest::DoTestsL()
sl@0
    42
	{
sl@0
    43
	TInt ii;
sl@0
    44
	
sl@0
    45
	for (ii=0; ii< KInvalidTimeNumTests; ++ii)
sl@0
    46
		{
sl@0
    47
		TInternetDate date;
sl@0
    48
		TRAPD( error, date.SetDateL(KInvalidTimeTestCases[ii]));
sl@0
    49
		if (error && error != KErrCorrupt)
sl@0
    50
			{
sl@0
    51
			User::LeaveIfError(error);
sl@0
    52
			}
sl@0
    53
		}
sl@0
    54
	
sl@0
    55
	for (ii=0; ii < KNumberDEF126191TestCases; ++ii)
sl@0
    56
		{
sl@0
    57
		TInternetDate internetDate;
sl@0
    58
		_LIT(KTest, "Test for fix DEF126191 - Case: ");
sl@0
    59
		TInternetDateOffsetTestCase tc = KDEF126191TestCases[ii];
sl@0
    60
		TBuf<512> testName;
sl@0
    61
		testName.Append(KTest);
sl@0
    62
		TPtrC8 testDate( tc.iTextInput );
sl@0
    63
		TBuf<150> bufTestDate;
sl@0
    64
		bufTestDate.Copy(testDate);
sl@0
    65
		testName.Append(bufTestDate);
sl@0
    66
		_LIT(KTestExpected, "\n \t \t \t \t And Expected Result is: ");
sl@0
    67
		testName.Append(KTestExpected);
sl@0
    68
		TPtrC8 expectedTestDate( tc.iExpectedOutput );
sl@0
    69
		TBuf<150> bufExpectedTestDate;
sl@0
    70
		bufExpectedTestDate.Copy(expectedTestDate);
sl@0
    71
		testName.Append(bufExpectedTestDate);
sl@0
    72
		
sl@0
    73
		iTestHarness->StartTestL(testName);
sl@0
    74
		TInt err = 0;
sl@0
    75
		internetDate.SetDateL(tc.iTextInput);
sl@0
    76
		TDateTime parsedDate = internetDate.DateTime();
sl@0
    77
		TInternetDate ConvertparsedDate(parsedDate);
sl@0
    78
		HBufC8* textDate = ConvertparsedDate.InternetDateTimeL(TInternetDate::ERfc1123Format); 
sl@0
    79
		CleanupStack::PushL(textDate);
sl@0
    80
sl@0
    81
		TBuf8 <50> KExpcted;
sl@0
    82
		KExpcted.Copy(tc.iExpectedOutput);
sl@0
    83
		if(textDate->CompareF(KExpcted) != 0)
sl@0
    84
			{
sl@0
    85
			err = KErrBadDescriptor;
sl@0
    86
			}
sl@0
    87
		CleanupStack::PopAndDestroy(textDate);
sl@0
    88
		iTestHarness->EndTest(err);
sl@0
    89
		}
sl@0
    90
		
sl@0
    91
	for (ii=0; ii< KNumberRfc1123GMTTzTestCases; ++ii)
sl@0
    92
		{
sl@0
    93
		TInternetDateTestCase tc = KRfc1123GMTTzTestCases[ii];
sl@0
    94
		TDateTime time(tc.iYear, tc.iMonth, tc.iDay, tc.iHour, tc.iMin, tc.iSecond, 0);
sl@0
    95
		TPtrC8 expected(tc.iTextFormat);
sl@0
    96
		ConvertTestL(time, expected);
sl@0
    97
		}
sl@0
    98
sl@0
    99
	for (ii=0; ii< KNumberINC090613TestCases; ++ii)
sl@0
   100
		{
sl@0
   101
		TInternetDate date;
sl@0
   102
		_LIT(KTest, "Test for fix INC090613 - Case: ");
sl@0
   103
		TBuf<256> testname;
sl@0
   104
		testname.Append(KTest);
sl@0
   105
		TPtrC8 testdate(KINC090613TestCases[ii]);
sl@0
   106
		TBuf<150> buftestdate;
sl@0
   107
		buftestdate.Copy(testdate);
sl@0
   108
		testname.Append(buftestdate);
sl@0
   109
				
sl@0
   110
		
sl@0
   111
		iTestHarness->StartTestL(testname);
sl@0
   112
		TRAPD(err,date.SetDateL(KINC090613TestCases[ii]));
sl@0
   113
		iTestHarness->EndTest(err);
sl@0
   114
		User::LeaveIfError(err);
sl@0
   115
		}
sl@0
   116
	for (ii=0; ii< KNumberINC107382TestCases; ++ii)
sl@0
   117
		{
sl@0
   118
		TInternetDate date;
sl@0
   119
		_LIT(KTest, "Test for fix INC107382 - Case: ");
sl@0
   120
		TBuf<256> testname;
sl@0
   121
		testname.Append(KTest);
sl@0
   122
		TPtrC8 testdate(KINC107382TestCases[ii]);
sl@0
   123
		TBuf<150> buftestdate;
sl@0
   124
		buftestdate.Copy(testdate);
sl@0
   125
		testname.Append(buftestdate);
sl@0
   126
				
sl@0
   127
		
sl@0
   128
		iTestHarness->StartTestL(testname);
sl@0
   129
		TRAPD(err,date.SetDateL(KINC107382TestCases[ii]));
sl@0
   130
		iTestHarness->EndTest(err);
sl@0
   131
		User::LeaveIfError(err);
sl@0
   132
		}
sl@0
   133
	
sl@0
   134
	for (ii=0; ii< KInvalidDescriptorToIntTests; ++ii)
sl@0
   135
		{
sl@0
   136
		_LIT(KTest, "Test for fix DEF138868 - Case: ");
sl@0
   137
		TBuf<256> testname;
sl@0
   138
		testname.Append(KTest);
sl@0
   139
		TPtrC8 testInput(KInvalidDesToIntTestCases[ii]);
sl@0
   140
		TBuf<150> buftestInput;
sl@0
   141
		buftestInput.Copy(testInput);
sl@0
   142
		testname.Append(buftestInput);
sl@0
   143
		
sl@0
   144
		iTestHarness->StartTestL(testname);
sl@0
   145
		TInt err=0;
sl@0
   146
		InetProtTextUtils::ConvertDescriptorToInt(KInvalidDesToIntTestCases[ii], err);
sl@0
   147
		iTestHarness->EndTest(err);
sl@0
   148
		User::LeaveIfError(err);
sl@0
   149
		}
sl@0
   150
		
sl@0
   151
	}
sl@0
   152
	
sl@0
   153
sl@0
   154
void CConvertToRfc1123FormTest::ConvertTestL(TDateTime aDateTime, const TDesC8& aExpectedResult)
sl@0
   155
	{
sl@0
   156
	_LIT(KStartText, "TDateTime->Rfc1123 Expected: ");
sl@0
   157
	TBuf<284> testName;
sl@0
   158
	testName.Append(KStartText);
sl@0
   159
	TBuf <256> expected;
sl@0
   160
	expected.Copy(aExpectedResult);
sl@0
   161
	testName.Append(expected);
sl@0
   162
sl@0
   163
	iTestHarness->StartTestL(testName);
sl@0
   164
	TRAPD(error, ConvertSingleTestL(aDateTime, aExpectedResult));
sl@0
   165
	iTestHarness->EndTest(error);
sl@0
   166
	User::LeaveIfError(error);
sl@0
   167
	}
sl@0
   168
sl@0
   169
void CConvertToRfc1123FormTest::ConvertSingleTestL(TDateTime aDateTime, const TDesC8& aExpectedResult)
sl@0
   170
	{
sl@0
   171
	TInternetDate internetDate(aDateTime);
sl@0
   172
	HBufC8* textDate = internetDate.InternetDateTimeL(TInternetDate::ERfc1123Format);
sl@0
   173
	CleanupStack::PushL(textDate);
sl@0
   174
	if (aExpectedResult.CompareF(*textDate) != 0)
sl@0
   175
		User::Leave(KErrCorrupt);
sl@0
   176
sl@0
   177
	CleanupStack::PopAndDestroy(textDate);
sl@0
   178
	}