You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2016/05/09 12:47:02 UTC

jena git commit: JENA-1175 : tests that are timezone insensitive

Repository: jena
Updated Branches:
  refs/heads/master 773f80b68 -> 3ac889118


JENA-1175 : tests that are timezone insensitive


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/3ac88911
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/3ac88911
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/3ac88911

Branch: refs/heads/master
Commit: 3ac889118c8a611b98b638bab5a4cee78c9a41c6
Parents: 773f80b
Author: Andy Seaborne <an...@apache.org>
Authored: Mon May 9 13:46:38 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Mon May 9 13:46:38 2016 +0100

----------------------------------------------------------------------
 .../apache/jena/sparql/expr/TestFunctions.java  | 33 +++++++++++++++++---
 1 file changed, 28 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/3ac88911/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestFunctions.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestFunctions.java b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestFunctions.java
index e1643e8..8aa63a2 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestFunctions.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestFunctions.java
@@ -18,8 +18,7 @@
 
 package org.apache.jena.sparql.expr;
 
-import static org.junit.Assert.assertEquals ;
-import static org.junit.Assert.fail ;
+import static org.junit.Assert.* ;
 import org.apache.jena.datatypes.xsd.XSDDatatype ;
 import org.apache.jena.graph.Node ;
 import org.apache.jena.graph.NodeFactory ;
@@ -77,10 +76,34 @@ public class TestFunctions
     @Test public void exprSprintf_02()      { test("afn:sprintf('%s', 'abcdefghi')",NodeValue.makeString("abcdefghi")) ; }
     @Test public void exprSprintf_03()      { test("afn:sprintf('sometext %s', 'abcdefghi')",NodeValue.makeString("sometext abcdefghi")) ; }
     @Test public void exprSprintf_04()      { test("afn:sprintf('%1$tm %1$te,%1$tY', '2016-03-17'^^xsd:date)",NodeValue.makeString("03 17,2016")) ; }
-    @Test public void exprSprintf_05()      {
-            String nodeStr = NodeValue.makeDateTime("2005-10-14T13:09:43Z").toString();
-            test("afn:sprintf('%1$tm %1$te,%1$tY', "+nodeStr+")",NodeValue.makeString("10 14,2005")) ;
+//    @Test public void exprSprintf_05()      {
+//            String nodeStr = NodeValue.makeDateTime("2005-10-14T13:09:43Z").toString();
+//            test("afn:sprintf('%1$tm %1$te,%1$tY', "+nodeStr+")",NodeValue.makeString("10 14,2005")) ;
+//    }
+    
+    private static void test_exprSprintf_05(String nodeStr, String... possible) {
+        String exprStr = "afn:sprintf('%1$tm %1$te,%1$tY', "+NodeValue.makeDateTime("2005-10-14T13:09:43Z").toString()+")" ;
+        Expr expr = ExprUtils.parse(exprStr) ;
+        NodeValue r = expr.eval(null, FunctionEnvBase.createTest()) ;
+        assertTrue(r.isString()) ;
+        String s = r.getString() ;
+        // Timezones! The locale data can be -1, 0, +1 from the Z day.
+        boolean b = false ;
+        for (String poss : possible ) {
+            if ( poss.equals(s) )
+                b = true ;
+        }
+        assertTrue(b) ;
     }
+    
+    // Temporary fix for JENA-1175
+    // Timezone -11:00 to any timezone can be a day ahead
+    @Test public void exprSprintf_05a() { test_exprSprintf_05("2005-10-14T14:09:43-11:00",  "10 14,2005", "10 15,2005") ; }
+    // Timezone Z to any timezone can be a day behind or a day ahead
+    @Test public void exprSprintf_05b() { test_exprSprintf_05("2005-10-14T12:09:43Z",       "10 13,2005", "10 14,2005", "10 15,2005") ; }
+    // Timezone +11:00 can be a day behind
+    @Test public void exprSprintf_05c() { test_exprSprintf_05("2005-10-14T10:09:43+11:00",  "10 13,2005", "10 14,2005") ; }
+    
     @Test public void exprSprintf_06()      { test("afn:sprintf('this is %s', 'false'^^xsd:boolean)",NodeValue.makeString("this is false")) ; }
     @Test public void exprSprintf_07()      { test("afn:sprintf('this number is equal to %.2f', '11.22'^^xsd:decimal)",NodeValue.makeString("this number is equal to "+String.format("%.2f",11.22))) ; }
     @Test public void exprSprintf_08()      { test("afn:sprintf('%.3f', '1.23456789'^^xsd:float)",NodeValue.makeString(String.format("%.3f",1.23456789))) ; }