From 9f6f11023ad85c9a13d444164f76759d1ba0d4a3 Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Sat, 23 Oct 2021 12:53:57 +0000 Subject: [PATCH] fix mime type for pict files (image/x-pict) git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1894510 13f79535-47bb-0310-9956-ffa450edef68 --- .../xssf/usermodel/TestXSSFPictureData.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFPictureData.java b/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFPictureData.java index 9842e9ea58..b42aeba053 100644 --- a/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFPictureData.java +++ b/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFPictureData.java @@ -112,6 +112,37 @@ public final class TestXSSFPictureData { wb.close(); } + @Test + void testNewPictFormat() throws IOException { + try (XSSFWorkbook wb = new XSSFWorkbook()) { + XSSFSheet sheet = wb.createSheet(); + XSSFDrawing drawing = sheet.createDrawingPatriarch(); + + byte[] pictData = "test pict data".getBytes(LocaleUtil.CHARSET_1252); + + List pictures = wb.getAllPictures(); + assertEquals(0, pictures.size()); + + int pictIdx = wb.addPicture(pictData, XSSFWorkbook.PICTURE_TYPE_PICT); + assertEquals(1, pictures.size()); + assertEquals("pict", pictures.get(pictIdx).suggestFileExtension()); + assertArrayEquals(pictData, pictures.get(pictIdx).getData()); + + //TODO finish usermodel API for XSSFPicture + XSSFPicture p1 = drawing.createPicture(new XSSFClientAnchor(), pictIdx); + assertNotNull(p1); + + //check that the added pictures are accessible after write + try (XSSFWorkbook wbBack = XSSFTestDataSamples.writeOutAndReadBack(wb)) { + List pictures2 = wbBack.getAllPictures(); + assertEquals(1, pictures2.size()); + + assertEquals("pict", pictures2.get(pictIdx).suggestFileExtension()); + assertArrayEquals(pictData, pictures2.get(pictIdx).getData()); + } + } + } + /** * Bug 53568: XSSFPicture.getPictureData() can return null. */ -- 2.39.5