You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ca...@apache.org on 2005/07/25 16:06:35 UTC

svn commit: r225129 - /xerces/c/trunk/tests/src/XSValueTest/XSValueTest.cpp

Author: cargilld
Date: Mon Jul 25 07:06:33 2005
New Revision: 225129

URL: http://svn.apache.org/viewcvs?rev=225129&view=rev
Log:
Fix various schema date time problems.

Modified:
    xerces/c/trunk/tests/src/XSValueTest/XSValueTest.cpp

Modified: xerces/c/trunk/tests/src/XSValueTest/XSValueTest.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/tests/src/XSValueTest/XSValueTest.cpp?rev=225129&r1=225128&r2=225129&view=diff
==============================================================================
--- xerces/c/trunk/tests/src/XSValueTest/XSValueTest.cpp (original)
+++ xerces/c/trunk/tests/src/XSValueTest/XSValueTest.cpp Mon Jul 25 07:06:33 2005
@@ -3657,8 +3657,8 @@
     bool  toValidate = true;
 
     const char v_1[]="   P1Y1M1DT1H1M1S   \n";
-    const char v_2[]="P1Y1M1DT23H59M59S";
-    const char v_3[]="P1Y1M1DT23H";
+    const char v_2[]="P1Y1M31DT23H119M120S";
+    const char v_3[]="P-1Y1M1DT23H";
 
     const char iv_1[]="P-1Y2M3DT10H30M";
     const char iv_2[]="P1Y1M1DT1H1M1X";
@@ -3677,16 +3677,16 @@
 
     act_v_ran_v_2.fValue.f_datetime.f_year    = 1;
     act_v_ran_v_2.fValue.f_datetime.f_month   = 1;
-    act_v_ran_v_2.fValue.f_datetime.f_day     = 1;
+    act_v_ran_v_2.fValue.f_datetime.f_day     = 31;
     act_v_ran_v_2.fValue.f_datetime.f_hour    = 23;
-    act_v_ran_v_2.fValue.f_datetime.f_min     = 59;
-    act_v_ran_v_2.fValue.f_datetime.f_second  = 59;
+    act_v_ran_v_2.fValue.f_datetime.f_min     = 119;
+    act_v_ran_v_2.fValue.f_datetime.f_second  = 120;
     act_v_ran_v_2.fValue.f_datetime.f_milisec = 0;
 
-    act_v_ran_v_3.fValue.f_datetime.f_year    = 1;
-    act_v_ran_v_3.fValue.f_datetime.f_month   = 1;
-    act_v_ran_v_3.fValue.f_datetime.f_day     = 1;
-    act_v_ran_v_3.fValue.f_datetime.f_hour    = 23;
+    act_v_ran_v_3.fValue.f_datetime.f_year    = -1;
+    act_v_ran_v_3.fValue.f_datetime.f_month   = -1;
+    act_v_ran_v_3.fValue.f_datetime.f_day     = -1;
+    act_v_ran_v_3.fValue.f_datetime.f_hour    = -23;
     act_v_ran_v_3.fValue.f_datetime.f_min     = 0;
     act_v_ran_v_3.fValue.f_datetime.f_second  = 0;
     act_v_ran_v_3.fValue.f_datetime.f_milisec = 0;
@@ -3792,8 +3792,8 @@
     bool  toValidate = true;
 
     const char v_1[]="   1991-05-31   \n";
-    const char v_2[]="9999-06-30";
-    const char v_3[]="99991-07-31";
+    const char v_2[]="9999-06-30Z";
+    const char v_3[]="99991-07-31+14:00";
 
     const char iv_1[]="2000-12-32";
     const char iv_2[]="2001-02-29";
@@ -3803,6 +3803,39 @@
     XSValue::XSValue_Data act_v_ran_v_2;  
     XSValue::XSValue_Data act_v_ran_v_3;  
      
