aboutsummaryrefslogtreecommitdiffstats
path: root/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFPictureData.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFPictureData.java')
-rw-r--r--src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFPictureData.java189
1 files changed, 0 insertions, 189 deletions
diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFPictureData.java b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFPictureData.java
deleted file mode 100644
index 7deb6f22a6..0000000000
--- a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFPictureData.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/* ====================================================================
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-==================================================================== */
-
-package org.apache.poi.xwpf.usermodel;
-
-import static org.junit.jupiter.api.Assertions.assertArrayEquals;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.fail;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.util.List;
-
-import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
-import org.apache.poi.openxml4j.opc.PackageRelationship;
-import org.apache.poi.xssf.usermodel.XSSFRelation;
-import org.apache.poi.xwpf.XWPFTestDataSamples;
-import org.apache.poi.xwpf.model.XWPFHeaderFooterPolicy;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-
-class TestXWPFPictureData {
-
- @Test
- void testRead() throws InvalidFormatException, IOException {
- try (XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("VariousPictures.docx")) {
- List<XWPFPictureData> pictures = sampleDoc.getAllPictures();
-
- assertEquals(5, pictures.size());
- String[] ext = {"wmf", "png", "emf", "emf", "jpeg"};
- for (int i = 0; i < pictures.size(); i++) {
- assertEquals(ext[i], pictures.get(i).suggestFileExtension());
- }
-
- int num = pictures.size();
-
- byte[] pictureData = XWPFTestDataSamples.getImage("nature1.jpg");
-
- String relationId = sampleDoc.addPictureData(pictureData, XWPFDocument.PICTURE_TYPE_JPEG);
- // picture list was updated
- assertEquals(num + 1, pictures.size());
- XWPFPictureData pict = (XWPFPictureData) sampleDoc.getRelationById(relationId);
- assertNotNull(pict);
- assertEquals("jpeg", pict.suggestFileExtension());
- assertArrayEquals(pictureData, pict.getData());
- }
- }
-
- @Test
- void testPictureInHeader() throws IOException {
- try (XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("headerPic.docx")) {
- verifyOneHeaderPicture(sampleDoc);
-
- XWPFDocument readBack = XWPFTestDataSamples.writeOutAndReadBack(sampleDoc);
- verifyOneHeaderPicture(readBack);
- }
- }
-
- @Test
- void testCreateHeaderPicture() throws Exception {
- try (XWPFDocument doc = new XWPFDocument()) {
-
- // Starts with no header
- XWPFHeaderFooterPolicy policy = doc.getHeaderFooterPolicy();
- assertNull(policy);
-
- // Add a default header
- policy = doc.createHeaderFooterPolicy();
- XWPFHeader header = policy.createHeader(XWPFHeaderFooterPolicy.DEFAULT);
- header.createParagraph().createRun().setText("Hello, Header World!");
- header.createParagraph().createRun().setText("Paragraph 2");
- assertEquals(0, header.getAllPictures().size());
- assertEquals(2, header.getParagraphs().size());
-
- // Add a picture to the first paragraph
- header.getParagraphs().get(0).getRuns().get(0).addPicture(
- new ByteArrayInputStream(new byte[]{1, 2, 3, 4}),
- Document.PICTURE_TYPE_JPEG, "test.jpg", 2, 2);
-
- // Check
- verifyOneHeaderPicture(doc);
-
- // Save, re-load, re-check
- XWPFDocument readBack = XWPFTestDataSamples.writeOutAndReadBack(doc);
- verifyOneHeaderPicture(readBack);
- }
- }
-
- private void verifyOneHeaderPicture(XWPFDocument sampleDoc) {
- XWPFHeaderFooterPolicy policy = sampleDoc.getHeaderFooterPolicy();
-
- XWPFHeader header = policy.getDefaultHeader();
-
- List<XWPFPictureData> pictures = header.getAllPictures();
- assertEquals(1, pictures.size());
- }
-
- @Test
- void testNew() throws InvalidFormatException, IOException {
- try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("EmptyDocumentWithHeaderFooter.docx")) {
- byte[] jpegData = XWPFTestDataSamples.getImage("nature1.jpg");
- assertNotNull(jpegData);
- byte[] gifData = XWPFTestDataSamples.getImage("nature1.gif");
- assertNotNull(gifData);
- byte[] pngData = XWPFTestDataSamples.getImage("nature1.png");
- assertNotNull(pngData);
-
- List<XWPFPictureData> pictures = doc.getAllPictures();
- assertEquals(0, pictures.size());
-
- // Document shouldn't have any image relationships
- assertEquals(13, doc.getPackagePart().getRelationships().size());
- for (PackageRelationship rel : doc.getPackagePart().getRelationships()) {
- assertNotEquals(XSSFRelation.IMAGE_JPEG.getRelation(), rel.getRelationshipType(), "Shouldn't have JPEG yet");
- }
-
- // Add the image
- String relationId = doc.addPictureData(jpegData, XWPFDocument.PICTURE_TYPE_JPEG);
- assertEquals(1, pictures.size());
- XWPFPictureData jpgPicData = (XWPFPictureData) doc.getRelationById(relationId);
- assertNotNull(jpgPicData);
- assertEquals("jpeg", jpgPicData.suggestFileExtension());
- assertArrayEquals(jpegData, jpgPicData.getData());
-
- // Ensure it now has one
- assertEquals(14, doc.getPackagePart().getRelationships().size());
- PackageRelationship jpegRel = null;
- for (PackageRelationship rel : doc.getPackagePart().getRelationships()) {
- if (rel.getRelationshipType().equals(XWPFRelation.IMAGE_JPEG.getRelation())) {
- assertNull(jpegRel, "Found 2 jpegs!");
- jpegRel = rel;
- }
- }
- assertNotNull(jpegRel, "JPEG Relationship not found");
-
- // Check the details
- assertNotNull(jpegRel);
- assertEquals(XWPFRelation.IMAGE_JPEG.getRelation(), jpegRel.getRelationshipType());
- assertEquals("/word/document.xml", jpegRel.getSource().getPartName().toString());
- assertEquals("/word/media/image1.jpeg", jpegRel.getTargetURI().getPath());
-
- XWPFPictureData pictureDataByID = doc.getPictureDataByID(jpegRel.getId());
- assertArrayEquals(jpegData, pictureDataByID.getData());
-
- // Save an re-load, check it appears
- try (XWPFDocument docBack = XWPFTestDataSamples.writeOutAndReadBack(doc)) {
- assertEquals(1, docBack.getAllPictures().size());
- assertEquals(1, docBack.getAllPackagePictures().size());
-
- // verify the picture that we read back in
- pictureDataByID = docBack.getPictureDataByID(jpegRel.getId());
- assertArrayEquals(jpegData, pictureDataByID.getData());
- }
- }
- }
-
- @Test
- void testBug51770() throws IOException {
- try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Bug51170.docx")) {
- XWPFHeaderFooterPolicy policy = doc.getHeaderFooterPolicy();
- XWPFHeader header = policy.getDefaultHeader();
-
- header.getParagraphs().stream()
- .map(XWPFParagraph::getRuns)
- .flatMap(List::stream)
- .map(XWPFRun::getEmbeddedPictures)
- .flatMap(List::stream)
- .map(XWPFPicture::getPictureData)
- .forEach(Assertions::assertNull);
- }
- }
-}