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))) ; }