From: Javen O'Neal Date: Tue, 27 Oct 2015 07:43:23 +0000 (+0000) Subject: bug 26862: add test case for HSSFWorkbook.cloneSheet copies charts X-Git-Tag: REL_3_14_BETA1~215 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=974367ed1d3956415ab85244cbc20dfd47c22283;p=poi.git bug 26862: add test case for HSSFWorkbook.cloneSheet copies charts git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1710730 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/scratchpad/testcases/org/apache/poi/hssf/usermodel/TestHSSFChart.java b/src/scratchpad/testcases/org/apache/poi/hssf/usermodel/TestHSSFChart.java index e70f582b00..25e5b4aa1d 100644 --- a/src/scratchpad/testcases/org/apache/poi/hssf/usermodel/TestHSSFChart.java +++ b/src/scratchpad/testcases/org/apache/poi/hssf/usermodel/TestHSSFChart.java @@ -17,6 +17,8 @@ package org.apache.poi.hssf.usermodel; +import java.io.IOException; + import org.junit.Test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; @@ -236,4 +238,37 @@ public final class TestHSSFChart { HSSFChart chart = charts[ 2 ] ; chart.removeSeries( chart.getSeries()[ 0 ] ) ; } + + /** + * Bug 26862: HSSFWorkbook.cloneSheet copies charts + */ + @Test + public void test26862() throws IOException, Exception { + HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("SimpleChart.xls"); + HSSFSheet srcSheet = wb.getSheetAt(0); + HSSFChart[] srcCharts = HSSFChart.getSheetCharts(srcSheet); + assertEquals(1, srcCharts.length); + HSSFChart srcChart = srcCharts[0]; + + // Clone the sheet + HSSFSheet clonedSheet = wb.cloneSheet(0); + + // Verify the chart was copied + HSSFChart[] clonedCharts = HSSFChart.getSheetCharts(clonedSheet); + assertEquals(1, clonedCharts.length); + HSSFChart clonedChart = clonedCharts[0]; + assertNotSame(srcChart, clonedChart); //refer to different objects + assertEquals(srcChart.getType(), clonedChart.getType()); + assertEquals(srcChart.getChartTitle(), clonedChart.getChartTitle()); + assertEquals(srcChart.getChartWidth(), clonedChart.getChartWidth()); + assertEquals(srcChart.getChartHeight(), clonedChart.getChartHeight()); + assertEquals(srcChart.getChartX(), clonedChart.getChartX()); + assertEquals(srcChart.getChartY(), clonedChart.getChartY()); + + // Check if chart was shallow copied or deep copied + clonedChart.setChartWidth(clonedChart.getChartWidth()+10); + assertEquals(srcChart.getChartWidth()+10, clonedChart.getChartWidth()); + + wb.close(); + } }