os/ossrv/genericservices/httputils/Test/t_tinternetdate/t_internetdatetestcases.h
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 // Test cases for t_internetdate test harness
    15 // 
    16 //
    17 
    18 
    19 #ifndef		__T_INTERNETDATETESTCASES_H__
    20 #define		__T_INTERNETDATETESTCASES_H__
    21 
    22 enum TInternetDateTestPanic
    23 	{
    24 	EInternetDateTestFailPanic			=0,
    25 	EInternetDateCorruptTestFailPanic	=1
    26 	};
    27 
    28 struct TInternetDateTestCase
    29 	{
    30 	const TText8* iTextFormat;
    31 	TInt iYear;	
    32 	TMonth iMonth;
    33 	TInt iDay;	// specify the day with a -1 offset as they start from 0
    34 	TInt iHour;
    35 	TInt iMin;
    36 	TInt iSecond;
    37 	};
    38 
    39 
    40 #ifdef __PARSEINTERNETFORMTEST__
    41 
    42 const TInt KNumberCorruptTestCases=15;
    43 static const TText8* KCorruptTestCases[]=
    44 	{
    45 		_S8("Sun, 06 Nov 19940 08:49:37 GMT"),	
    46 		_S8("Sun, 06 Nov 01994 08:49:37 GMT"),	
    47 		_S8("Sun, 06 Nov 1994 008:49:37 GMT"),	
    48 		_S8("Sun, 06 Nov 1994 080:49:37 GMT"),	
    49 		_S8("Sun, 06 Nov 1994 010:49:37 GMT"),	
    50 		_S8("Sun, 06 Nov 1994 08:049:37 GMT"),	
    51 		_S8("Sun, 06 Nov 1994 08:010:37 GMT"),	
    52 		_S8("Sun, 06 Nov 1994 08:490:37 GMT"),	
    53 		_S8("Sun, 06 Nov 1994 08:090:37 GMT"),	
    54 		_S8("Sun, 06 Nov 1994 08:49:037 GMT"),	
    55 		_S8("Sun, 06 Nov 1994 08:49:370 GMT"),	
    56 		_S8("Sun, 06 Nov 1994 08:49:030 GMT"),	
    57 
    58 		_S8("Sun, 0612343 Nov 1994 08:49:37 GMT"),	
    59 		_S8("Sun, 06 November 1994 08:49:37 GMT"),
    60 		_S8("Sun, 0006 Nov 1994 08:49:37 GMT")	
    61 	};
    62 #endif
    63 
    64 const TInt KNumberRfc1123GMTTzTestCases = 22;
    65 const struct TInternetDateTestCase KRfc1123GMTTzTestCases[] = 
    66 	{
    67 		
    68 		{_S8("Sun, 06 Nov 1994 08:49:37 GMT"), 1994,ENovember,5,8,49,37},
    69 		{_S8("Mon, 21 Jan 2002 12:00:00 GMT"), 2002,EJanuary, 20,12,0,0},
    70 		{_S8("Tue, 22 Jan 2002 12:00:00 GMT"), 2002,EJanuary, 21,12,0,0},
    71 		{_S8("Wed, 23 Jan 2002 12:00:00 GMT"), 2002,EJanuary, 22,12,0,0},
    72 		{_S8("Thu, 24 Jan 2002 12:00:00 GMT"), 2002,EJanuary, 23,12,0,0},
    73 		{_S8("Fri, 25 Jan 2002 12:00:00 GMT"), 2002,EJanuary, 24,12,0,0},
    74 		{_S8("Sat, 26 Jan 2002 12:00:00 GMT"), 2002,EJanuary, 25,12,0,0},
    75 		{_S8("Sun, 27 Jan 2002 12:00:00 GMT"), 2002,EJanuary, 26,12,0,0},
    76 		{_S8("Mon, 04 Feb 2002 12:00:00 GMT"), 2002,EFebruary, 3,12,0,0},
    77 		{_S8("Mon, 04 Mar 2002 12:00:00 GMT"), 2002,EMarch, 3,12,0,0},
    78 		{_S8("Tue, 02 Apr 2002 12:00:00 GMT"), 2002,EApril, 1,12,0,0},
    79 		{_S8("Tue, 07 May 2002 12:00:00 GMT"), 2002,EMay, 6,12,0,0},
    80 		{_S8("Wed, 05 Jun 2002 12:00:00 GMT"), 2002,EJune, 4,12,0,0},
    81 		{_S8("Wed, 10 Jul 2002 12:00:00 GMT"), 2002,EJuly, 9,12,0,0},
    82 		{_S8("Thu, 15 Aug 2002 12:00:00 GMT"), 2002,EAugust, 14,12,0,0},
    83 		{_S8("Thu, 12 Sep 2002 12:00:00 GMT"), 2002,ESeptember, 11,12,0,0},
    84 		{_S8("Fri, 11 Oct 2002 12:00:00 GMT"), 2002,EOctober, 10,12,0,0},
    85 		{_S8("Fri, 18 Oct 2002 12:00:00 GMT"), 2002,EOctober, 17,12,0,0},
    86 		{_S8("Sat, 23 Nov 2002 12:00:00 GMT"), 2002,ENovember, 22,12,0,0},
    87 		{_S8("Sat, 30 Nov 2002 12:00:00 GMT"), 2002,ENovember, 29,12,0,0},
    88 		{_S8("Sun, 01 Dec 2002 12:00:00 GMT"), 2002,EDecember, 0,12,0,0},
    89 		{_S8("Sun, 29 Dec 2002 12:00:00 GMT"), 2002,EDecember, 28,12,0,0},
    90 	};
    91 
    92 
    93 const TInt KNumberINC090613TestCases = 2;
    94 static const TBuf8<50> KINC090613TestCases[]=
    95 	{
    96 		_L8("Sun, 6 Nov 1994 08:49:37 GMT"),
    97 		_L8("Sun, 06 Nov 1994 08:49:37 GMT")
    98 	};
    99 
   100 const TInt KNumberINC107382TestCases = 9;
   101 static const TBuf8<50> KINC107382TestCases[]=
   102 	{
   103 		_L8(" Sun, 6 Nov 1994 08:49:37 GMT"),
   104 		_L8("Sun, 06 Nov 1994 08:49:37 GMT "),
   105 		_L8("   Sun, 06 Nov 1994 08:49:37 GMT   "),
   106 		_L8(" Sunday, 06-Nov-94 08:49:37 GMT"),
   107 		_L8("Sunday, 06-Nov-94 08:49:37 GMT "),
   108 		_L8("   Sunday, 06-Nov-94 08:49:37 GMT   "),
   109 		_L8(" Sun Nov 6 08:49:37 1994"),
   110 		_L8("Sun Nov 6 08:49:37 1994 "),
   111 		_L8("   Sun Nov 6 08:49:37 1994   "),
   112 	};
   113 
   114 const TInt KNumberRfc850GMTTzTestCases = 22;
   115 const struct TInternetDateTestCase KRfc850GMTTzTestCases[] = 
   116 	{
   117 		
   118 		{_S8("Sun, 06-Nov-94 08:49:37 GMT"), 1994,ENovember,5,8,49,37},
   119 		{_S8("Mon, 21-Jan-02 12:00:00 GMT"), 2002,EJanuary, 20,12,0,0},
   120 		{_S8("Tue, 22-Jan-02 12:00:00 GMT"), 2002,EJanuary, 21,12,0,0},
   121 		{_S8("Wed, 23-Jan-02 12:00:00 GMT"), 2002,EJanuary, 22,12,0,0},
   122 		{_S8("Thu, 24-Jan-02 12:00:00 GMT"), 2002,EJanuary, 23,12,0,0},
   123 		{_S8("Fri, 25-Jan-02 12:00:00 GMT"), 2002,EJanuary, 24,12,0,0},
   124 		{_S8("Sat, 26-Jan-02 12:00:00 GMT"), 2002,EJanuary, 25,12,0,0},
   125 		{_S8("Sun, 27-Jan-02 12:00:00 GMT"), 2002,EJanuary, 26,12,0,0},
   126 		{_S8("Mon, 04-Feb-02 12:00:00 GMT"), 2002,EFebruary, 3,12,0,0},
   127 		{_S8("Mon, 04-Mar-02 12:00:00 GMT"), 2002,EMarch, 3,12,0,0},
   128 		{_S8("Tue, 02-Apr-02 12:00:00 GMT"), 2002,EApril, 1,12,0,0},
   129 		{_S8("Tue, 07-May-02 12:00:00 GMT"), 2002,EMay, 6,12,0,0},
   130 		{_S8("Wed, 05-Jun-02 12:00:00 GMT"), 2002,EJune, 4,12,0,0},
   131 		{_S8("Wed, 10-Jul-02 12:00:00 GMT"), 2002,EJuly, 9,12,0,0},
   132 		{_S8("Thu, 15-Aug-02 12:00:00 GMT"), 2002,EAugust, 14,12,0,0},
   133 		{_S8("Thu, 12-Sep-02 12:00:00 GMT"), 2002,ESeptember, 11,12,0,0},
   134 		{_S8("Fri, 11-Oct-02 12:00:00 GMT"), 2002,EOctober, 10,12,0,0},
   135 		{_S8("Fri, 18-Oct-02 12:00:00 GMT"), 2002,EOctober, 17,12,0,0},
   136 		{_S8("Sat, 23-Nov-02 12:00:00 GMT"), 2002,ENovember, 22,12,0,0},
   137 		{_S8("Sat, 30-Nov-02 12:00:00 GMT"), 2002,ENovember, 29,12,0,0},
   138 		{_S8("Sun, 01-Dec-02 12:00:00 GMT"), 2002,EDecember, 0,12,0,0},
   139 		{_S8("Sun, 29-Dec-02 12:00:00 GMT"), 2002,EDecember, 28,12,0,0},
   140 	};
   141 
   142 
   143 const TInt KNumberAscTimeTestCases = 22;
   144 const struct TInternetDateTestCase KAscTimeTestCases[] = 
   145 	{
   146 		{_S8("Sun Nov  6 08:49:37 1994"), 1994,ENovember,5,8,49,37},
   147 		{_S8("Mon Jan 21 12:00:00 2002"), 2002,EJanuary, 20,12,0,0},
   148 		{_S8("Tue Jan 22 12:00:00 2002"), 2002,EJanuary, 21,12,0,0},
   149 		{_S8("Wed Jan 23 12:00:00 2002"), 2002,EJanuary, 22,12,0,0},
   150 		{_S8("Thu Jan 24 12:00:00 2002"), 2002,EJanuary, 23,12,0,0},
   151 		{_S8("Fri Jan 25 12:00:00 2002"), 2002,EJanuary, 24,12,0,0},
   152 		{_S8("Sat Jan 26 12:00:00 2002"), 2002,EJanuary, 25,12,0,0},
   153 		{_S8("Sun Jan 27 12:00:00 2002"), 2002,EJanuary, 26,12,0,0},
   154 		{_S8("Mon Feb  4 12:00:00 2002"), 2002,EFebruary, 3,12,0,0},
   155 		{_S8("Mon Mar  4 12:00:00 2002"), 2002,EMarch, 3,12,0,0},
   156 		{_S8("Tue Apr  2 12:00:00 2002"), 2002,EApril, 1,12,0,0},
   157 		{_S8("Tue May  7 12:00:00 2002"), 2002,EMay, 6,12,0,0},
   158 		{_S8("Wed Jun  5 12:00:00 2002"), 2002,EJune, 4,12,0,0},
   159 		{_S8("Wed Jul 10 12:00:00 2002"), 2002,EJuly, 9,12,0,0},
   160 		{_S8("Thu Aug 15 12:00:00 2002"), 2002,EAugust, 14,12,0,0},
   161 		{_S8("Thu Sep 12 12:00:00 2002"), 2002,ESeptember, 11,12,0,0},
   162 		{_S8("Fri Oct 11 12:00:00 2002"), 2002,EOctober, 10,12,0,0},
   163 		{_S8("Fri Oct 18 12:00:00 2002"), 2002,EOctober, 17,12,0,0},
   164 		{_S8("Sat Nov 23 12:00:00 2002"), 2002,ENovember, 22,12,0,0},
   165 		{_S8("Sat Nov 30 12:00:00 2002"), 2002,ENovember, 29,12,0,0},
   166 		{_S8("Sun Dec  1 12:00:00 2002"), 2002,EDecember, 0,12,0,0},
   167 		{_S8("Sun Dec 29 12:00:00 2002"), 2002,EDecember, 28,12,0,0},
   168 	};
   169 
   170 
   171 const TInt KNumberRfc1123NonGMTTzTestCases = 45;
   172 const struct TInternetDateTestCase KRfc1123NonGMTTzTestCases[] =
   173 	{
   174 	{_S8("Mon, 21 Jan 2002 00:00:00 EST"), 2002,EJanuary, 19,19,0,0}, //  EST -5
   175 	{_S8("Mon, 21 Jan 2002 23:00:00 EST"), 2002,EJanuary, 20,18,0,0}, //  EST -5 	
   176 	{_S8("Mon, 21 Jan 2002 00:00:00 EDT"), 2002,EJanuary, 19,20,0,0}, //  EDT -4
   177 	{_S8("Mon, 21 Jan 2002 23:00:00 EDT"), 2002,EJanuary, 20,19,0,0}, //  EDT -4 
   178 
   179 	{_S8("Mon, 21 Jan 2002 00:00:00 CST"), 2002,EJanuary, 19,18,0,0}, //  CST -6
   180 	{_S8("Mon, 21 Jan 2002 23:00:00 CST"), 2002,EJanuary, 20,17,0,0}, //  CST -6 
   181 	{_S8("Mon, 21 Jan 2002 00:00:00 CDT"), 2002,EJanuary, 19,19,0,0}, //  CDT -5
   182 	{_S8("Mon, 21 Jan 2002 23:00:00 CDT"), 2002,EJanuary, 20,18,0,0}, //  CDT -5 
   183 
   184 	{_S8("Mon, 21 Jan 2002 00:00:00 MST"), 2002,EJanuary, 19,17,0,0}, //  MST -7
   185 	{_S8("Mon, 21 Jan 2002 23:00:00 MST"), 2002,EJanuary, 20,16,0,0}, //  MST -7 
   186 	{_S8("Mon, 21 Jan 2002 00:00:00 MDT"), 2002,EJanuary, 19,18,0,0}, //  MDT -6
   187 	{_S8("Mon, 21 Jan 2002 23:00:00 MDT"), 2002,EJanuary, 20,17,0,0}, //  MDT -6 
   188 	
   189 	{_S8("Mon, 21 Jan 2002 00:00:00 PST"), 2002,EJanuary, 19,16,0,0}, //  PST -8
   190 	{_S8("Mon, 21 Jan 2002 23:00:00 PST"), 2002,EJanuary, 20,15,0,0}, //  PST -8 
   191 	{_S8("Mon, 21 Jan 2002 00:00:00 PDT"), 2002,EJanuary, 19,17,0,0}, //  PDT -7
   192 	{_S8("Mon, 21 Jan 2002 23:00:00 PDT"), 2002,EJanuary, 20,16,0,0}, //  PDT -7 
   193 
   194 	{_S8("Mon, 21 Jan 2002 00:00:00 UT"), 2002,EJanuary, 20,0,0,0},   //  UT = GMT	
   195 	{_S8("Mon, 21 Jan 2002 23:00:00 UT"), 2002,EJanuary, 20,23,0,0},  //  UT = GMT
   196 	{_S8("Mon, 21 Jan 2002 00:00:00 GMT"), 2002,EJanuary, 20,0,0,0},  //  GMT	
   197 	{_S8("Mon, 21 Jan 2002 23:00:00 GMT"), 2002,EJanuary, 20,23,0,0}, //  GMT
   198 	
   199 	// Military Time Zones (All these should be considered equivalent to GMT)
   200 	{_S8("Mon, 21 Jan 2002 00:00:00 A"), 2002,EJanuary, 20,0,0,0}, //  A	
   201 	{_S8("Mon, 21 Jan 2002 00:00:00 B"), 2002,EJanuary, 20,0,0,0}, //  B	
   202 	{_S8("Mon, 21 Jan 2002 00:00:00 C"), 2002,EJanuary, 20,0,0,0}, //  C	
   203 	{_S8("Mon, 21 Jan 2002 00:00:00 D"), 2002,EJanuary, 20,0,0,0}, //  D	
   204 	{_S8("Mon, 21 Jan 2002 00:00:00 E"), 2002,EJanuary, 20,0,0,0}, //  E	
   205 	{_S8("Mon, 21 Jan 2002 00:00:00 F"), 2002,EJanuary, 20,0,0,0}, //  F	
   206 	{_S8("Mon, 21 Jan 2002 00:00:00 G"), 2002,EJanuary, 20,0,0,0}, //  G	
   207 	{_S8("Mon, 21 Jan 2002 00:00:00 H"), 2002,EJanuary, 20,0,0,0}, //  H
   208 	{_S8("Mon, 21 Jan 2002 00:00:00 I"), 2002,EJanuary, 20,0,0,0}, //  I	
   209 	{_S8("Mon, 21 Jan 2002 00:00:00 K"), 2002,EJanuary, 20,0,0,0}, //  K
   210 	{_S8("Mon, 21 Jan 2002 00:00:00 L"), 2002,EJanuary, 20,0,0,0}, //  L
   211 	{_S8("Mon, 21 Jan 2002 00:00:00 M"), 2002,EJanuary, 20,0,0,0}, //  M
   212 	{_S8("Mon, 21 Jan 2002 00:00:00 Z"), 2002,EJanuary, 20,0,0,0}, //  Z
   213 	{_S8("Mon, 21 Jan 2002 00:00:00 N"), 2002,EJanuary, 20,0,0,0}, //  N
   214 	{_S8("Mon, 21 Jan 2002 00:00:00 O"), 2002,EJanuary, 20,0,0,0}, //  O
   215 	{_S8("Mon, 21 Jan 2002 00:00:00 P"), 2002,EJanuary, 20,0,0,0}, //  P
   216 	{_S8("Mon, 21 Jan 2002 00:00:00 Q"), 2002,EJanuary, 20,0,0,0}, //  Q
   217 	{_S8("Mon, 21 Jan 2002 00:00:00 R"), 2002,EJanuary, 20,0,0,0}, //  R
   218 	{_S8("Mon, 21 Jan 2002 00:00:00 S"), 2002,EJanuary, 20,0,0,0}, //  S
   219 	{_S8("Mon, 21 Jan 2002 00:00:00 T"), 2002,EJanuary, 20,0,0,0}, //  T
   220 	{_S8("Mon, 21 Jan 2002 00:00:00 U"), 2002,EJanuary, 20,0,0,0}, //  U
   221 	{_S8("Mon, 21 Jan 2002 00:00:00 V"), 2002,EJanuary, 20,0,0,0}, //  V
   222 	{_S8("Mon, 21 Jan 2002 00:00:00 W"), 2002,EJanuary, 20,0,0,0}, //  W
   223 	{_S8("Mon, 21 Jan 2002 00:00:00 X"), 2002,EJanuary, 20,0,0,0}, //  X
   224 	{_S8("Mon, 21 Jan 2002 00:00:00 Y"), 2002,EJanuary, 20,0,0,0}  //  Z
   225 	};
   226 
   227 const TInt KNumberRfc850NonGMTTzTestCases = 45;
   228 const struct TInternetDateTestCase KRfc850NonGMTTzTestCases[] =
   229 	{
   230 	{_S8("Mon, 21-Jan-02 00:00:00 EST"), 2002,EJanuary, 19,19,0,0}, //  EST -5
   231 	{_S8("Mon, 21-Jan-02 23:00:00 EST"), 2002,EJanuary, 20,18,0,0}, //  EST -5 	
   232 	{_S8("Mon, 21-Jan-02 00:00:00 EDT"), 2002,EJanuary, 19,20,0,0}, //  EDT -4
   233 	{_S8("Mon, 21-Jan-02 23:00:00 EDT"), 2002,EJanuary, 20,19,0,0}, //  EDT -4 
   234 
   235 	{_S8("Mon, 21-Jan-02 00:00:00 CST"), 2002,EJanuary, 19,18,0,0}, //  CST -6
   236 	{_S8("Mon, 21-Jan-02 23:00:00 CST"), 2002,EJanuary, 20,17,0,0}, //  CST -6 
   237 	{_S8("Mon, 21-Jan-02 00:00:00 CDT"), 2002,EJanuary, 19,19,0,0}, //  CDT -5
   238 	{_S8("Mon, 21-Jan-02 23:00:00 CDT"), 2002,EJanuary, 20,18,0,0}, //  CDT -5 
   239 
   240 	{_S8("Mon, 21-Jan-02 00:00:00 MST"), 2002,EJanuary, 19,17,0,0}, //  MST -7
   241 	{_S8("Mon, 21-Jan-02 23:00:00 MST"), 2002,EJanuary, 20,16,0,0}, //  MST -7 
   242 	{_S8("Mon, 21-Jan-02 00:00:00 MDT"), 2002,EJanuary, 19,18,0,0}, //  MDT -6
   243 	{_S8("Mon, 21-Jan-02 23:00:00 MDT"), 2002,EJanuary, 20,17,0,0}, //  MDT -6 
   244 	
   245 	{_S8("Mon, 21-Jan-02 00:00:00 PST"), 2002,EJanuary, 19,16,0,0}, //  PST -8
   246 	{_S8("Mon, 21-Jan-02 23:00:00 PST"), 2002,EJanuary, 20,15,0,0}, //  PST -8 
   247 	{_S8("Mon, 21-Jan-02 00:00:00 PDT"), 2002,EJanuary, 19,17,0,0}, //  PDT -7
   248 	{_S8("Mon, 21-Jan-02 23:00:00 PDT"), 2002,EJanuary, 20,16,0,0}, //  PDT -7 
   249 
   250 	{_S8("Mon, 21-Jan-02 00:00:00 UT"), 2002,EJanuary, 20,0,0,0},   //  UT = GMT	
   251 	{_S8("Mon, 21-Jan-02 23:00:00 UT"), 2002,EJanuary, 20,23,0,0},  //  UT = GMT
   252 	{_S8("Mon, 21-Jan-02 00:00:00 GMT"), 2002,EJanuary, 20,0,0,0},  //  GMT	
   253 	{_S8("Mon, 21-Jan-02 23:00:00 GMT"), 2002,EJanuary, 20,23,0,0}, //  GMT
   254 	
   255 	// Military Time Zones (All these should be considered equivalent to GMT)
   256 	{_S8("Mon, 21-Jan-02 00:00:00 A"), 2002,EJanuary, 20,0,0,0}, //  A	
   257 	{_S8("Mon, 21-Jan-02 00:00:00 B"), 2002,EJanuary, 20,0,0,0}, //  B	
   258 	{_S8("Mon, 21-Jan-02 00:00:00 C"), 2002,EJanuary, 20,0,0,0}, //  C	
   259 	{_S8("Mon, 21-Jan-02 00:00:00 D"), 2002,EJanuary, 20,0,0,0}, //  D	
   260 	{_S8("Mon, 21-Jan-02 00:00:00 E"), 2002,EJanuary, 20,0,0,0}, //  E	
   261 	{_S8("Mon, 21-Jan-02 00:00:00 F"), 2002,EJanuary, 20,0,0,0}, //  F	
   262 	{_S8("Mon, 21-Jan-02 00:00:00 G"), 2002,EJanuary, 20,0,0,0}, //  G	
   263 	{_S8("Mon, 21-Jan-02 00:00:00 H"), 2002,EJanuary, 20,0,0,0}, //  H
   264 	{_S8("Mon, 21-Jan-02 00:00:00 I"), 2002,EJanuary, 20,0,0,0}, //  I	
   265 	{_S8("Mon, 21-Jan-02 00:00:00 K"), 2002,EJanuary, 20,0,0,0}, //  K
   266 	{_S8("Mon, 21-Jan-02 00:00:00 L"), 2002,EJanuary, 20,0,0,0}, //  L
   267 	{_S8("Mon, 21-Jan-02 00:00:00 M"), 2002,EJanuary, 20,0,0,0}, //  M
   268 	{_S8("Mon, 21-Jan-02 00:00:00 Z"), 2002,EJanuary, 20,0,0,0}, //  Z
   269 	{_S8("Mon, 21-Jan-02 00:00:00 N"), 2002,EJanuary, 20,0,0,0}, //  N
   270 	{_S8("Mon, 21-Jan-02 00:00:00 O"), 2002,EJanuary, 20,0,0,0}, //  O
   271 	{_S8("Mon, 21-Jan-02 00:00:00 P"), 2002,EJanuary, 20,0,0,0}, //  P
   272 	{_S8("Mon, 21-Jan-02 00:00:00 Q"), 2002,EJanuary, 20,0,0,0}, //  Q
   273 	{_S8("Mon, 21-Jan-02 00:00:00 R"), 2002,EJanuary, 20,0,0,0}, //  R
   274 	{_S8("Mon, 21-Jan-02 00:00:00 S"), 2002,EJanuary, 20,0,0,0}, //  S
   275 	{_S8("Mon, 21-Jan-02 00:00:00 T"), 2002,EJanuary, 20,0,0,0}, //  T
   276 	{_S8("Mon, 21-Jan-02 00:00:00 U"), 2002,EJanuary, 20,0,0,0}, //  U
   277 	{_S8("Mon, 21-Jan-02 00:00:00 V"), 2002,EJanuary, 20,0,0,0}, //  V
   278 	{_S8("Mon, 21-Jan-02 00:00:00 W"), 2002,EJanuary, 20,0,0,0}, //  W
   279 	{_S8("Mon, 21-Jan-02 00:00:00 X"), 2002,EJanuary, 20,0,0,0}, //  X
   280 	{_S8("Mon, 21-Jan-02 00:00:00 Y"), 2002,EJanuary, 20,0,0,0}  //  Z
   281 	};
   282 
   283 const TInt KNumberRfc1123MisformedTestCases = 8;
   284 const struct TInternetDateTestCase KRfc1123MisformedTestCases[] =
   285 	{
   286 	// Test whitespace parsing first, even though these should be in a predefined format
   287 	// Whitespace between 21 Jan 2002 MUST be 1 space or -
   288 	{_S8("Mon, 21 Jan 2002 00:00:00 ZDT"), 2002,EJanuary, 20,0,0,0},	// Invalid Tz Should be 0 offset
   289 	{_S8("   Mon, 21 Jan 2002 00:00:00 GMT"), 2002,EJanuary, 20,0,0,0},
   290 	{_S8("Mon,    21 Jan 2002 00:00:00 GMT"), 2002,EJanuary, 20,0,0,0},
   291 	{_S8("Mon, 21 Jan 2002    00:00:00 GMT"), 2002,EJanuary, 20,0,0,0},
   292 	{_S8("Mon, 21 Jan 2002 00:00:00    GMT"), 2002,EJanuary, 20,0,0,0},
   293 	{_S8("Mon, 21 Jan 2002 00:00:00 GMT   "), 2002,EJanuary, 20,0,0,0},
   294 
   295 	{_S8("Mon, 21 Jan 2002 00:00:00 J"), 2002,EJanuary, 20,0,0,0},		// Should ignore military time zone anyway
   296 	{_S8("Mon, 21 Jan 2002 00:00:00 ZST"), 2002,EJanuary, 20,0,0,0} 	// Invalid Tz Should be 0 offset
   297 	};
   298 
   299 
   300 const TInt KNumberRfc850MisformedTestCases = 8;
   301 const struct TInternetDateTestCase KRfc850MisformedTestCases[] =
   302 	{
   303 	// Test whitespace parsing first, even though these should be in a predefined format
   304 	// Whitespace between 21 Jan 2002 MUST be 1 space or -
   305 	{_S8("   Mon, 21-Jan-02 00:00:00 GMT"), 2002,EJanuary, 20,0,0,0},
   306 	{_S8("Mon,    21-Jan-02 00:00:00 GMT"), 2002,EJanuary, 20,0,0,0},
   307 	{_S8("Mon, 21-Jan-02    00:00:00 GMT"), 2002,EJanuary, 20,0,0,0},
   308 	{_S8("Mon, 21-Jan-02 00:00:00    GMT"), 2002,EJanuary, 20,0,0,0},
   309 	{_S8("Mon, 21-Jan-02 00:00:00 GMT   "), 2002,EJanuary, 20,0,0,0},
   310 
   311 	{_S8("Mon, 21-Jan-02 00:00:00 J"), 2002,EJanuary, 20,0,0,0},		// Should ignore military time zone anyway
   312 	{_S8("Mon, 21-Jan-02 00:00:00 ZST"), 2002,EJanuary, 20,0,0,0},	// Invalid Tz Should be 0 offset
   313 	{_S8("Mon, 21-Jan-02 00:00:00 ZDT"), 2002,EJanuary, 20,0,0,0}	// Invalid Tz Should be 0 offset
   314 	};
   315 
   316 const TInt KNumberRfc1123TimeOffsetTzTestCases = 64;
   317 const struct TInternetDateTestCase KRfc1123TimeOffsetTzTestCases[] =
   318 	{
   319 	{_S8("Mon, 21 Jan 2002 00:00:00 +2359"), 2002,EJanuary, 20,23,59,0},	//  +2359	
   320 	{_S8("Mon, 21 Jan 2002 23:00:00 +2359"), 2002,EJanuary, 21,22,59,0},	//  +2359
   321 	{_S8("Mon, 21 Jan 2002 00:00:00 +2400"), 2002,EJanuary, 20,0,0,0},		//  +2400  Max offset should be +2359
   322 	{_S8("Mon, 21 Jan 2002 23:00:00 +2400"), 2002,EJanuary, 20,23,0,0},		//  +2400  Max offset should be +2359
   323 	{_S8("Mon, 21 Jan 2002 00:00:00 +0060"), 2002,EJanuary, 20,0,0,0},		//  +0060  Max min offset is 59
   324 	{_S8("Mon, 21 Jan 2002 23:00:00 +0060"), 2002,EJanuary, 20,23,0,0},		//  +0060  Max min offset is 59
   325 	{_S8("Mon, 21 Jan 2002 00:00:00 +0000"), 2002,EJanuary, 20,0,0,0},		//  +0000	
   326 	{_S8("Mon, 21 Jan 2002 23:00:00 -0000"), 2002,EJanuary, 20,23,0,0},		//  -0000
   327 	{_S8("Mon, 21 Jan 2002 00:00:00 +0100"), 2002,EJanuary, 20,1,0,0},		//  +0100	
   328 	{_S8("Mon, 21 Jan 2002 23:00:00 +0105"), 2002,EJanuary, 21,0,5,0},		//  +0105
   329 
   330 	{_S8("Mon, 21 Jan 2002 00:00:00 +0200"), 2002,EJanuary, 20,2,0,0},		//  +0200	
   331 	{_S8("Mon, 21 Jan 2002 23:00:00 +0210"), 2002,EJanuary, 21,1,10,0},		//  +0210
   332 	{_S8("Mon, 21 Jan 2002 00:00:00 +0300"), 2002,EJanuary, 20,3,0,0},		//  +0300	
   333 	{_S8("Mon, 21 Jan 2002 23:00:00 +0359"), 2002,EJanuary, 21,2,59,0},		//  +0359
   334 	
   335 	{_S8("Mon, 21 Jan 2002 00:00:00 +0400"), 2002,EJanuary, 20,4,0,0},		//  +0400	
   336 	{_S8("Mon, 21 Jan 2002 23:00:00 +0400"), 2002,EJanuary, 21,3,0,0},		//  +0400
   337 	{_S8("Mon, 21 Jan 2002 00:00:00 +0500"), 2002,EJanuary, 20,5,0,0},		//  +0500	
   338 	{_S8("Mon, 21 Jan 2002 23:00:00 +0500"), 2002,EJanuary, 21,4,0,0},		//  +0500
   339 	{_S8("Mon, 21 Jan 2002 00:00:00 +0600"), 2002,EJanuary, 20,6,0,0},		//  +0600	
   340 	{_S8("Mon, 21 Jan 2002 23:00:00 +0600"), 2002,EJanuary, 21,5,0,0},		//  +0600
   341 	{_S8("Mon, 21 Jan 2002 00:00:00 +0700"), 2002,EJanuary, 20,7,0,0},		//  +0700	
   342 	{_S8("Mon, 21 Jan 2002 23:00:00 +0700"), 2002,EJanuary, 21,6,0,0},		//  +0700
   343 	{_S8("Mon, 21 Jan 2002 00:00:00 +0800"), 2002,EJanuary, 20,8,0,0},		//  +0800	
   344 	{_S8("Mon, 21 Jan 2002 23:00:00 +0800"), 2002,EJanuary, 21,7,0,0},		//  +0800
   345 
   346 	{_S8("Mon, 21 Jan 2002 00:00:00 +0900"), 2002,EJanuary, 20,9,0,0},		//  +0900	
   347 	{_S8("Mon, 21 Jan 2002 23:00:00 +0900"), 2002,EJanuary, 21,8,0,0},		//  +0900
   348 	{_S8("Mon, 21 Jan 2002 00:00:00 +1000"), 2002,EJanuary, 20,10,0,0},		//  +1000	
   349 	{_S8("Mon, 21 Jan 2002 23:00:00 +1000"), 2002,EJanuary, 21,9,0,0},		//  +1000	
   350 	{_S8("Mon, 21 Jan 2002 00:00:00 +1100"), 2002,EJanuary, 20,11,0,0},		//  +1100	
   351 	{_S8("Mon, 21 Jan 2002 23:00:00 +1100"), 2002,EJanuary, 21,10,0,0},		//  +1100
   352 	{_S8("Mon, 21 Jan 2002 00:00:00 +1200"), 2002,EJanuary, 20,12,0,0},		//  +1200	
   353 	{_S8("Mon, 21 Jan 2002 23:00:00 +1200"), 2002,EJanuary, 21,11,0,0},		//  +1200
   354 	// Now same tests but with negative offsets
   355 	{_S8("Mon, 21 Jan 2002 00:00:00 -2359"), 2002,EJanuary, 19,00,01,0},	//  -2359	
   356 	{_S8("Mon, 21 Jan 2002 23:00:00 -2359"), 2002,EJanuary, 19,23,01,0},	//  -2359
   357 	
   358 	{_S8("Mon, 21 Jan 2002 00:00:00 -2400"), 2002,EJanuary, 20,0,0,0},		//  -2400  Min offset should be -2359
   359 	{_S8("Mon, 21 Jan 2002 23:00:00 -2400"), 2002,EJanuary, 20,23,0,0},		//  -2400  Min offset should be -2359
   360 	{_S8("Mon, 21 Jan 2002 00:00:00 -0060"), 2002,EJanuary, 20,0,0,0},		//  -0060  Min min offset is -59
   361 	{_S8("Mon, 21 Jan 2002 23:00:00 -0060"), 2002,EJanuary, 20,23,0,0},		//  -0060  Min min offset is -59
   362 	{_S8("Mon, 21 Jan 2002 00:00:00 -0000"), 2002,EJanuary, 20,0,0,0},		//  -0000	
   363 	{_S8("Mon, 21 Jan 2002 23:00:00 -0000"), 2002,EJanuary, 20,23,0,0},		//  -0000
   364 	{_S8("Mon, 21 Jan 2002 00:00:00 -0100"), 2002,EJanuary, 19,23,0,0},		//  -0100	
   365 	{_S8("Mon, 21 Jan 2002 23:00:00 -0105"), 2002,EJanuary, 20,21,55,0},	//  -0105
   366 	{_S8("Mon, 21 Jan 2002 00:00:00 -0200"), 2002,EJanuary, 19,22,0,0},		//  -0200	
   367 	{_S8("Mon, 21 Jan 2002 23:00:00 -0210"), 2002,EJanuary, 20,20,50,0},	//  -0210
   368 	
   369 	{_S8("Mon, 21 Jan 2002 00:00:00 -0300"), 2002,EJanuary, 19,21,0,0},		//  -0300	
   370 	{_S8("Mon, 21 Jan 2002 23:00:00 -0359"), 2002,EJanuary, 20,19,01,0},	//  -0359
   371 	{_S8("Mon, 21 Jan 2002 00:00:00 -0400"), 2002,EJanuary, 19,20,0,0},		//  -0400	
   372 	{_S8("Mon, 21 Jan 2002 23:00:00 -0400"), 2002,EJanuary, 20,19,0,0},		//  -0400
   373 	{_S8("Mon, 21 Jan 2002 00:00:00 -0500"), 2002,EJanuary, 19,19,0,0},		//  -0500	
   374 	{_S8("Mon, 21 Jan 2002 23:00:00 -0500"), 2002,EJanuary, 20,18,0,0},		//  -0500
   375 	{_S8("Mon, 21 Jan 2002 00:00:00 -0600"), 2002,EJanuary, 19,18,0,0},		//  -0600	
   376 	{_S8("Mon, 21 Jan 2002 23:00:00 -0600"), 2002,EJanuary, 20,17,0,0},		//  -0600
   377 	{_S8("Mon, 21 Jan 2002 00:00:00 -0700"), 2002,EJanuary, 19,17,0,0},		//  -0700	
   378 	{_S8("Mon, 21 Jan 2002 23:00:00 -0700"), 2002,EJanuary, 20,16,0,0},		//  -0700
   379 
   380 	{_S8("Mon, 21 Jan 2002 00:00:00 -0800"), 2002,EJanuary, 19,16,0,0},		//  -0800	
   381 	{_S8("Mon, 21 Jan 2002 23:00:00 -0800"), 2002,EJanuary, 20,15,0,0},		//  -0800
   382 	{_S8("Mon, 21 Jan 2002 00:00:00 -0900"), 2002,EJanuary, 19,15,0,0},		//  -0900	
   383 	{_S8("Mon, 21 Jan 2002 23:00:00 -0900"), 2002,EJanuary, 20,14,0,0},		//  -0900
   384 	{_S8("Mon, 21 Jan 2002 00:00:00 -1000"), 2002,EJanuary, 19,14,0,0},		//  -1000	
   385 	{_S8("Mon, 21 Jan 2002 23:00:00 -1000"), 2002,EJanuary, 20,13,0,0},		//  -1000	
   386 	{_S8("Mon, 21 Jan 2002 00:00:00 -1100"), 2002,EJanuary, 19,13,0,0},		//  -1100	
   387 	{_S8("Mon, 21 Jan 2002 23:00:00 -1100"), 2002,EJanuary, 20,12,0,0},		//  -1100
   388 	{_S8("Mon, 21 Jan 2002 00:00:00 -1200"), 2002,EJanuary, 19,12,0,0},		//  -1200	
   389 	{_S8("Mon, 21 Jan 2002 23:00:00 -1200"), 2002,EJanuary, 20,11,0,0}		//  -1200
   390 	};
   391 
   392 const TInt KNumberRfc850TimeOffsetTzTestCases = 64;
   393 const struct TInternetDateTestCase KRfc850TimeOffsetTzTestCases[] =
   394 	{
   395 	{_S8("Mon, 21-Jan-02 00:00:00 +2359"), 2002,EJanuary, 20,23,59,0},	//  +2359	
   396 	{_S8("Mon, 21-Jan-02 23:00:00 +2359"), 2002,EJanuary, 21,22,59,0},	//  +2359
   397 	{_S8("Mon, 21-Jan-02 00:00:00 +2400"), 2002,EJanuary, 20,0,0,0},		//  +2400  Max offset should be +2359
   398 	{_S8("Mon, 21-Jan-02 23:00:00 +2400"), 2002,EJanuary, 20,23,0,0},		//  +2400  Max offset should be +2359
   399 	{_S8("Mon, 21-Jan-02 00:00:00 +0060"), 2002,EJanuary, 20,0,0,0},		//  +0060  Max min offset is 59
   400 	{_S8("Mon, 21-Jan-02 23:00:00 +0060"), 2002,EJanuary, 20,23,0,0},		//  +0060  Max min offset is 59
   401 
   402 	{_S8("Mon, 21-Jan-02 00:00:00 +0000"), 2002,EJanuary, 20,0,0,0},		//  +0000	
   403 	{_S8("Mon, 21-Jan-02 23:00:00 -0000"), 2002,EJanuary, 20,23,0,0},		//  -0000
   404 	{_S8("Mon, 21-Jan-02 00:00:00 +0100"), 2002,EJanuary, 20,1,0,0},		//  +0100	
   405 	{_S8("Mon, 21-Jan-02 23:00:00 +0105"), 2002,EJanuary, 21,0,5,0},		//  +0105
   406 	{_S8("Mon, 21-Jan-02 00:00:00 +0200"), 2002,EJanuary, 20,2,0,0},		//  +0200	
   407 	{_S8("Mon, 21-Jan-02 23:00:00 +0210"), 2002,EJanuary, 21,1,10,0},		//  +0210
   408 	{_S8("Mon, 21-Jan-02 00:00:00 +0300"), 2002,EJanuary, 20,3,0,0},		//  +0300	
   409 	{_S8("Mon, 21-Jan-02 23:00:00 +0359"), 2002,EJanuary, 21,2,59,0},		//  +0359
   410 	{_S8("Mon, 21-Jan-02 00:00:00 +0400"), 2002,EJanuary, 20,4,0,0},		//  +0400	
   411 	{_S8("Mon, 21-Jan-02 23:00:00 +0400"), 2002,EJanuary, 21,3,0,0},		//  +0400
   412 	{_S8("Mon, 21-Jan-02 00:00:00 +0500"), 2002,EJanuary, 20,5,0,0},		//  +0500	
   413 	{_S8("Mon, 21-Jan-02 23:00:00 +0500"), 2002,EJanuary, 21,4,0,0},		//  +0500
   414 	{_S8("Mon, 21-Jan-02 00:00:00 +0600"), 2002,EJanuary, 20,6,0,0},		//  +0600	
   415 	{_S8("Mon, 21-Jan-02 23:00:00 +0600"), 2002,EJanuary, 21,5,0,0},		//  +0600
   416 	{_S8("Mon, 21-Jan-02 00:00:00 +0700"), 2002,EJanuary, 20,7,0,0},		//  +0700	
   417 	{_S8("Mon, 21-Jan-02 23:00:00 +0700"), 2002,EJanuary, 21,6,0,0},		//  +0700
   418 	{_S8("Mon, 21-Jan-02 00:00:00 +0800"), 2002,EJanuary, 20,8,0,0},		//  +0800	
   419 	{_S8("Mon, 21-Jan-02 23:00:00 +0800"), 2002,EJanuary, 21,7,0,0},		//  +0800
   420 	{_S8("Mon, 21-Jan-02 00:00:00 +0900"), 2002,EJanuary, 20,9,0,0},		//  +0900	
   421 	{_S8("Mon, 21-Jan-02 23:00:00 +0900"), 2002,EJanuary, 21,8,0,0},		//  +0900
   422 	{_S8("Mon, 21-Jan-02 00:00:00 +1000"), 2002,EJanuary, 20,10,0,0},		//  +1000	
   423 	{_S8("Mon, 21-Jan-02 23:00:00 +1000"), 2002,EJanuary, 21,9,0,0},		//  +1000	
   424 	{_S8("Mon, 21-Jan-02 00:00:00 +1100"), 2002,EJanuary, 20,11,0,0},		//  +1100	
   425 	{_S8("Mon, 21-Jan-02 23:00:00 +1100"), 2002,EJanuary, 21,10,0,0},		//  +1100
   426 	{_S8("Mon, 21-Jan-02 00:00:00 +1200"), 2002,EJanuary, 20,12,0,0},		//  +1200	
   427 	{_S8("Mon, 21-Jan-02 23:00:00 +1200"), 2002,EJanuary, 21,11,0,0},		//  +1200
   428 	
   429 	// Now same tests but with negative offsets
   430 	{_S8("Mon, 21-Jan-02 00:00:00 -2359"), 2002,EJanuary, 19,00,01,0},	//  -2359	
   431 	{_S8("Mon, 21-Jan-02 23:00:00 -2359"), 2002,EJanuary, 19,23,01,0},	//  -2359
   432 	{_S8("Mon, 21-Jan-02 00:00:00 -2400"), 2002,EJanuary, 20,0,0,0},		//  -2400  Min offset should be -2359
   433 	{_S8("Mon, 21-Jan-02 23:00:00 -2400"), 2002,EJanuary, 20,23,0,0},		//  -2400  Min offset should be -2359
   434 	{_S8("Mon, 21-Jan-02 00:00:00 -0060"), 2002,EJanuary, 20,0,0,0},		//  -0060  Min min offset is -59
   435 	{_S8("Mon, 21-Jan-02 23:00:00 -0060"), 2002,EJanuary, 20,23,0,0},		//  -0060  Min min offset is -59
   436 
   437 	{_S8("Mon, 21-Jan-02 00:00:00 -0000"), 2002,EJanuary, 20,0,0,0},		//  -0000	
   438 	{_S8("Mon, 21-Jan-02 23:00:00 -0000"), 2002,EJanuary, 20,23,0,0},		//  -0000
   439 	{_S8("Mon, 21-Jan-02 00:00:00 -0100"), 2002,EJanuary, 19,23,0,0},		//  -0100	
   440 	{_S8("Mon, 21-Jan-02 23:00:00 -0105"), 2002,EJanuary, 20,21,55,0},	//  -0105
   441 	{_S8("Mon, 21-Jan-02 00:00:00 -0200"), 2002,EJanuary, 19,22,0,0},		//  -0200	
   442 	{_S8("Mon, 21-Jan-02 23:00:00 -0210"), 2002,EJanuary, 20,20,50,0},	//  -0210
   443 	{_S8("Mon, 21-Jan-02 00:00:00 -0300"), 2002,EJanuary, 19,21,0,0},		//  -0300	
   444 	{_S8("Mon, 21-Jan-02 23:00:00 -0359"), 2002,EJanuary, 20,19,01,0},	//  -0359
   445 	{_S8("Mon, 21-Jan-02 00:00:00 -0400"), 2002,EJanuary, 19,20,0,0},		//  -0400	
   446 	{_S8("Mon, 21-Jan-02 23:00:00 -0400"), 2002,EJanuary, 20,19,0,0},		//  -0400
   447 	{_S8("Mon, 21-Jan-02 00:00:00 -0500"), 2002,EJanuary, 19,19,0,0},		//  -0500	
   448 	{_S8("Mon, 21-Jan-02 23:00:00 -0500"), 2002,EJanuary, 20,18,0,0},		//  -0500
   449 	{_S8("Mon, 21-Jan-02 00:00:00 -0600"), 2002,EJanuary, 19,18,0,0},		//  -0600	
   450 	{_S8("Mon, 21-Jan-02 23:00:00 -0600"), 2002,EJanuary, 20,17,0,0},		//  -0600
   451 	{_S8("Mon, 21-Jan-02 00:00:00 -0700"), 2002,EJanuary, 19,17,0,0},		//  -0700	
   452 	{_S8("Mon, 21-Jan-02 23:00:00 -0700"), 2002,EJanuary, 20,16,0,0},		//  -0700
   453 	{_S8("Mon, 21-Jan-02 00:00:00 -0800"), 2002,EJanuary, 19,16,0,0},		//  -0800	
   454 	{_S8("Mon, 21-Jan-02 23:00:00 -0800"), 2002,EJanuary, 20,15,0,0},		//  -0800
   455 	{_S8("Mon, 21-Jan-02 00:00:00 -0900"), 2002,EJanuary, 19,15,0,0},		//  -0900	
   456 	{_S8("Mon, 21-Jan-02 23:00:00 -0900"), 2002,EJanuary, 20,14,0,0},		//  -0900
   457 	{_S8("Mon, 21-Jan-02 00:00:00 -1000"), 2002,EJanuary, 19,14,0,0},		//  -1000	
   458 	{_S8("Mon, 21-Jan-02 23:00:00 -1000"), 2002,EJanuary, 20,13,0,0},		//  -1000	
   459 	{_S8("Mon, 21-Jan-02 00:00:00 -1100"), 2002,EJanuary, 19,13,0,0},		//  -1100	
   460 	{_S8("Mon, 21-Jan-02 23:00:00 -1100"), 2002,EJanuary, 20,12,0,0},		//  -1100
   461 	{_S8("Mon, 21-Jan-02 00:00:00 -1200"), 2002,EJanuary, 19,12,0,0},		//  -1200	
   462 	{_S8("Mon, 21-Jan-02 23:00:00 -1200"), 2002,EJanuary, 20,11,0,0}		//  -1200
   463 	};
   464 
   465 
   466 const TInt KInvalidTimeNumTests=46;
   467 static const TBuf8<50> KInvalidTimeTestCases[]=
   468 	{
   469 	_L8("Mon,"),
   470     _L8("Mon, "),
   471     _L8("Mon, 14"),
   472     _L8("Mon, 14 "),
   473     _L8("Mon, Oct "),
   474     _L8("Mon, 14 Oct"),
   475     _L8("Mon, 14 Oct 2002"),
   476     _L8("Mon, 14 Oct 2002 12"), 
   477     _L8("Mon, 14 Oct 2002 12:00:00"), 
   478     _L8("Mon, 14 Oct 2002 12:00:00 GMT"),
   479     _L8("Mon, 32 Oct 2002 12:00:00 GMT"),
   480     _L8("Mon, 14 Aaa 2002 12:00:00 GMT"),
   481     _L8("Mon, 14 Oct 1969 12:00:00 GMT"),
   482     _L8("Mon, 14 Oct 2002 25:00:00 GMT"),
   483     _L8("Mon, 14 Oct 2002 12:99:00 GMT"),
   484     _L8("Mon, 14 Oct 2002 12:00:99 GMT"),
   485     _L8("Mon, 14 Oct 2002 12:00:00 GMT"),
   486     _L8("Mon, 14 Oct 2002 12:00:00 \" ( 32 x \"a\")"),
   487     _L8("Mon, 14 Oct 2002 12:00:00 \" ( 128 x \"a\")"),
   488     _L8("Mon, 14 Oct 2002 12:00:00 \" ( 255 x \"a\")"),
   489     _L8("Mon, 14 Oct 2002 12:00:00 \" ( 256 x \"a\")"),
   490     _L8("Mon, 14 Oct 2002 12:00:00 \" ( 1024 x \"a\")"),
   491     _L8("Mon, 14 Oct 2002 12:00:00 \" ( 4096 x \"a\")"),
   492     _L8("Mon, 14 Oct 2002 12:00:00 \" ( 66000 x \"a\")"),
   493     _L8("Mon, 14 Oct 2002 12:00:00 %s%s%s%s%s%s%s%s"),
   494     _L8("Monday,"),
   495     _L8("Monday, "),
   496     _L8("Monday, 14"),
   497     _L8("Monday, 14-"),
   498     _L8("Monday, 14-Oct"),
   499     _L8("Monday, 14-Oct-"),
   500     _L8("Monday, 14-Oct-02"),
   501     _L8("Monday, 14-Oct-02 12:00:00 "),
   502     _L8("Monday, 14-Oct-02 12:00:00 GMT"),
   503     _L8("Aaaaaa, 14--02 12:00:00 GMT"),
   504     _L8("Monday, 32-Oct-02 12:00:00 GMT"),
   505     _L8("Monday, 14-Aaa-02 12:00:00 GMT"),
   506     _L8("Monday, 14-Oct-50 12:00:00 GMT"),
   507     _L8("Monday, 14-Oct-02 30:00:00 GMT"),
   508     _L8("Monday, 14-Oct-02 12:99:00 GMT"),
   509     _L8("Monday, 14-Oct-02 12:00:99 GMT"),
   510     _L8("Monday, 14-Oct-02 12:00:00 \" ( 32 x \"a\")"),
   511     _L8("Monday, 14-Oct-02 12:00:00 \" ( 255 x \"a\")"),
   512     _L8("Monday, 14-Oct-02 12:00:00 \" ( 256 x \"a\")"),
   513     _L8("Monday, 14-Oct-02 12:00:00 \" ( 66000 x \"a\")"),
   514     _L8("Monday, 14-Oct-02 12:00:00 %s%s%s%s"),
   515 	};
   516 
   517 struct TInternetDateOffsetTestCase
   518 	{
   519 	const TBuf8<50> iTextInput;
   520 	const TBuf8<50> iExpectedOutput;
   521 	};
   522 
   523 const TInt KNumberDEF126191TestCases = 80;
   524 
   525 //{ _L8("Input Date time "), _L8("Expected DateTime") },
   526 static struct TInternetDateOffsetTestCase KDEF126191TestCases[]=
   527 	{
   528 	{ _L8("Thu, 17 Jul 2008 08:04:31 EDT"), _L8("Thu, 17 Jul 2008 12:04:31 GMT") },
   529 	{ _L8("Fri, 18 Nov 2005 09:01:17 -0600"), _L8("Fri, 18 Nov 2005 15:01:17 GMT") },
   530 	{ _L8("Mon, 21 Nov 2005 09:05:01 EST"), _L8("Mon, 21 Nov 2005 14:05:01 GMT") },
   531 	{ _L8("Mon, 21 Jan 2002 00:00:00 +1100"), _L8("Sun, 20 Jan 2002 13:00:00 GMT") },
   532 	{ _L8("Mon, 21 Jan 2002 00:00:00 +2359"), _L8("Sun, 20 Jan 2002 00:01:00 GMT") },
   533 	{ _L8("Mon, 21 Jan 2002 00:00:00 +0059"), _L8("Sun, 20 Jan 2002 23:01:00 GMT") },
   534 	{ _L8("Mon, 21 Jan 2002 00:00:00 +0000"), _L8("Mon, 21 Jan 2002 00:00:00 GMT") },
   535 	{ _L8("Mon, 21 Jan 2002 23:00:00 -0000"), _L8("Mon, 21 Jan 2002 23:00:00 GMT") },
   536 	{ _L8("Mon, 21 Jan 2002 00:00:00 +0100"), _L8("Sun, 20 Jan 2002 23:00:00 GMT") },
   537 	{ _L8("Mon, 21 Jan 2002 23:00:00 +0105"), _L8("Mon, 21 Jan 2002 21:55:00 GMT") },
   538 	{ _L8("Mon, 21 Jan 2002 00:00:00 +0200"), _L8("Sun, 20 Jan 2002 22:00:00 GMT") },
   539 	{ _L8("Mon, 21 Jan 2002 23:00:00 +0210"), _L8("Mon, 21 Jan 2002 20:50:00 GMT") },
   540 	{ _L8("Mon, 21 Jan 2002 00:00:00 +0300"), _L8("Sun, 20 Jan 2002 21:00:00 GMT") },
   541 	{ _L8("Mon, 21 Jan 2002 23:00:00 +0359"), _L8("Mon, 21 Jan 2002 19:01:00 GMT") },
   542 	{ _L8("Mon, 21 Jan 2002 00:00:00 +0400"), _L8("Sun, 20 Jan 2002 20:00:00 GMT") },
   543 	{ _L8("Mon, 21 Jan 2002 23:00:00 +0400"), _L8("Mon, 21 Jan 2002 19:00:00 GMT") },
   544 	{ _L8("Mon, 21 Jan 2002 00:00:00 +0500"), _L8("Sun, 20 Jan 2002 19:00:00 GMT") },
   545 	{ _L8("Mon, 21 Jan 2002 23:00:00 +0500"), _L8("Mon, 21 Jan 2002 18:00:00 GMT") },
   546 	{ _L8("Mon, 21 Jan 2002 00:00:00 +0600"), _L8("Sun, 20 Jan 2002 18:00:00 GMT") },
   547 	{ _L8("Mon, 21 Jan 2002 23:00:00 +0600"), _L8("Mon, 21 Jan 2002 17:00:00 GMT") },
   548 	{ _L8("Mon, 21 Jan 2002 00:00:00 +0700"), _L8("Sun, 20 Jan 2002 17:00:00 GMT") },
   549 	{ _L8("Mon, 21 Jan 2002 23:00:00 +0700"), _L8("Mon, 21 Jan 2002 16:00:00 GMT") },
   550 	{ _L8("Mon, 21 Jan 2002 00:00:00 +0800"), _L8("Sun, 20 Jan 2002 16:00:00 GMT") },
   551 	{ _L8("Mon, 21 Jan 2002 23:00:00 +0800"), _L8("Mon, 21 Jan 2002 15:00:00 GMT") },
   552 	{ _L8("Mon, 21 Jan 2002 00:00:00 +0900"), _L8("Sun, 20 Jan 2002 15:00:00 GMT") },
   553 	{ _L8("Mon, 21 Jan 2002 23:00:00 +0900"), _L8("Mon, 21 Jan 2002 14:00:00 GMT") },
   554 	{ _L8("Mon, 21 Jan 2002 00:00:00 +1000"), _L8("Sun, 20 Jan 2002 14:00:00 GMT") },
   555 	{ _L8("Mon, 21 Jan 2002 23:00:00 +1000"), _L8("Mon, 21 Jan 2002 13:00:00 GMT") },
   556 	{ _L8("Mon, 21 Jan 2002 00:00:00 +1200"), _L8("Sun, 20 Jan 2002 12:00:00 GMT") },
   557 	{ _L8("Mon, 21 Jan 2002 23:00:00 +1200"), _L8("Mon, 21 Jan 2002 11:00:00 GMT") },
   558 	{ _L8("Mon, 21 Jan 2002 00:00:00 -2359"), _L8("Mon, 21 Jan 2002 23:59:00 GMT") },
   559 	{ _L8("Mon, 21 Jan 2002 23:00:00 -2359"), _L8("Tue, 22 Jan 2002 22:59:00 GMT") },
   560 	{ _L8("Mon, 21 Jan 2002 00:00:00 -0059"), _L8("Mon, 21 Jan 2002 00:59:00 GMT") },
   561 	{ _L8("Mon, 21 Jan 2002 23:00:00 -0059"), _L8("Mon, 21 Jan 2002 23:59:00 GMT") },
   562 	{ _L8("Mon, 21 Jan 2002 00:00:00 -0000"), _L8("Mon, 21 Jan 2002 00:00:00 GMT") },
   563 	{ _L8("Mon, 21 Jan 2002 23:00:00 -0000"), _L8("Mon, 21 Jan 2002 23:00:00 GMT") },
   564 	{ _L8("Mon, 21 Jan 2002 00:00:00 -0100"), _L8("Mon, 21 Jan 2002 01:00:00 GMT") },
   565 	{ _L8("Mon, 21 Jan 2002 23:00:00 -0105"), _L8("Tue, 22 Jan 2002 00:05:00 GMT") },
   566 	{ _L8("Mon, 21 Jan 2002 00:00:00 -0200"), _L8("Mon, 21 Jan 2002 02:00:00 GMT") },
   567 	{ _L8("Mon, 21 Jan 2002 23:00:00 -0210"), _L8("Tue, 22 Jan 2002 01:10:00 GMT") },
   568 	{ _L8("Mon, 21 Jan 2002 00:00:00 -0300"), _L8("Mon, 21 Jan 2002 03:00:00 GMT") },
   569 	{ _L8("Mon, 21 Jan 2002 23:00:00 -0359"), _L8("Tue, 22 Jan 2002 02:59:00 GMT") },
   570 	{ _L8("Mon, 21 Jan 2002 00:00:00 -0400"), _L8("Mon, 21 Jan 2002 04:00:00 GMT") },
   571 	{ _L8("Mon, 21 Jan 2002 23:00:00 -0400"), _L8("Tue, 22 Jan 2002 03:00:00 GMT") },
   572 	{ _L8("Mon, 21 Jan 2002 00:00:00 -0500"), _L8("Mon, 21 Jan 2002 05:00:00 GMT") },
   573 	{ _L8("Mon, 21 Jan 2002 23:00:00 -0500"), _L8("Tue, 22 Jan 2002 04:00:00 GMT") },
   574 	{ _L8("Mon, 21 Jan 2002 00:00:00 -0600"), _L8("Mon, 21 Jan 2002 06:00:00 GMT") },
   575 	{ _L8("Mon, 21 Jan 2002 23:00:00 -0600"), _L8("Tue, 22 Jan 2002 05:00:00 GMT") },
   576 	{ _L8("Mon, 21 Jan 2002 00:00:00 -0700"), _L8("Mon, 21 Jan 2002 07:00:00 GMT") },
   577 	{ _L8("Mon, 21 Jan 2002 23:00:00 -0700"), _L8("Tue, 22 Jan 2002 06:00:00 GMT") },
   578 	{ _L8("Mon, 21 Jan 2002 00:00:00 -0800"), _L8("Mon, 21 Jan 2002 08:00:00 GMT") },
   579 	{ _L8("Mon, 21 Jan 2002 23:00:00 -0800"), _L8("Tue, 22 Jan 2002 07:00:00 GMT") },
   580 	{ _L8("Mon, 21 Jan 2002 00:00:00 -0900"), _L8("Mon, 21 Jan 2002 09:00:00 GMT") },
   581 	{ _L8("Mon, 21 Jan 2002 23:00:00 -0900"), _L8("Tue, 22 Jan 2002 08:00:00 GMT") },
   582 	{ _L8("Mon, 21 Jan 2002 00:00:00 -1000"), _L8("Mon, 21 Jan 2002 10:00:00 GMT") },
   583 	{ _L8("Mon, 21 Jan 2002 23:00:00 -1000"), _L8("Tue, 22 Jan 2002 09:00:00 GMT") },
   584 	{ _L8("Mon, 21 Jan 2002 00:00:00 -1100"), _L8("Mon, 21 Jan 2002 11:00:00 GMT") },
   585 	{ _L8("Mon, 21 Jan 2002 23:00:00 -1100"), _L8("Tue, 22 Jan 2002 10:00:00 GMT") },
   586 	{ _L8("Mon, 21 Jan 2002 00:00:00 -1200"), _L8("Mon, 21 Jan 2002 12:00:00 GMT") },
   587 	{ _L8("Mon, 21 Jan 2002 23:00:00 -1200"), _L8("Tue, 22 Jan 2002 11:00:00 GMT") },
   588 	{ _L8("Mon, 21 Jan 2002 00:00:00 EST"), _L8("Mon, 21 Jan 2002 05:00:00 GMT") },
   589 	{ _L8("Mon, 21 Jan 2002 23:00:00 EST"), _L8("Tue, 22 Jan 2002 04:00:00 GMT") },
   590 	{ _L8("Mon, 21 Jan 2002 00:00:00 EDT"), _L8("Mon, 21 Jan 2002 04:00:00 GMT") },
   591 	{ _L8("Mon, 21 Jan 2002 23:00:00 EDT"), _L8("Tue, 22 Jan 2002 03:00:00 GMT") },
   592 	{ _L8("Mon, 21 Jan 2002 00:00:00 CST"), _L8("Mon, 21 Jan 2002 06:00:00 GMT") },
   593 	{ _L8("Mon, 21 Jan 2002 23:00:00 CST"), _L8("Tue, 22 Jan 2002 05:00:00 GMT") },
   594 	{ _L8("Mon, 21 Jan 2002 00:00:00 CDT"), _L8("Mon, 21 Jan 2002 05:00:00 GMT") },
   595 	{ _L8("Mon, 21 Jan 2002 23:00:00 CDT"), _L8("Tue, 22 Jan 2002 04:00:00 GMT") },
   596 	{ _L8("Mon, 21 Jan 2002 00:00:00 MST"), _L8("Mon, 21 Jan 2002 07:00:00 GMT") },
   597 	{ _L8("Mon, 21 Jan 2002 23:00:00 MST"), _L8("Tue, 22 Jan 2002 06:00:00 GMT") },
   598 	{ _L8("Mon, 21 Jan 2002 00:00:00 MDT"), _L8("Mon, 21 Jan 2002 06:00:00 GMT") },
   599 	{ _L8("Mon, 21 Jan 2002 23:00:00 MDT"), _L8("Tue, 22 Jan 2002 05:00:00 GMT") },
   600 	{ _L8("Mon, 21 Jan 2002 00:00:00 PST"), _L8("Mon, 21 Jan 2002 08:00:00 GMT") },
   601 	{ _L8("Mon, 21 Jan 2002 23:00:00 PST"), _L8("Tue, 22 Jan 2002 07:00:00 GMT") },
   602 	{ _L8("Mon, 21 Jan 2002 00:00:00 PDT"), _L8("Mon, 21 Jan 2002 07:00:00 GMT") },
   603 	{ _L8("Mon, 21 Jan 2002 23:00:00 PDT"), _L8("Tue, 22 Jan 2002 06:00:00 GMT") },
   604 	{ _L8("Mon, 21 Jan 2002 00:00:00 UT"), _L8("Mon, 21 Jan 2002 00:00:00 GMT") }, 
   605 	{ _L8("Mon, 21 Jan 2002 23:00:00 UT"), _L8("Mon, 21 Jan 2002 23:00:00 GMT") }, 
   606 	{ _L8("Mon, 21 Jan 2002 00:00:00 GMT"), _L8("Mon, 21 Jan 2002 00:00:00 GMT") },
   607 	{ _L8("Mon, 21 Jan 2002 23:00:00 GMT"), _L8("Mon, 21 Jan 2002 23:00:00 GMT") }
   608 	};
   609 	
   610 const TInt KInvalidDescriptorToIntTests=5;
   611 static const TBuf8<50> KInvalidDesToIntTestCases[]=
   612 	{
   613 	_L8("-"),
   614     _L8("+"),
   615     _L8("--"),
   616     _L8("++"),
   617     _L8("InvalidString")
   618 	};	
   619 
   620 #endif //	__T_INTERNETDATETESTCASES_H__