From 2631c9a20ec0e18e74e113bcd080ac864438fe32 Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Fri, 8 Oct 2021 08:10:17 +0000 Subject: [PATCH] add test case from bug-65619 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1894016 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/xssf/usermodel/TestSXSSFBugs.java | 41 ++++++++++++++++--- 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java b/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java index aeea648a29..432444f044 100644 --- a/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java +++ b/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java @@ -28,13 +28,9 @@ import java.io.FileOutputStream; import java.io.IOException; import java.util.Date; +import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream; import org.apache.poi.ss.ITestDataProvider; -import org.apache.poi.ss.usermodel.BaseTestBugzillaIssues; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.PrintSetup; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.xssf.SXSSFITestDataProvider; import org.apache.poi.xssf.XSSFITestDataProvider; @@ -245,4 +241,37 @@ public final class TestSXSSFBugs extends BaseTestBugzillaIssues { } } } + + @Test + void test65619() throws Exception { + try (UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream()) { + try (SXSSFWorkbook workbook = new SXSSFWorkbook(100)) { + SXSSFSheet sheet = workbook.createSheet("Test Sheet 1"); + Font font = workbook.createFont(); + font.setItalic(true); + CellStyle cs = workbook.createCellStyle(); + cs.setFont(font); + Row row = sheet.createRow(0); + Cell cell = row.createCell(1); + cell.setCellValue(new Date()); + cell.setCellStyle(cs); + CreationHelper ch = workbook.getCreationHelper(); + cs.setDataFormat(ch.createDataFormat().getFormat("dd MMM yyyy HH:mm:ss")); + cs.setAlignment(HorizontalAlignment.RIGHT); + workbook.write(bos); + } + try (XSSFWorkbook workbook = new XSSFWorkbook(bos.toInputStream())) { + XSSFSheet sheet = workbook.getSheet("Test Sheet 1"); + XSSFRow row = sheet.getRow(0); + XSSFCell cell = row.getCell(1); + XSSFCellStyle cs = cell.getCellStyle(); + assertNotNull(cs, "cell should have style"); + assertEquals(HorizontalAlignment.RIGHT, cs.getCellAlignment().getHorizontal()); + assertEquals("dd MMM yyyy HH:mm:ss", cs.getDataFormatString()); + XSSFFont font = cs.getFont(); + assertNotNull(font, "style should have font"); + assertTrue(font.getItalic(), "saved font is italic"); + } + } + } } -- 2.39.5