Author: centic
Date: Fri Dec 28 19:53:13 2018
New Revision: 1849881

URL: http://svn.apache.org/viewvc?rev=1849881&view=rev
Log:
Run Cell-tests on HSSF as well and make handling of null-values consistent 
across implementations

Modified:
    poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/ss/usermodel/BaseTestXCell.java
    
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java
    poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java

Modified: poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java?rev=1849881&r1=1849880&r2=1849881&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java Fri Dec 28 
19:53:13 2018
@@ -494,6 +494,11 @@ public class HSSFCell implements Cell {
      */
     public void setCellValue(Date value)
     {
+        if(value == null) {
+            setCellType(CellType.BLANK);
+            return;
+        }
+
         setCellValue(HSSFDateUtil.getExcelDate(value, 
_book.getWorkbook().isUsing1904DateWindowing()));
     }
 
@@ -514,6 +519,11 @@ public class HSSFCell implements Cell {
      */
     public void setCellValue(Calendar value)
     {
+        if(value == null) {
+            setCellType(CellType.BLANK);
+            return;
+        }
+
         setCellValue( HSSFDateUtil.getExcelDate(value, 
_book.getWorkbook().isUsing1904DateWindowing()) );
     }
 

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/ss/usermodel/BaseTestXCell.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/usermodel/BaseTestXCell.java?rev=1849881&r1=1849880&r2=1849881&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/ss/usermodel/BaseTestXCell.java 
(original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/ss/usermodel/BaseTestXCell.java 
Fri Dec 28 19:53:13 2018
@@ -57,18 +57,4 @@ public abstract class BaseTestXCell exte
         assertEquals("???<>\t\n\u00a0 &\"POI\'\u2122", 
wb2.getSheetAt(0).getRow(0).getCell(0).getStringCellValue());
         wb2.close();
     }
-
-    @Test
-    public void testSetNullValues() throws IOException {
-        Workbook wb = _testDataProvider.createWorkbook();
-        Cell cell = wb.createSheet("test").createRow(0).createCell(0);
-
-        cell.setCellValue((Calendar)null);
-        cell.setCellValue((Date)null);
-        cell.setCellValue((String)null);
-        cell.setCellValue((RichTextString) null);
-        cell.setCellValue((String)null);
-
-        wb.close();
-    }
 }

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java?rev=1849881&r1=1849880&r2=1849881&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java 
(original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java 
Fri Dec 28 19:53:13 2018
@@ -83,16 +83,4 @@ public class TestSXSSFCell extends BaseT
             swb.close();
         }
     }
-
-    @Test
-    public void test62216() throws IOException {
-        try (SXSSFWorkbook wb = new SXSSFWorkbook()) {
-            Cell instance = wb.createSheet().createRow(0).createCell(0);
-            String formula = "2";
-            instance.setCellFormula(formula);
-            instance.setCellErrorValue(FormulaError.NAME.getCode());
-
-            assertEquals(formula, instance.getCellFormula());
-        }
-    }
 }

Modified: poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java?rev=1849881&r1=1849880&r2=1849881&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java Fri 
Dec 28 19:53:13 2018
@@ -1062,6 +1062,49 @@ public abstract class BaseTestCell {
     }
 
     @Test
+    public void test62216() throws IOException {
+        try (Workbook wb = _testDataProvider.createWorkbook()) {
+            Cell instance = wb.createSheet().createRow(0).createCell(0);
+            String formula = "2";
+            instance.setCellFormula(formula);
+            instance.setCellErrorValue(FormulaError.NAME.getCode());
+
+            assertEquals(formula, instance.getCellFormula());
+        }
+    }
+
+    @Test
+    public void testSetNullValues() throws IOException {
+        Workbook wb = _testDataProvider.createWorkbook();
+        Cell cell = wb.createSheet("test").createRow(0).createCell(0);
+
+        cell.setCellValue((Calendar)null);
+        assertEquals(CellType.BLANK, cell.getCellType());
+        assertEquals("", cell.getStringCellValue());
+
+        cell.setCellValue((Date)null);
+        assertEquals(CellType.BLANK, cell.getCellType());
+        assertEquals("", cell.getStringCellValue());
+
+        cell.setCellValue((String)null);
+        assertEquals(CellType.BLANK, cell.getCellType());
+        assertEquals("", cell.getStringCellValue());
+
+        assertEquals(CellType.BLANK, cell.getCellType());
+        assertEquals("", cell.getStringCellValue());
+
+        cell.setCellValue((RichTextString) null);
+        assertEquals(CellType.BLANK, cell.getCellType());
+        assertEquals("", cell.getStringCellValue());
+
+        cell.setCellValue((String)null);
+        assertEquals(CellType.BLANK, cell.getCellType());
+        assertEquals("", cell.getStringCellValue());
+
+        wb.close();
+    }
+
+    @Test
     public void testFormulaSetValueDoesNotChangeType() throws IOException {
         try (Workbook wb = _testDataProvider.createWorkbook()) {
             Sheet sheet = wb.createSheet();



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

Reply via email to