+    const char v_1_canrep[]="1991-05-31";
+    const char v_2_canrep[]="9999-06-30Z";
+    const char v_3_canrep[]="99991-07-30-10:00";
+
+    /*
+     * Case Date               Actual Value    Canonical Value
+     *    1 yyyy-mm-dd         yyyy-mm-dd          yyyy-mm-dd
+     *    2 yyyy-mm-ddZ        yyyy-mm-ddT00:00Z   yyyy-mm-ddZ
+     *    3 yyyy-mm-dd+00:00   yyyy-mm-ddT00:00Z   yyyy-mm-ddZ
+     *    4 yyyy-mm-dd+00:01   YYYY-MM-DCT23:59Z   yyyy-mm-dd+00:01              
+     *    5 yyyy-mm-dd+12:00   YYYY-MM-DCT12:00Z   yyyy-mm-dd+12:00    
+     *    6 yyyy-mm-dd+12:01   YYYY-MM-DCT11:59Z   YYYY-MM-DC-11:59 
+     *    7 yyyy-mm-dd+14:00   YYYY-MM-DCT10:00Z   YYYY-MM-DC-10:00 
+     *    8 yyyy-mm-dd-00:00   yyyy-mm-ddT00:00Z   yyyy-mm-ddZ
+     *    9 yyyy-mm-dd-00:01   yyyy-mm-ddT00:01Z   yyyy-mm-dd-00:01 
+     *   11 yyyy-mm-dd-11:59   yyyy-mm-ddT11:59Z   YYYY-MM-DD-11:59
+     *   10 yyyy-mm-dd-12:00   yyyy-mm-ddT12:00Z   YYYY-MM-DD+12:00      
+     *   12 yyyy-mm-dd-14:00   yyyy-mm-ddT14:00Z   YYYY-MM-DD+10:00
+     */
+
+    const char c_1[] = " 1993-05-31  ";       const char r_1[] = "1993-05-31";    
+    const char c_2[] = " 1993-05-31Z  ";      const char r_2[] = "1993-05-31Z";
+    const char c_3[] = " 1993-05-31+00:00 ";  const char r_3[] = "1993-05-31Z";
+    const char c_4[] = " 1993-05-31+00:01 ";  const char r_4[] = "1993-05-31+00:01";
+    const char c_5[] = " 1993-05-31+12:00 ";  const char r_5[] = "1993-05-31+12:00";
+    const char c_6[] = " 1994-01-01+12:01 ";  const char r_6[] = "1993-12-31-11:59";
+    const char c_7[] = " 1994-01-01+14:00 ";  const char r_7[] = "1993-12-31-10:00";
+    const char c_8[] = " 1993-06-01-00:00 ";  const char r_8[] = "1993-06-01Z";
+    const char c_9[] = " 1993-06-01-00:01 ";  const char r_9[] = "1993-06-01-00:01";
+    const char c_a[] = " 1993-06-01-11:59 ";  const char r_a[] = "1993-06-01-11:59";
+    const char c_b[] = " 1993-05-31-12:00 ";  const char r_b[] = "1993-06-01+12:00";
+    const char c_c[] = " 1993-05-31-14:00 ";  const char r_c[] = "1993-06-01+10:00";
+
     act_v_ran_v_1.fValue.f_datetime.f_year    = 1991;
     act_v_ran_v_1.fValue.f_datetime.f_month   = 05;
     act_v_ran_v_1.fValue.f_datetime.f_day     = 31;
@@ -3821,7 +3854,7 @@
 
     act_v_ran_v_3.fValue.f_datetime.f_year    = 99991;
     act_v_ran_v_3.fValue.f_datetime.f_month   = 07;
-    act_v_ran_v_3.fValue.f_datetime.f_day     = 31;
+    act_v_ran_v_3.fValue.f_datetime.f_day     = 30;
     act_v_ran_v_3.fValue.f_datetime.f_hour    = 0;
     act_v_ran_v_3.fValue.f_datetime.f_min     = 0;
     act_v_ran_v_3.fValue.f_datetime.f_second  = 0;
@@ -3907,17 +3940,27 @@
         toValidate = ( 0 == j) ? true : false;
 
         //  valid
-        CANREP_TEST(v_1,  dt, toValidate, EXP_RET_CANREP_FALSE, 0, XSValue::st_NoCanRep);
-        CANREP_TEST(v_2,  dt, toValidate, EXP_RET_CANREP_FALSE, 0, XSValue::st_NoCanRep);
-        CANREP_TEST(v_3,  dt, toValidate, EXP_RET_CANREP_FALSE, 0, XSValue::st_NoCanRep);
+        CANREP_TEST(v_1,  dt, toValidate, EXP_RET_CANREP_TRUE, v_1_canrep, DONT_CARE);
+        CANREP_TEST(v_2,  dt, toValidate, EXP_RET_CANREP_TRUE, v_2_canrep, DONT_CARE);
+        CANREP_TEST(v_3,  dt, toValidate, EXP_RET_CANREP_TRUE, v_3_canrep, DONT_CARE);       
+
+        CANREP_TEST(c_1,  dt, toValidate, EXP_RET_CANREP_TRUE, r_1, DONT_CARE);    
+        CANREP_TEST(c_2,  dt, toValidate, EXP_RET_CANREP_TRUE, r_2, DONT_CARE);    
+        CANREP_TEST(c_3,  dt, toValidate, EXP_RET_CANREP_TRUE, r_3, DONT_CARE);    
+        CANREP_TEST(c_4,  dt, toValidate, EXP_RET_CANREP_TRUE, r_4, DONT_CARE);    
+        CANREP_TEST(c_5,  dt, toValidate, EXP_RET_CANREP_TRUE, r_5, DONT_CARE);    
+        CANREP_TEST(c_6,  dt, toValidate, EXP_RET_CANREP_TRUE, r_6, DONT_CARE);    
+        CANREP_TEST(c_7,  dt, toValidate, EXP_RET_CANREP_TRUE, r_7, DONT_CARE);    
+        CANREP_TEST(c_8,  dt, toValidate, EXP_RET_CANREP_TRUE, r_8, DONT_CARE);    
+        CANREP_TEST(c_9,  dt, toValidate, EXP_RET_CANREP_TRUE, r_9, DONT_CARE);    
+        CANREP_TEST(c_a,  dt, toValidate, EXP_RET_CANREP_TRUE, r_a, DONT_CARE);    
+        CANREP_TEST(c_b,  dt, toValidate, EXP_RET_CANREP_TRUE, r_b, DONT_CARE);    
+        CANREP_TEST(c_c,  dt, toValidate, EXP_RET_CANREP_TRUE, r_c, DONT_CARE);   
 
         //  invalid
