From b79d4fda5243643b2e57d4fa83f9c525bb985fd4 Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Fri, 23 Aug 2013 18:56:32 +0000 Subject: [PATCH] Tried to reproduce Bug 47090, but seems to be fixed now. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1516982 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/xssf/usermodel/TestXSSFWorkbook.java | 46 ++++++++++++++++++ test-data/spreadsheet/47090.xlsx | Bin 0 -> 7596 bytes 2 files changed, 46 insertions(+) create mode 100644 test-data/spreadsheet/47090.xlsx diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java index ec6ab2374..0ea3f5581 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java @@ -528,4 +528,50 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook { } System.out.println("Done"); } + + public void testBug47090a() { + Workbook workbook = XSSFTestDataSamples.openSampleWorkbook("47090.xlsx"); + assertSheetOrder(workbook, "Sheet1", "Sheet2"); + workbook.removeSheetAt(0); + assertSheetOrder(workbook, "Sheet2"); + workbook.createSheet(); + assertSheetOrder(workbook, "Sheet2", "Sheet1"); + Workbook read = XSSFTestDataSamples.writeOutAndReadBack(workbook); + assertSheetOrder(read, "Sheet2", "Sheet1"); + } + + public void testBug47090b() { + Workbook workbook = XSSFTestDataSamples.openSampleWorkbook("47090.xlsx"); + assertSheetOrder(workbook, "Sheet1", "Sheet2"); + workbook.removeSheetAt(1); + assertSheetOrder(workbook, "Sheet1"); + workbook.createSheet(); + assertSheetOrder(workbook, "Sheet1", "Sheet0"); // Sheet0 because it uses "Sheet" + sheets.size() as starting point! + Workbook read = XSSFTestDataSamples.writeOutAndReadBack(workbook); + assertSheetOrder(read, "Sheet1", "Sheet0"); + } + + public void testBug47090c() { + Workbook workbook = XSSFTestDataSamples.openSampleWorkbook("47090.xlsx"); + assertSheetOrder(workbook, "Sheet1", "Sheet2"); + workbook.removeSheetAt(0); + assertSheetOrder(workbook, "Sheet2"); + workbook.cloneSheet(0); + assertSheetOrder(workbook, "Sheet2", "Sheet2 (2)"); + Workbook read = XSSFTestDataSamples.writeOutAndReadBack(workbook); + assertSheetOrder(read, "Sheet2", "Sheet2 (2)"); + } + + public void testBug47090d() { + Workbook workbook = XSSFTestDataSamples.openSampleWorkbook("47090.xlsx"); + assertSheetOrder(workbook, "Sheet1", "Sheet2"); + workbook.createSheet(); + assertSheetOrder(workbook, "Sheet1", "Sheet2", "Sheet0"); + workbook.removeSheetAt(0); + assertSheetOrder(workbook, "Sheet2", "Sheet0"); + workbook.createSheet(); + assertSheetOrder(workbook, "Sheet2", "Sheet0", "Sheet1"); + Workbook read = XSSFTestDataSamples.writeOutAndReadBack(workbook); + assertSheetOrder(read, "Sheet2", "Sheet0", "Sheet1"); + } } diff --git a/test-data/spreadsheet/47090.xlsx b/test-data/spreadsheet/47090.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c52ed666ab10d1954e491f9629efa8f845327339 GIT binary patch literal 7596 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 Mxts_wS^)t54^s<4S^xk5 literal 0 HcmV?d00001