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"); + } + } + } }