-        CANREP_TEST(iv_1, dt, toValidate, EXP_RET_CANREP_FALSE, 0, 
-            (toValidate? XSValue::st_FOCA0002: XSValue::st_NoCanRep));
-        CANREP_TEST(iv_2, dt, toValidate, EXP_RET_CANREP_FALSE, 0, 
-            (toValidate? XSValue::st_FOCA0002: XSValue::st_NoCanRep));
-        CANREP_TEST(iv_3, dt, toValidate, EXP_RET_CANREP_FALSE, 0, 
-            (toValidate? XSValue::st_FOCA0002: XSValue::st_NoCanRep));
+        CANREP_TEST(iv_1, dt, toValidate, EXP_RET_CANREP_FALSE, 0, XSValue::st_FOCA0002);
+        CANREP_TEST(iv_2, dt, toValidate, EXP_RET_CANREP_FALSE, 0, XSValue::st_FOCA0002);
+        CANREP_TEST(iv_3, dt, toValidate, EXP_RET_CANREP_FALSE, 0, XSValue::st_FOCA0002);
 
     }
 
@@ -3929,8 +3972,8 @@
     bool  toValidate = true;
 
     const char v_1[]="   20000-02   \n";
-    const char v_2[]="0200-11";
-    const char v_3[]="2000-02";
+    const char v_2[]="0200-11+14:00";
+    const char v_3[]="2000-02-14:00";
 
     const char iv_1[]="0000-12";
     const char iv_2[]="+2000-11";
@@ -4064,8 +4107,8 @@
     const XSValue::DataType dt = XSValue::dt_gYear; 
     bool  toValidate = true;
 
-    const char v_1[]="   0001  \n";
-    const char v_2[]="9999";
+    const char v_1[]="   0001-14:00  \n";
+    const char v_2[]="9999+14:00";
     const char v_3[]="-1999";
 
     const char iv_1[]="0000";
@@ -4201,8 +4244,8 @@
     const XSValue::DataType dt = XSValue::dt_gMonthDay; 
     bool  toValidate = true;
 
-    const char v_1[]="   --01-31   \n";
-    const char v_2[]="--03-31";
+    const char v_1[]="   --01-31+00:01   \n";
+    const char v_2[]="--03-31-00:01";
     const char v_3[]="--04-01";
 
     const char iv_1[]="--14-31";
@@ -4215,7 +4258,7 @@
 
     act_v_ran_v_1.fValue.f_datetime.f_year    = 0;
     act_v_ran_v_1.fValue.f_datetime.f_month   = 1;
-    act_v_ran_v_1.fValue.f_datetime.f_day     = 31;
+    act_v_ran_v_1.fValue.f_datetime.f_day     = 30;
     act_v_ran_v_1.fValue.f_datetime.f_hour    = 0;
     act_v_ran_v_1.fValue.f_datetime.f_min     = 0;
     act_v_ran_v_1.fValue.f_datetime.f_second  = 0;
@@ -4337,8 +4380,8 @@
     const XSValue::DataType dt = XSValue::dt_gDay; 
     bool  toValidate = true;
 
-    const char v_1[]="   ---31   \n";
-    const char v_2[]="---01";
+    const char v_1[]="   ---31+01:30   \n";
+    const char v_2[]="---01-01:30";
     const char v_3[]="---28";
 
     const char iv_1[]="---+31";
@@ -4351,7 +4394,7 @@
 
     act_v_ran_v_1.fValue.f_datetime.f_year    = 0;
     act_v_ran_v_1.fValue.f_datetime.f_month   = 0;
