Author: fanningpj
Date: Wed Aug 15 18:31:36 2018
New Revision: 1838133

URL: http://svn.apache.org/viewvc?rev=1838133&view=rev
Log:
[github-121] Fix issue with setting vertical alignment and emphasis mark. This 
closes #121

Modified:
    poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFRun.java

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java?rev=1838133&r1=1838132&r2=1838133&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java 
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java Wed Aug 
15 18:31:36 2018
@@ -1485,7 +1485,7 @@ public class XWPFRun implements ISDTCont
      */
     public void setVerticalAlignment(String verticalAlignment) {
         CTRPr pr = getRunProperties(true);
-        CTVerticalAlignRun vertAlign = pr.getVertAlign();
+        CTVerticalAlignRun vertAlign = pr.isSetVertAlign() ? pr.getVertAlign() 
: pr.addNewVertAlign();
         STVerticalAlignRun align = vertAlign.xgetVal();
         if (align == null) {
             align = STVerticalAlignRun.Factory.newInstance();            
@@ -1525,7 +1525,7 @@ public class XWPFRun implements ISDTCont
      */
     public void setEmphasisMark(String markType) {
         CTRPr pr = getRunProperties(true);
-        CTEm emphasisMark = pr.getEm();
+        CTEm emphasisMark = pr.isSetEm() ? pr.getEm() : pr.addNewEm();
         STEm mark = emphasisMark.xgetVal();
         if (mark == null) {
             mark = STEm.Factory.newInstance();            

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFRun.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFRun.java?rev=1838133&r1=1838132&r2=1838133&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFRun.java 
(original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFRun.java 
Wed Aug 15 18:31:36 2018
@@ -689,8 +689,10 @@ public class TestXWPFRun {
     @Test
     public void testSetGetVerticalAlignment() throws IOException {
         XWPFDocument document = new XWPFDocument();
-        final XWPFRun run = document.createParagraph().createRun();
+        XWPFRun run = document.createParagraph().createRun();
         assertEquals(STVerticalAlignRun.BASELINE, run.getVerticalAlignment());
+        // Reset to a fresh run so we test case of run not having vertical 
alignment at all
+        run = document.createParagraph().createRun();
         run.setVerticalAlignment("subscript");
         assertEquals(STVerticalAlignRun.SUBSCRIPT, run.getVerticalAlignment());
         run.setVerticalAlignment("superscript");
@@ -714,8 +716,10 @@ public class TestXWPFRun {
     @Test
     public void testSetGetEmphasisMark() throws IOException {
         XWPFDocument document = new XWPFDocument();
-        final XWPFRun run = document.createParagraph().createRun();
+        XWPFRun run = document.createParagraph().createRun();
         assertEquals(STEm.NONE, run.getEmphasisMark());
+        // Reset to a fresh run so we test case of run not having property at 
all
+        run = document.createParagraph().createRun();
         run.setEmphasisMark("dot");
         assertEquals(STEm.DOT, run.getEmphasisMark());
         document.close();
@@ -724,8 +728,10 @@ public class TestXWPFRun {
     @Test
     public void testSetGetUnderlineColor() throws IOException {
         XWPFDocument document = new XWPFDocument();
-        final XWPFRun run = document.createParagraph().createRun();
+        XWPFRun run = document.createParagraph().createRun();
         assertEquals("auto", run.getUnderlineColor());
+        // Reset to a fresh run so we test case of run not having property at 
all
+        run = document.createParagraph().createRun();
         String colorRgb = "C0F1a2";
         run.setUnderlineColor(colorRgb);
         assertEquals(colorRgb.toUpperCase(LocaleUtil.getUserLocale()), 
run.getUnderlineColor());
@@ -737,8 +743,10 @@ public class TestXWPFRun {
     @Test
     public void testSetGetUnderlineThemeColor() throws IOException {
         XWPFDocument document = new XWPFDocument();
-        final XWPFRun run = document.createParagraph().createRun();
+        XWPFRun run = document.createParagraph().createRun();
         assertEquals(STThemeColor.NONE, run.getUnderlineThemeColor());
+        // Reset to a fresh run so we test case of run not having property at 
all
+        run = document.createParagraph().createRun();
         String colorName = "accent4";
         run.setUnderlineThemeColor(colorName);
         assertEquals(STThemeColor.Enum.forString(colorName), 
run.getUnderlineThemeColor());



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to