mirror of https://github.com/apache/poi.git
Add unit test showing that bug #50867 works fine
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1078065 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
3a867c9583
commit
cb54849561
|
@ -42,6 +42,7 @@ import org.apache.poi.ss.usermodel.Workbook;
|
|||
import org.apache.poi.xssf.XSSFITestDataProvider;
|
||||
import org.apache.poi.xssf.XSSFTestDataSamples;
|
||||
import org.apache.poi.xssf.model.CalculationChain;
|
||||
import org.apache.poi.xssf.model.Table;
|
||||
import org.apache.poi.xssf.usermodel.extensions.XSSFCellFill;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
|
||||
|
||||
|
@ -821,4 +822,60 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||
cell = row.getCell(2);
|
||||
assertEquals(text, cell.getStringCellValue());
|
||||
}
|
||||
|
||||
/**
|
||||
* Adding sheets when one has a table, then re-ordering
|
||||
*/
|
||||
public void test50867() throws Exception {
|
||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("50867_with_table.xlsx");
|
||||
assertEquals(3, wb.getNumberOfSheets());
|
||||
|
||||
XSSFSheet s1 = wb.getSheetAt(0);
|
||||
XSSFSheet s2 = wb.getSheetAt(1);
|
||||
XSSFSheet s3 = wb.getSheetAt(2);
|
||||
assertEquals(1, s1.getTables().size());
|
||||
assertEquals(0, s2.getTables().size());
|
||||
assertEquals(0, s3.getTables().size());
|
||||
|
||||
Table t = s1.getTables().get(0);
|
||||
assertEquals("Tabella1", t.getName());
|
||||
assertEquals("Tabella1", t.getDisplayName());
|
||||
assertEquals("A1:C3", t.getCTTable().getRef());
|
||||
|
||||
// Add a sheet and re-order
|
||||
XSSFSheet s4 = wb.createSheet("NewSheet");
|
||||
wb.setSheetOrder(s4.getSheetName(), 0);
|
||||
|
||||
// Check on tables
|
||||
assertEquals(1, s1.getTables().size());
|
||||
assertEquals(0, s2.getTables().size());
|
||||
assertEquals(0, s3.getTables().size());
|
||||
assertEquals(0, s4.getTables().size());
|
||||
|
||||
// Refetch to get the new order
|
||||
s1 = wb.getSheetAt(0);
|
||||
s2 = wb.getSheetAt(1);
|
||||
s3 = wb.getSheetAt(2);
|
||||
s4 = wb.getSheetAt(3);
|
||||
assertEquals(0, s1.getTables().size());
|
||||
assertEquals(1, s2.getTables().size());
|
||||
assertEquals(0, s3.getTables().size());
|
||||
assertEquals(0, s4.getTables().size());
|
||||
|
||||
// Save and re-load
|
||||
wb = XSSFTestDataSamples.writeOutAndReadBack(wb);
|
||||
s1 = wb.getSheetAt(0);
|
||||
s2 = wb.getSheetAt(1);
|
||||
s3 = wb.getSheetAt(2);
|
||||
s4 = wb.getSheetAt(3);
|
||||
assertEquals(0, s1.getTables().size());
|
||||
assertEquals(1, s2.getTables().size());
|
||||
assertEquals(0, s3.getTables().size());
|
||||
assertEquals(0, s4.getTables().size());
|
||||
|
||||
t = s2.getTables().get(0);
|
||||
assertEquals("Tabella1", t.getName());
|
||||
assertEquals("Tabella1", t.getDisplayName());
|
||||
assertEquals("A1:C3", t.getCTTable().getRef());
|
||||
}
|
||||
}
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue