| /* ==================================================================== |
| 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; |
| |
| import java.io.IOException;
|
|
|
| import junit.framework.TestCase;
|
| import org.apache.poi.POIXMLProperties.CoreProperties;
|
| import org.apache.poi.openxml4j.opc.PackageProperties;
|
| import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
| import org.openxmlformats.schemas.officeDocument.x2006.extendedProperties.CTDigSigBlob; |
| import org.openxmlformats.schemas.officeDocument.x2006.extendedProperties.CTProperties; |
| import org.openxmlformats.schemas.officeDocument.x2006.extendedProperties.CTVectorLpstr; |
| import org.openxmlformats.schemas.officeDocument.x2006.extendedProperties.CTVectorVariant; |
| |
| /** |
| * Tests if the {@link CoreProperties#getKeywords()} method. This test has been |
| * submitted because even though the
|
| * {@link PackageProperties#getKeywordsProperty()} had been present before, the
|
| * {@link CoreProperties#getKeywords()} had been missing.
|
| * <p/>
|
| * The author of this has added {@link CoreProperties#getKeywords()} and
|
| * {@link CoreProperties#setKeywords(String)} and this test is supposed to test
|
| * them.
|
| *
|
| * @author Antoni Mylka
|
| */
|
| public final class TestAllExtendedProperties extends TestCase {
|
| public void testGetAllExtendedProperties() throws IOException {
|
| XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("TestPoiXMLDocumentCorePropertiesGetKeywords.docx");
|
| CTProperties ctProps = doc.getProperties().getExtendedProperties().getUnderlyingProperties();
|
| assertEquals("Microsoft Office Word", ctProps.getApplication());
|
| assertEquals("14.0000", ctProps.getAppVersion());
|
| assertEquals(57, ctProps.getCharacters());
|
| assertEquals(66, ctProps.getCharactersWithSpaces());
|
| assertEquals("", ctProps.getCompany());
|
| assertNull(ctProps.getDigSig());
|
| assertEquals(0, ctProps.getDocSecurity());
|
| assertNotNull(ctProps.getDomNode());
|
|
|
| CTVectorVariant vec = ctProps.getHeadingPairs();
|
| assertEquals(2, vec.getVector().sizeOfVariantArray());
|
| assertEquals("Title", vec.getVector().getVariantArray(0).getLpstr());
|
| assertEquals(1, vec.getVector().getVariantArray(1).getI4());
|
|
|
| assertFalse(ctProps.isSetHiddenSlides());
|
| assertEquals(0, ctProps.getHiddenSlides());
|
| assertFalse(ctProps.isSetHLinks());
|
| assertNull(ctProps.getHLinks());
|
| assertNull(ctProps.getHyperlinkBase());
|
| assertTrue(ctProps.isSetHyperlinksChanged());
|
| assertFalse(ctProps.getHyperlinksChanged());
|
| assertEquals(1, ctProps.getLines());
|
| assertTrue(ctProps.isSetLinksUpToDate());
|
| assertFalse(ctProps.getLinksUpToDate());
|
| assertNull(ctProps.getManager());
|
| assertFalse(ctProps.isSetMMClips());
|
| assertEquals(0, ctProps.getMMClips());
|
| assertFalse(ctProps.isSetNotes());
|
| assertEquals(0, ctProps.getNotes());
|
| assertEquals(1, ctProps.getPages());
|
| assertEquals(1, ctProps.getParagraphs());
|
| assertNull(ctProps.getPresentationFormat());
|
| assertTrue(ctProps.isSetScaleCrop());
|
| assertFalse(ctProps.getScaleCrop());
|
| assertTrue(ctProps.isSetSharedDoc());
|
| assertFalse(ctProps.getSharedDoc());
|
| assertFalse(ctProps.isSetSlides());
|
| assertEquals(0, ctProps.getSlides());
|
| assertEquals("Normal.dotm", ctProps.getTemplate());
|
|
|
| CTVectorLpstr vec2 = ctProps.getTitlesOfParts();
|
| assertEquals(1, vec2.getVector().sizeOfLpstrArray());
|
| assertEquals("Example Word 2010 Document", vec2.getVector().getLpstrArray(0));
|
|
|
| assertEquals(3, ctProps.getTotalTime());
|
| assertEquals(10, ctProps.getWords());
|
|
|
| // Check the digital signature part
|
| // Won't be there in this file, but we
|
| // need to do this check so that the
|
| // appropriate parts end up in the
|
| // smaller ooxml schemas file
|
| CTDigSigBlob blob = ctProps.getDigSig();
|
| assertNull(blob);
|
|
|
| blob = CTDigSigBlob.Factory.newInstance();
|
| blob.setBlob(new byte[]{2, 6, 7, 2, 3, 4, 5, 1, 2, 3});
|
| }
|
| }
|