aboutsummaryrefslogtreecommitdiffstats
path: root/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java
diff options
context:
space:
mode:
authorJaven O'Neal <onealj@apache.org>2016-08-22 17:57:45 +0000
committerJaven O'Neal <onealj@apache.org>2016-08-22 17:57:45 +0000
commitb72e9510e5271ecc5a43ad02be6149031def92e6 (patch)
tree944278a0053f20ccfa3e4e7fb3fec9a8c74a6f8b /src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java
parentd89c5e36e536c83d7b137a8d88bfd8b6191dfe4c (diff)
downloadpoi-b72e9510e5271ecc5a43ad02be6149031def92e6.tar.gz
poi-b72e9510e5271ecc5a43ad02be6149031def92e6.zip
bug 59791: improve Cell.CELL_TYPE_* backwards compatibility
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1757235 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java')
-rw-r--r--src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java b/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java
index b2ae06cb9a..db46687c12 100644
--- a/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java
+++ b/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java
@@ -1015,4 +1015,34 @@ public abstract class BaseTestCell {
wb.close();
}
+
+ @Test
+ public void primitiveToEnumReplacementDoesNotBreakBackwardsCompatibility() {
+ // bug 59836
+ // until we have changes POI from working on primitives (int) to enums,
+ // we should make sure we minimize backwards compatibility breakages.
+ // This method tests the old way of working with cell types, alignment, etc.
+ Workbook wb = _testDataProvider.createWorkbook();
+ Sheet sheet = wb.createSheet();
+ Row row = sheet.createRow(0);
+ Cell cell = row.createCell(0);
+
+ // Cell.CELL_TYPE_* -> CellType.*
+ cell.setCellValue(5.0);
+ assertEquals(Cell.CELL_TYPE_NUMERIC, cell.getCellType());
+ assertEquals(CellType.NUMERIC, cell.getCellTypeEnum()); // make sure old way and new way are compatible
+
+ // make sure switch(int|Enum) still works. Cases must be statically resolvable in Java 6 ("constant expression required")
+ switch(cell.getCellType()) {
+ case Cell.CELL_TYPE_NUMERIC:
+ // expected
+ break;
+ case Cell.CELL_TYPE_STRING:
+ case Cell.CELL_TYPE_ERROR:
+ case Cell.CELL_TYPE_FORMULA:
+ case Cell.CELL_TYPE_BLANK:
+ default:
+ fail("unexpected cell type: " + cell.getCellType());
+ }
+ }
}