You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mk...@apache.org on 2019/01/28 08:17:47 UTC

[lucene-solr] branch branch_8x updated: LUCENE-8640: fixing DateRangePrefixTreeTest, accepting 0..59 minutes and seconds.

This is an automated email from the ASF dual-hosted git repository.

mkhl pushed a commit to branch branch_8x
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git


The following commit(s) were added to refs/heads/branch_8x by this push:
     new 4c565e5  LUCENE-8640: fixing DateRangePrefixTreeTest, accepting 0..59 minutes and seconds.
4c565e5 is described below

commit 4c565e5590572fceb020167db4b947f799d86908
Author: Mikhail Khludnev <mk...@apache.org>
AuthorDate: Mon Jan 28 11:14:34 2019 +0300

    LUCENE-8640: fixing DateRangePrefixTreeTest, accepting 0..59 minutes and seconds.
---
 .../apache/lucene/spatial/prefix/tree/DateRangePrefixTree.java   | 4 ++--
 .../lucene/spatial/prefix/tree/DateRangePrefixTreeTest.java      | 9 +++++++--
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTree.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTree.java
index 31e0a00..2466b23 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTree.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTree.java
@@ -488,7 +488,7 @@ public class DateRangePrefixTree extends NumberRangePrefixTree {
       checkDelimeter(str, offset-1, ':');
       //minute:
 
-      parsedVal = parseAndCheck( str, offset, 1, 60);
+      parsedVal = parseAndCheck( str, offset, 0, 59);
       cal.set(Calendar.MINUTE, parsedVal);
       offset += 3;
       if (lastOffset < offset)
@@ -496,7 +496,7 @@ public class DateRangePrefixTree extends NumberRangePrefixTree {
       checkDelimeter(str, offset-1, ':');
       //second:
 
-      parsedVal = parseAndCheck( str, offset, 1, 60);
+      parsedVal = parseAndCheck( str, offset, 0, 59);
       cal.set(Calendar.SECOND, parsedVal);
       offset += 3;
       if (lastOffset < offset)
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTreeTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTreeTest.java
index f9f3d12..0670a26 100644
--- a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTreeTest.java
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTreeTest.java
@@ -94,7 +94,7 @@ public class DateRangePrefixTreeTest extends LuceneTestCase {
     roundTrip(cal);
   }
 
-  public void testToStringISO8601() {
+  public void testToStringISO8601() throws ParseException {
     Calendar cal = tree.newCal();
     cal.setTimeInMillis(random().nextLong());
     //  create ZonedDateTime from the calendar, then get toInstant.toString which is the ISO8601 we emulate
@@ -110,6 +110,7 @@ public class DateRangePrefixTreeTest extends LuceneTestCase {
             .toInstant().toString();
     String resultToString = tree.toString(cal) + 'Z';
     assertEquals(expectedISO8601, resultToString);
+    assertEquals(cal, tree.parseCalendar(expectedISO8601));
   }
 
   //copies from DateRangePrefixTree
@@ -211,7 +212,11 @@ public class DateRangePrefixTreeTest extends LuceneTestCase {
   }
 
   public void testInvalidDateException() throws ParseException {
-    
+    {
+      Calendar jurasic = tree.parseCalendar("-187183959-07-06T11:00:57.156");
+      assertEquals(187183960, jurasic.get(Calendar.YEAR));
+      assertEquals(0, jurasic.get(Calendar.ERA));
+    }
     expectThrows(ParseException.class, () -> {
       tree.parseCalendar("2000-11T13");
     });