diff options
author | Dominik Stadler <centic@apache.org> | 2019-12-15 14:52:45 +0000 |
---|---|---|
committer | Dominik Stadler <centic@apache.org> | 2019-12-15 14:52:45 +0000 |
commit | 2748844549b50dc11e8ef19dcd506c820c1a1e19 (patch) | |
tree | aac3ba192034ff20e75a065a116e4424de0a5870 /src/testcases | |
parent | 57e5e87e58c8eabfc2fd1f3b14808814d668a83f (diff) | |
download | poi-2748844549b50dc11e8ef19dcd506c820c1a1e19.tar.gz poi-2748844549b50dc11e8ef19dcd506c820c1a1e19.zip |
Bug 63749; Make getLastRowNum() and getFirstRow() return -1 instead of 0 on empty Sheets
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1871589 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/testcases')
4 files changed, 36 insertions, 8 deletions
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java index 46056ff82e..b0aa06cb4e 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java @@ -1230,9 +1230,9 @@ public final class TestBugs extends BaseTestBugzillaIssues { HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet s = wb.createSheet(); - // No rows, everything is 0 - assertEquals(0, s.getFirstRowNum()); - assertEquals(0, s.getLastRowNum()); + // No rows, first/last return -1 + assertEquals(-1, s.getFirstRowNum()); + assertEquals(-1, s.getLastRowNum()); assertEquals(0, s.getPhysicalNumberOfRows()); // One row, most things are 0, physical is 1 diff --git a/src/testcases/org/apache/poi/ss/usermodel/BaseTestRow.java b/src/testcases/org/apache/poi/ss/usermodel/BaseTestRow.java index 6e663c37ee..1634330138 100644 --- a/src/testcases/org/apache/poi/ss/usermodel/BaseTestRow.java +++ b/src/testcases/org/apache/poi/ss/usermodel/BaseTestRow.java @@ -532,4 +532,32 @@ public abstract class BaseTestRow { assertNull(f1); } } + + @Test + public void testLastRowEmptySheet() { + Workbook wb = _testDataProvider.createWorkbook(); + Sheet sheet = wb.createSheet("sheet1"); + + assertEquals("Sheet without rows should return -1 as lastRowNum", + -1, sheet.getLastRowNum()); + Row row = sheet.createRow(0); + assertNotNull(row); + + assertEquals("Sheet with one row should return 0 as lastRowNum", + 0, sheet.getLastRowNum()); + } + + @Test + public void testFirstRowEmptySheet() { + Workbook wb = _testDataProvider.createWorkbook(); + Sheet sheet = wb.createSheet("sheet1"); + + assertEquals("Sheet without rows should return -1 as firstRowNum", + -1, sheet.getFirstRowNum()); + Row row = sheet.createRow(0); + assertNotNull(row); + + assertEquals("Sheet with one row should return 0 as firstRowNum", + 0, sheet.getFirstRowNum()); + } } diff --git a/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java b/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java index 657442026f..02930a9959 100644 --- a/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java +++ b/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java @@ -130,8 +130,8 @@ public abstract class BaseTestSheet { Workbook workbook = _testDataProvider.createWorkbook(); Sheet sheet1 = workbook.createSheet(); assertEquals(0, sheet1.getPhysicalNumberOfRows()); - assertEquals(0, sheet1.getFirstRowNum()); - assertEquals(0, sheet1.getLastRowNum()); + assertEquals(-1, sheet1.getFirstRowNum()); + assertEquals(-1, sheet1.getLastRowNum()); Row row0 = sheet1.createRow(0); assertEquals(1, sheet1.getPhysicalNumberOfRows()); @@ -139,8 +139,8 @@ public abstract class BaseTestSheet { assertEquals(0, sheet1.getLastRowNum()); sheet1.removeRow(row0); assertEquals(0, sheet1.getPhysicalNumberOfRows()); - assertEquals(0, sheet1.getFirstRowNum()); - assertEquals(0, sheet1.getLastRowNum()); + assertEquals(-1, sheet1.getFirstRowNum()); + assertEquals(-1, sheet1.getLastRowNum()); sheet1.createRow(1); Row row2 = sheet1.createRow(2); diff --git a/src/testcases/org/apache/poi/ss/usermodel/BaseTestXEvaluationSheet.java b/src/testcases/org/apache/poi/ss/usermodel/BaseTestXEvaluationSheet.java index cd60b3f6ff..f21842b4ec 100644 --- a/src/testcases/org/apache/poi/ss/usermodel/BaseTestXEvaluationSheet.java +++ b/src/testcases/org/apache/poi/ss/usermodel/BaseTestXEvaluationSheet.java @@ -36,7 +36,7 @@ public abstract class BaseTestXEvaluationSheet { Sheet underlyingSheet = sheetPair.getKey(); EvaluationSheet instance = sheetPair.getValue(); - assertEquals(0, instance.getLastRowNum()); + assertEquals(-1, instance.getLastRowNum()); underlyingSheet.createRow(0); underlyingSheet.createRow(1); |