package org.apache.poi.xwpf.usermodel;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import junit.framework.TestCase;
-
import org.apache.poi.xwpf.XWPFTestDataSamples;
+import org.junit.Test;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTFonts;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTLatentStyles;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTLsdException;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTStyles;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STStyleType;
-public class TestXWPFStyles extends TestCase {
+public final class TestXWPFStyles {
+ @Test
public void testGetUsedStyles() throws IOException {
XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("Styles.docx");
List<XWPFStyle> testUsedStyleList = new ArrayList<XWPFStyle>();
assertEquals(usedStyleList, testUsedStyleList);
}
+ @Test
public void testAddStylesToDocument() throws IOException {
XWPFDocument docOut = new XWPFDocument();
XWPFStyles styles = docOut.createStyles();
* Bug #52449 - We should be able to write a file containing
* both regular and glossary styles without error
*/
+ @Test
public void test52449() throws Exception {
XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("52449.docx");
XWPFStyles styles = doc.getStyles();
* they exist only to copy xml beans to pi-ooxml-schemas.jar
*/
@SuppressWarnings("resource")
+ @Test
public void testLanguages() {
XWPFDocument docOut = new XWPFDocument();
XWPFStyles styles = docOut.createStyles();
styles.setDefaultFonts(def);
}
+ @Test
public void testType() {
CTStyle ctStyle = CTStyle.Factory.newInstance();
XWPFStyle style = new XWPFStyle(ctStyle);
assertEquals(STStyleType.PARAGRAPH, style.getType());
}
+ @Test
public void testLatentStyles() {
CTLatentStyles latentStyles = CTLatentStyles.Factory.newInstance();
CTLsdException ex = latentStyles.addNewLsdException();
assertEquals(false, ls.isLatentStyle("notex1"));
}
+ @Test
public void testSetStyles_Bug57254() throws IOException {
XWPFDocument docOut = new XWPFDocument();
XWPFStyles styles = docOut.createStyles();
assertTrue(styles.styleExist(strStyleId));
}
+ @Test
public void testEasyAccessToStyles() throws IOException {
XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("SampleDoc.docx");
XWPFStyles styles = doc.getStyles();
assertEquals(11, styles.getDefaultRunStyle().getFontSize());
assertEquals(200, styles.getDefaultParagraphStyle().getSpacingAfter());
}
+
+ // Bug 60329: style with missing StyleID throws NPE
+ @Test
+ public void testMissingStyleId() throws IOException {
+ XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("60329.docx");
+ XWPFStyles styles = doc.getStyles();
+ // Styles exist in the test document in this order, EmptyCellLayoutStyle
+ // is missing a StyleId
+ try {
+ assertNotNull(styles.getStyle("NoList"));
+ assertNull(styles.getStyle("EmptyCellLayoutStyle"));
+ assertNotNull(styles.getStyle("BalloonText"));
+ } catch (NullPointerException e) {
+ fail(e.toString());
+ }
+
+ doc.close();
+ }
}