-    act_v_ran_v_1.fValue.f_datetime.f_day     = 31;
+    act_v_ran_v_1.fValue.f_datetime.f_day     = 30;
     act_v_ran_v_1.fValue.f_datetime.f_hour    = 0;
     act_v_ran_v_1.fValue.f_datetime.f_min     = 0;
     act_v_ran_v_1.fValue.f_datetime.f_second  = 0;
@@ -4474,8 +4517,8 @@
     const XSValue::DataType dt = XSValue::dt_gMonth; 
     bool  toValidate = true;
 
-    const char v_1[]="   --02   \n";
-    const char v_2[]="--10";
+    const char v_1[]="   --02+10:10   \n";
+    const char v_2[]="--10-12:12";
     const char v_3[]="--12";
 
     const char iv_1[]="--+11";
@@ -4612,7 +4655,7 @@
     bool  toValidate = true;
 
     const char v_1[]="   2000-12-31T23:59:59.00389  \n";
-    const char v_2[]="2000-10-01T11:10:20+06:00";
+    const char v_2[]="2000-10-01T11:10:20+13:30";
     const char v_3[]="2000-10-01T11:10:20-06:00";
 
     const char iv_1[]="0000-12-31T23:59:59";
@@ -4625,8 +4668,8 @@
     XSValue::XSValue_Data act_v_ran_v_2;
     XSValue::XSValue_Data act_v_ran_v_3;
 
-    const char v_1_canrep[]="2000-12-31T23:59:59.00389Z";
-    const char v_2_canrep[]="2000-10-01T05:10:20Z";
+    const char v_1_canrep[]="2000-12-31T23:59:59.00389";
+    const char v_2_canrep[]="2000-09-30T21:40:20Z";
     const char v_3_canrep[]="2000-10-01T17:10:20Z";
 
     act_v_ran_v_1.fValue.f_datetime.f_year    = 2000;
@@ -4638,10 +4681,10 @@
     act_v_ran_v_1.fValue.f_datetime.f_milisec = 0.00389;
 
     act_v_ran_v_2.fValue.f_datetime.f_year    = 2000;
-    act_v_ran_v_2.fValue.f_datetime.f_month   = 10;
-    act_v_ran_v_2.fValue.f_datetime.f_day     = 1;
-    act_v_ran_v_2.fValue.f_datetime.f_hour    = 5;
-    act_v_ran_v_2.fValue.f_datetime.f_min     = 10;
+    act_v_ran_v_2.fValue.f_datetime.f_month   = 9;
+    act_v_ran_v_2.fValue.f_datetime.f_day     = 30;
+    act_v_ran_v_2.fValue.f_datetime.f_hour    = 21;
+    act_v_ran_v_2.fValue.f_datetime.f_min     = 40;
     act_v_ran_v_2.fValue.f_datetime.f_second  = 20;
     act_v_ran_v_2.fValue.f_datetime.f_milisec = 0;
 
@@ -4777,9 +4820,9 @@
     const XSValue::DataType dt = XSValue::dt_time; 
     bool  toValidate = true;
 
-    const char v_1[]="   23:59:59.38900   \n";
+    const char v_1[]="   23:59:59.38900Z   \n";
     const char v_2[]="24:00:00";
-    const char v_3[]="23:59:59";
+    const char v_3[]="23:59:59+00:01";
 
     const char iv_1[]="55:59:59";
     const char iv_2[]="03:99:59";
@@ -4792,8 +4835,8 @@
     XSValue::XSValue_Data act_v_ran_v_3;
 
     const char v_1_canrep[]="23:59:59.389Z";
-    const char v_2_canrep[]="00:00:00Z";
-    const char v_3_canrep[]="23:59:59Z";
+    const char v_2_canrep[]="00:00:00";
+    const char v_3_canrep[]="23:58:59Z";
 
     act_v_ran_v_1.fValue.f_datetime.f_year    = 0;
     act_v_ran_v_1.fValue.f_datetime.f_month   = 0;
@@ -4815,7 +4858,7 @@
     act_v_ran_v_3.fValue.f_datetime.f_month   = 0;
     act_v_ran_v_3.fValue.f_datetime.f_day     = 0;
     act_v_ran_v_3.fValue.f_datetime.f_hour    = 23;
-    act_v_ran_v_3.fValue.f_datetime.f_min     = 59;
+    act_v_ran_v_3.fValue.f_datetime.f_min     = 58;
     act_v_ran_v_3.fValue.f_datetime.f_second  = 59;
     act_v_ran_v_3.fValue.f_datetime.f_milisec = 0;
 /***



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org