Author: fanningpj
Date: Fri Jan  7 08:14:09 2022
New Revision: 1896779

URL: http://svn.apache.org/viewvc?rev=1896779&view=rev
Log:
[XMLBEANS-588] try to fix issues with xpath and date/times

Modified:
    xmlbeans/trunk/src/test/java/xmlcursor/xpath/complex/detailed/TypesTest.java

Modified: 
xmlbeans/trunk/src/test/java/xmlcursor/xpath/complex/detailed/TypesTest.java
URL: 
http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/xpath/complex/detailed/TypesTest.java?rev=1896779&r1=1896778&r2=1896779&view=diff
==============================================================================
--- 
xmlbeans/trunk/src/test/java/xmlcursor/xpath/complex/detailed/TypesTest.java 
(original)
+++ 
xmlbeans/trunk/src/test/java/xmlcursor/xpath/complex/detailed/TypesTest.java 
Fri Jan  7 08:14:09 2022
@@ -80,6 +80,37 @@ public class TypesTest {
     }
 
     @Test
+    public void testZDateTime() {
+        res = o.selectPath("xs:dateTime(\"2000-01-01T15:03:06.123Z\")");
+        assertEquals(1, res.length);
+        Calendar d = ((XmlDateTime) res[0]).getCalendarValue();
+        assertEquals(2000, d.get(Calendar.YEAR));
+        assertEquals(0, d.get(Calendar.MONTH));
+        assertEquals(1, d.get(Calendar.DAY_OF_MONTH));
+        assertEquals(15, d.get(Calendar.HOUR_OF_DAY));
+        assertEquals(3, d.get(Calendar.MINUTE));
+        assertEquals(6, d.get(Calendar.SECOND));
+        assertEquals(123, d.get(Calendar.MILLISECOND));
+        assertEquals(0, d.get(Calendar.ZONE_OFFSET));
+        assertEquals(0, d.get(Calendar.ZONE_OFFSET));
+    }
+
+    @Test
+    public void testCaliforniaDateTime() {
+        res = o.selectPath("xs:dateTime(\"2000-01-01T15:03:06.123-08:00\")");
+        assertEquals(1, res.length);
+        Calendar d = ((XmlDateTime) res[0]).getCalendarValue();
+        assertEquals(2000, d.get(Calendar.YEAR));
+        assertEquals(0, d.get(Calendar.MONTH));
+        assertEquals(1, d.get(Calendar.DAY_OF_MONTH));
+        assertEquals(15, d.get(Calendar.HOUR_OF_DAY));
+        assertEquals(3, d.get(Calendar.MINUTE));
+        assertEquals(6, d.get(Calendar.SECOND));
+        assertEquals(123, d.get(Calendar.MILLISECOND));
+        assertEquals((-8 * 60 * 60 * 1000), d.get(Calendar.ZONE_OFFSET));
+    }
+
+    @Test
     public void testDecimal() {
         res = o.selectPath(
             "seconds-from-dateTime(xs:dateTime('1997-07-16T19:20:30+01:00'))");
@@ -94,17 +125,17 @@ public class TypesTest {
     public void testDuration() {
         res = o.selectPath("xs:dayTimeDuration(\"PT12H\")*4");
         assertEquals(1, res.length);
-        System.out.println(res[0].schemaType());
+        //System.out.println(res[0].schemaType());
         String s = res[0].xmlText();
-        System.out.println(s);
+        //System.out.println(s);
         int i = s.indexOf("(\"");
         int j = s.indexOf("\")");
         assertTrue(0 < i);
         assertTrue(i < j);
         String duration = s.substring(i + 2, j);
-        System.out.println(duration);
+        //System.out.println(duration);
         GDurationSpecification gDur = new GDurationBuilder(duration);
-        System.out.println(gDur.getDay());
+        //System.out.println(gDur.getDay());
         assertEquals(2, gDur.getDay());
     }
 
@@ -118,15 +149,15 @@ public class TypesTest {
         res = o.selectPath("hours-from-dateTime(" +
                            "current-dateTime()) cast as xs:integer");
         assertEquals(1, res.length);
-        System.out.println(res[0].schemaType());
+        //System.out.println(res[0].schemaType());
         XmlLong xl = ((XmlLong) res[0]);
-        System.out.println(xl.xmlText());
+        //System.out.println(xl.xmlText());
 
         //Java type is string...
         res = o.selectPath("current-time()");
         assertEquals(1, res.length);
-        System.out.println(res[0].schemaType());
-        System.out.println(res[0].xmlText());
+        //System.out.println(res[0].schemaType());
+        //System.out.println(res[0].xmlText());
         XmlTime time = XmlTime.Factory.parse(res[0].xmlText());
         System.out.println(time.xmlText());
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to