From: Nick Burch Date: Thu, 7 Nov 2013 22:39:11 +0000 (+0000) Subject: Unit tests for Shrink To Fit cell style support (#55661) X-Git-Tag: REL_3_10_FINAL~57 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=b2a64e7f7c83b5de7f6b44138aad59f4a2d7d854;p=poi.git Unit tests for Shrink To Fit cell style support (#55661) git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1539850 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCellStyle.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCellStyle.java index 045d10bb31..19e9a65a32 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCellStyle.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCellStyle.java @@ -24,6 +24,8 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.HorizontalAlignment; import org.apache.poi.ss.usermodel.IndexedColors; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.VerticalAlignment; import org.apache.poi.xssf.XSSFTestDataSamples; import org.apache.poi.xssf.model.StylesTable; @@ -40,9 +42,7 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.STHorizontalAlignment import org.openxmlformats.schemas.spreadsheetml.x2006.main.STPatternType; import org.openxmlformats.schemas.spreadsheetml.x2006.main.STVerticalAlignment; - public class TestXSSFCellStyle extends TestCase { - private StylesTable stylesTable; private CTBorder ctBorderA; private CTFill ctFill; @@ -850,4 +850,33 @@ public class TestXSSFCellStyle extends TestCase { assertNull(style.getStyleXf()); } + public void testShrinkToFit() { + // Existing file + XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("ShrinkToFit.xlsx"); + Sheet s = wb.getSheetAt(0); + Row r = s.getRow(0); + CellStyle cs = r.getCell(0).getCellStyle(); + + assertEquals(true, cs.getShrinkToFit()); + + // New file + XSSFWorkbook wbOrig = new XSSFWorkbook(); + s = wbOrig.createSheet(); + r = s.createRow(0); + + cs = wbOrig.createCellStyle(); + cs.setShrinkToFit(false); + r.createCell(0).setCellStyle(cs); + + cs = wbOrig.createCellStyle(); + cs.setShrinkToFit(true); + r.createCell(1).setCellStyle(cs); + + // Write out, read, and check + wb = XSSFTestDataSamples.writeOutAndReadBack(wbOrig); + s = wb.getSheetAt(0); + r = s.getRow(0); + assertEquals(false, r.getCell(0).getCellStyle().getShrinkToFit()); + assertEquals(true, r.getCell(1).getCellStyle().getShrinkToFit()); + } } diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestCellStyle.java b/src/testcases/org/apache/poi/hssf/usermodel/TestCellStyle.java index 2457032a66..e57191b646 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestCellStyle.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestCellStyle.java @@ -333,47 +333,76 @@ public final class TestCellStyle extends TestCase { c4.setCellStyle(cs2); assertEquals("style1", c4.getCellStyle().getParentStyle().getUserStyleName()); } - - public void testGetSetBorderHair() { - HSSFWorkbook wb = openSample("55341_CellStyleBorder.xls"); - HSSFSheet s = wb.getSheetAt(0); - HSSFCellStyle cs; - - cs = s.getRow(0).getCell(0).getCellStyle(); - assertEquals(CellStyle.BORDER_HAIR, cs.getBorderRight()); - - cs = s.getRow(1).getCell(1).getCellStyle(); - assertEquals(CellStyle.BORDER_DOTTED, cs.getBorderRight()); - - cs = s.getRow(2).getCell(2).getCellStyle(); - assertEquals(CellStyle.BORDER_DASH_DOT_DOT, cs.getBorderRight()); - - cs = s.getRow(3).getCell(3).getCellStyle(); - assertEquals(CellStyle.BORDER_DASHED, cs.getBorderRight()); - - cs = s.getRow(4).getCell(4).getCellStyle(); - assertEquals(CellStyle.BORDER_THIN, cs.getBorderRight()); - - cs = s.getRow(5).getCell(5).getCellStyle(); - assertEquals(CellStyle.BORDER_MEDIUM_DASH_DOT_DOT, cs.getBorderRight()); - - cs = s.getRow(6).getCell(6).getCellStyle(); - assertEquals(CellStyle.BORDER_SLANTED_DASH_DOT, cs.getBorderRight()); - - cs = s.getRow(7).getCell(7).getCellStyle(); - assertEquals(CellStyle.BORDER_MEDIUM_DASH_DOT, cs.getBorderRight()); - - cs = s.getRow(8).getCell(8).getCellStyle(); - assertEquals(CellStyle.BORDER_MEDIUM_DASHED, cs.getBorderRight()); - - cs = s.getRow(9).getCell(9).getCellStyle(); - assertEquals(CellStyle.BORDER_MEDIUM, cs.getBorderRight()); - - cs = s.getRow(10).getCell(10).getCellStyle(); - assertEquals(CellStyle.BORDER_THICK, cs.getBorderRight()); - - cs = s.getRow(11).getCell(11).getCellStyle(); - assertEquals(CellStyle.BORDER_DOUBLE, cs.getBorderRight()); - } + + public void testGetSetBorderHair() { + HSSFWorkbook wb = openSample("55341_CellStyleBorder.xls"); + HSSFSheet s = wb.getSheetAt(0); + HSSFCellStyle cs; + + cs = s.getRow(0).getCell(0).getCellStyle(); + assertEquals(CellStyle.BORDER_HAIR, cs.getBorderRight()); + + cs = s.getRow(1).getCell(1).getCellStyle(); + assertEquals(CellStyle.BORDER_DOTTED, cs.getBorderRight()); + + cs = s.getRow(2).getCell(2).getCellStyle(); + assertEquals(CellStyle.BORDER_DASH_DOT_DOT, cs.getBorderRight()); + + cs = s.getRow(3).getCell(3).getCellStyle(); + assertEquals(CellStyle.BORDER_DASHED, cs.getBorderRight()); + + cs = s.getRow(4).getCell(4).getCellStyle(); + assertEquals(CellStyle.BORDER_THIN, cs.getBorderRight()); + + cs = s.getRow(5).getCell(5).getCellStyle(); + assertEquals(CellStyle.BORDER_MEDIUM_DASH_DOT_DOT, cs.getBorderRight()); + + cs = s.getRow(6).getCell(6).getCellStyle(); + assertEquals(CellStyle.BORDER_SLANTED_DASH_DOT, cs.getBorderRight()); + + cs = s.getRow(7).getCell(7).getCellStyle(); + assertEquals(CellStyle.BORDER_MEDIUM_DASH_DOT, cs.getBorderRight()); + + cs = s.getRow(8).getCell(8).getCellStyle(); + assertEquals(CellStyle.BORDER_MEDIUM_DASHED, cs.getBorderRight()); + cs = s.getRow(9).getCell(9).getCellStyle(); + assertEquals(CellStyle.BORDER_MEDIUM, cs.getBorderRight()); + + cs = s.getRow(10).getCell(10).getCellStyle(); + assertEquals(CellStyle.BORDER_THICK, cs.getBorderRight()); + + cs = s.getRow(11).getCell(11).getCellStyle(); + assertEquals(CellStyle.BORDER_DOUBLE, cs.getBorderRight()); + } + + public void testShrinkToFit() { + // Existing file + HSSFWorkbook wb = openSample("ShrinkToFit.xls"); + HSSFSheet s = wb.getSheetAt(0); + HSSFRow r = s.getRow(0); + HSSFCellStyle cs = r.getCell(0).getCellStyle(); + + assertEquals(true, cs.getShrinkToFit()); + + // New file + HSSFWorkbook wbOrig = new HSSFWorkbook(); + s = wbOrig.createSheet(); + r = s.createRow(0); + + cs = wbOrig.createCellStyle(); + cs.setShrinkToFit(false); + r.createCell(0).setCellStyle(cs); + + cs = wbOrig.createCellStyle(); + cs.setShrinkToFit(true); + r.createCell(1).setCellStyle(cs); + + // Write out, read, and check + wb = HSSFTestDataSamples.writeOutAndReadBack(wbOrig); + s = wb.getSheetAt(0); + r = s.getRow(0); + assertEquals(false, r.getCell(0).getCellStyle().getShrinkToFit()); + assertEquals(true, r.getCell(1).getCellStyle().getShrinkToFit()); + } } diff --git a/test-data/spreadsheet/ShrinkToFit.xls b/test-data/spreadsheet/ShrinkToFit.xls new file mode 100644 index 0000000000..1228a9a872 Binary files /dev/null and b/test-data/spreadsheet/ShrinkToFit.xls differ diff --git a/test-data/spreadsheet/ShrinkToFit.xlsx b/test-data/spreadsheet/ShrinkToFit.xlsx new file mode 100644 index 0000000000..6f2f455eb4 Binary files /dev/null and b/test-data/spreadsheet/ShrinkToFit.xlsx differ