Author: centic
Date: Wed May 20 18:00:19 2015
New Revision: 1680642
URL: http://svn.apache.org/r1680642
Log:
Apply fix reported in bug 47661 and add unit tests
Modified:
poi/trunk/src/java/org/apache/poi/ss/usermodel/DateUtil.java
poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDateUtil.java
Modified: poi/trunk/src/java/org/apache/poi/ss/usermodel/DateUtil.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/usermodel/DateUtil.java?rev=1680642&r1=1680641&r2=1680642&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/usermodel/DateUtil.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/usermodel/DateUtil.java Wed May 20
18:00:19 2015
@@ -567,7 +567,7 @@ public class DateUtil {
private static int daysInPriorYears(int yr, boolean use1904windowing)
{
- if ((!use1904windowing && yr < 1900) || (use1904windowing && yr <
1900)) {
+ if ((!use1904windowing && yr < 1900) || (use1904windowing && yr <
1904)) {
throw new IllegalArgumentException("'year' must be 1900 or
greater");
}
Modified:
poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDateUtil.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDateUtil.java?rev=1680642&r1=1680641&r2=1680642&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDateUtil.java
(original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDateUtil.java
Wed May 20 18:00:19 2015
@@ -17,9 +17,7 @@
package org.apache.poi.hssf.usermodel;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
import java.io.IOException;
import java.text.ParseException;
@@ -349,6 +347,7 @@ public final class TestHSSFDateUtil {
HSSFWorkbook workbook =
HSSFTestDataSamples.openSampleWorkbook("DateFormats.xls");
HSSFSheet sheet = workbook.getSheetAt(0);
InternalWorkbook wb = workbook.getWorkbook();
+ assertNotNull(wb);
HSSFRow row;
HSSFCell cell;
@@ -482,6 +481,25 @@ public final class TestHSSFDateUtil {
}
@Test
+ public void absoluteDayYearTooLow() {
+ GregorianCalendar calendar = new GregorianCalendar(1899, 0, 1);
+ try {
+ HSSFDateUtil.absoluteDay(calendar, false);
+ fail("Should fail here");
+ } catch (IllegalArgumentException e) {
+ // expected here
+ }
+
+ try {
+ calendar = new GregorianCalendar(1903, 0, 1);
+ HSSFDateUtil.absoluteDay(calendar, true);
+ fail("Should fail here");
+ } catch (IllegalArgumentException e) {
+ // expected here
+ }
+ }
+
+ @Test
public void convertTime() {
final double delta = 1E-7; // a couple of digits more accuracy than
strictly required
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]