You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2016/06/05 01:04:58 UTC

svn commit: r1746858 - in /poi/trunk: src/ooxml/java/org/apache/poi/xslf/model/ src/ooxml/java/org/apache/poi/xslf/usermodel/ src/ooxml/testcases/org/apache/poi/xslf/usermodel/ test-data/slideshow/

Author: kiwiwings
Date: Sun Jun  5 01:04:58 2016
New Revision: 1746858

URL: http://svn.apache.org/viewvc?rev=1746858&view=rev
Log:
Regression fix for XSLF 
- master style was always overridden, because of r1745100
- AIOOB in TextDirection mapping

Added:
    poi/trunk/test-data/slideshow/table_test2.pptx   (with props)
Modified:
    poi/trunk/src/ooxml/java/org/apache/poi/xslf/model/CharacterPropertyFetcher.java
    poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFLineBreak.java
    poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java
    poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java
    poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextShape.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextRun.java

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/model/CharacterPropertyFetcher.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/model/CharacterPropertyFetcher.java?rev=1746858&r1=1746857&r2=1746858&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xslf/model/CharacterPropertyFetcher.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/model/CharacterPropertyFetcher.java Sun Jun  5 01:04:58 2016
@@ -22,17 +22,13 @@ package org.apache.poi.xslf.model;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTTextCharacterProperties;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraphProperties;
 
-/**
- *
- * @author Yegor Kozlov
- */
 public abstract class CharacterPropertyFetcher<T> extends ParagraphPropertyFetcher<T> {
     public CharacterPropertyFetcher(int level) {
         super(level);
     }
 
     public boolean fetch(CTTextParagraphProperties props) {
-        if (props.isSetDefRPr()) {
+        if (props != null && props.isSetDefRPr()) {
             return fetch(props.getDefRPr());
         }
 

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFLineBreak.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFLineBreak.java?rev=1746858&r1=1746857&r2=1746858&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFLineBreak.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFLineBreak.java Sun Jun  5 01:04:58 2016
@@ -22,9 +22,6 @@ package org.apache.poi.xslf.usermodel;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTRegularTextRun;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTTextCharacterProperties;
 
-/**
- * @author Yegor Kozlov
- */
 class XSLFLineBreak extends XSLFTextRun {
     private final CTTextCharacterProperties _brProps;
 
@@ -34,7 +31,7 @@ class XSLFLineBreak extends XSLFTextRun
     }
 
     @Override
-    protected CTTextCharacterProperties getRPr(){
+    protected CTTextCharacterProperties getRPr(boolean create){
         return _brProps;
     }
 

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java?rev=1746858&r1=1746857&r2=1746858&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java Sun Jun  5 01:04:58 2016
@@ -151,7 +151,7 @@ public class XSLFTextParagraph implement
         CTTextCharacterProperties brProps = br.addNewRPr();
         if(_runs.size() > 0){
             // by default line break has the font size of the last text run
-            CTTextCharacterProperties prevRun = _runs.get(_runs.size() - 1).getRPr();
+            CTTextCharacterProperties prevRun = _runs.get(_runs.size() - 1).getRPr(true);
             brProps.set(prevRun);
         }
         CTRegularTextRun r = CTRegularTextRun.Factory.newInstance();
@@ -1043,7 +1043,15 @@ public class XSLFTextParagraph implement
         }
         if (!_runs.isEmpty()) {
             int size = _runs.size();
-            thisP.setEndParaRPr(_runs.get(size-1).getRPr());
+            XSLFTextRun lastRun = _runs.get(size-1);
+            CTTextCharacterProperties cpOther = lastRun.getRPr(false);
+            if (cpOther != null) {
+                if (thisP.isSetEndParaRPr()) {
+                    thisP.unsetEndParaRPr();
+                }
+                CTTextCharacterProperties cp = thisP.addNewEndParaRPr();
+                cp.set(cpOther);
+            }
             for (int i=size; i>0; i--) {
                 thisP.removeR(i-1);
             }

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java?rev=1746858&r1=1746857&r2=1746858&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java Sun Jun  5 01:04:58 2016
@@ -96,7 +96,7 @@ public class XSLFTextRun implements Text
         SolidPaint sp = (SolidPaint)color;
         Color c = DrawPaint.applyColorTransform(sp.getSolidColor());
         
-        CTTextCharacterProperties rPr = getRPr();
+        CTTextCharacterProperties rPr = getRPr(true);
         CTSolidColorFillProperties fill = rPr.isSetSolidFill() ? rPr.getSolidFill() : rPr.addNewSolidFill();
         
         XSLFColor col = new XSLFColor(fill, getParentParagraph().getParentShape().getSheet().getTheme(), fill.getSchemeClr());
@@ -107,17 +107,19 @@ public class XSLFTextRun implements Text
     public PaintStyle getFontColor(){
         CharacterPropertyFetcher<PaintStyle> fetcher = new CharacterPropertyFetcher<PaintStyle>(_p.getIndentLevel()){
             public boolean fetch(CTTextCharacterProperties props){
-                XSLFShape shape = _p.getParentShape();
-                CTShapeStyle style = shape.getSpStyle();
-                CTSchemeColor phClr = null;
-                if (style != null && style.getFontRef() != null) {
-                    phClr = style.getFontRef().getSchemeClr();
-                }
-
-                PaintStyle ps = shape.getPaint(props, phClr);
-                if (ps != null)  {
-                    setValue(ps);
-                    return true;
+                if (props != null) {
+                    XSLFShape shape = _p.getParentShape();
+                    CTShapeStyle style = shape.getSpStyle();
+                    CTSchemeColor phClr = null;
+                    if (style != null && style.getFontRef() != null) {
+                        phClr = style.getFontRef().getSchemeClr();
+                    }
+    
+                    PaintStyle ps = shape.getPaint(props, phClr);
+                    if (ps != null)  {
+                        setValue(ps);
+                        return true;
+                    }
                 }
                 
                 return false;
@@ -129,7 +131,7 @@ public class XSLFTextRun implements Text
 
     @Override
     public void setFontSize(Double fontSize){
-        CTTextCharacterProperties rPr = getRPr();
+        CTTextCharacterProperties rPr = getRPr(true);
         if(fontSize == null) {
             if (rPr.isSetSz()) rPr.unsetSz();
         } else {
@@ -149,7 +151,7 @@ public class XSLFTextRun implements Text
 
         CharacterPropertyFetcher<Double> fetcher = new CharacterPropertyFetcher<Double>(_p.getIndentLevel()){
             public boolean fetch(CTTextCharacterProperties props){
-                if(props.isSetSz()){
+                if (props != null && props.isSetSz()) {
                     setValue(props.getSz()*0.01);
                     return true;
                 }
@@ -169,7 +171,7 @@ public class XSLFTextRun implements Text
 
         CharacterPropertyFetcher<Double> fetcher = new CharacterPropertyFetcher<Double>(_p.getIndentLevel()){
             public boolean fetch(CTTextCharacterProperties props){
-                if(props.isSetSpc()){
+                if (props != null && props.isSetSpc()) {
                     setValue(props.getSpc()*0.01);
                     return true;
                 }
@@ -190,7 +192,7 @@ public class XSLFTextRun implements Text
      * @param spc  character spacing in points.
      */
     public void setCharacterSpacing(double spc){
-        CTTextCharacterProperties rPr = getRPr();
+        CTTextCharacterProperties rPr = getRPr(true);
         if(spc == 0.0) {
             if(rPr.isSetSpc()) rPr.unsetSpc();
         } else {
@@ -204,7 +206,7 @@ public class XSLFTextRun implements Text
     }
 
     public void setFontFamily(String typeface, byte charset, byte pictAndFamily, boolean isSymbol){
-        CTTextCharacterProperties rPr = getRPr();
+        CTTextCharacterProperties rPr = getRPr(true);
 
         if(typeface == null){
             if(rPr.isSetLatin()) rPr.unsetLatin();
@@ -229,16 +231,18 @@ public class XSLFTextRun implements Text
 
         CharacterPropertyFetcher<String> visitor = new CharacterPropertyFetcher<String>(_p.getIndentLevel()){
             public boolean fetch(CTTextCharacterProperties props){
-                CTTextFont font = props.getLatin();
-                if(font != null){
-                    String typeface = font.getTypeface();
-                    if("+mj-lt".equals(typeface)) {
-                        typeface = theme.getMajorFont();
-                    } else if ("+mn-lt".equals(typeface)){
-                        typeface = theme.getMinorFont();
+                if (props != null) {
+                    CTTextFont font = props.getLatin();
+                    if (font != null) {
+                        String typeface = font.getTypeface();
+                        if("+mj-lt".equals(typeface)) {
+                            typeface = theme.getMajorFont();
+                        } else if ("+mn-lt".equals(typeface)){
+                            typeface = theme.getMinorFont();
+                        }
+                        setValue(typeface);
+                        return true;
                     }
-                    setValue(typeface);
-                    return true;
                 }
                 return false;
             }
@@ -253,10 +257,12 @@ public class XSLFTextRun implements Text
 
         CharacterPropertyFetcher<Byte> visitor = new CharacterPropertyFetcher<Byte>(_p.getIndentLevel()){
             public boolean fetch(CTTextCharacterProperties props){
-                CTTextFont font = props.getLatin();
-                if(font != null){
-                    setValue(font.getPitchFamily());
-                    return true;
+                if (props != null) {
+                    CTTextFont font = props.getLatin();
+                    if (font != null) {
+                        setValue(font.getPitchFamily());
+                        return true;
+                    }
                 }
                 return false;
             }
@@ -268,14 +274,14 @@ public class XSLFTextRun implements Text
 
     @Override
     public void setStrikethrough(boolean strike) {
-        getRPr().setStrike(strike ? STTextStrikeType.SNG_STRIKE : STTextStrikeType.NO_STRIKE);
+        getRPr(true).setStrike(strike ? STTextStrikeType.SNG_STRIKE : STTextStrikeType.NO_STRIKE);
     }
 
     @Override
     public boolean isStrikethrough() {
         CharacterPropertyFetcher<Boolean> fetcher = new CharacterPropertyFetcher<Boolean>(_p.getIndentLevel()){
             public boolean fetch(CTTextCharacterProperties props){
-                if(props.isSetStrike()){
+                if(props != null && props.isSetStrike()) {
                     setValue(props.getStrike() != STTextStrikeType.NO_STRIKE);
                     return true;
                 }
@@ -290,7 +296,7 @@ public class XSLFTextRun implements Text
     public boolean isSuperscript() {
         CharacterPropertyFetcher<Boolean> fetcher = new CharacterPropertyFetcher<Boolean>(_p.getIndentLevel()){
             public boolean fetch(CTTextCharacterProperties props){
-                if(props.isSetBaseline()){
+                if (props != null && props.isSetBaseline()) {
                     setValue(props.getBaseline() > 0);
                     return true;
                 }
@@ -311,7 +317,7 @@ public class XSLFTextRun implements Text
      * @param baselineOffset
      */
     public void setBaselineOffset(double baselineOffset){
-       getRPr().setBaseline((int) baselineOffset * 1000);
+       getRPr(true).setBaseline((int) baselineOffset * 1000);
     }
 
     /**
@@ -338,7 +344,7 @@ public class XSLFTextRun implements Text
     public boolean isSubscript() {
         CharacterPropertyFetcher<Boolean> fetcher = new CharacterPropertyFetcher<Boolean>(_p.getIndentLevel()){
             public boolean fetch(CTTextCharacterProperties props){
-                if(props.isSetBaseline()){
+                if (props != null && props.isSetBaseline()) {
                     setValue(props.getBaseline() < 0);
                     return true;
                 }
@@ -355,7 +361,7 @@ public class XSLFTextRun implements Text
     public TextCap getTextCap() {
         CharacterPropertyFetcher<TextCap> fetcher = new CharacterPropertyFetcher<TextCap>(_p.getIndentLevel()){
             public boolean fetch(CTTextCharacterProperties props){
-                if(props.isSetCap()){
+                if (props != null && props.isSetCap()) {
                     int idx = props.getCap().intValue() - 1;
                     setValue(TextCap.values()[idx]);
                     return true;
@@ -369,14 +375,14 @@ public class XSLFTextRun implements Text
 
     @Override
     public void setBold(boolean bold){
-        getRPr().setB(bold);
+        getRPr(true).setB(bold);
     }
 
     @Override
     public boolean isBold(){
         CharacterPropertyFetcher<Boolean> fetcher = new CharacterPropertyFetcher<Boolean>(_p.getIndentLevel()){
             public boolean fetch(CTTextCharacterProperties props){
-                if(props.isSetB()){
+                if (props != null && props.isSetB()) {
                     setValue(props.getB());
                     return true;
                 }
@@ -389,14 +395,14 @@ public class XSLFTextRun implements Text
 
     @Override
     public void setItalic(boolean italic){
-        getRPr().setI(italic);
+        getRPr(true).setI(italic);
     }
 
     @Override
     public boolean isItalic(){
         CharacterPropertyFetcher<Boolean> fetcher = new CharacterPropertyFetcher<Boolean>(_p.getIndentLevel()){
             public boolean fetch(CTTextCharacterProperties props){
-                if(props.isSetI()){
+                if (props != null && props.isSetI()) {
                     setValue(props.getI());
                     return true;
                 }
@@ -409,14 +415,14 @@ public class XSLFTextRun implements Text
 
     @Override
     public void setUnderlined(boolean underline) {
-        getRPr().setU(underline ? STTextUnderlineType.SNG : STTextUnderlineType.NONE);
+        getRPr(true).setU(underline ? STTextUnderlineType.SNG : STTextUnderlineType.NONE);
     }
 
     @Override
     public boolean isUnderlined(){
         CharacterPropertyFetcher<Boolean> fetcher = new CharacterPropertyFetcher<Boolean>(_p.getIndentLevel()){
             public boolean fetch(CTTextCharacterProperties props){
-                if(props.isSetU()){
+                if (props != null && props.isSetU()) {
                     setValue(props.getU() != STTextUnderlineType.NONE);
                     return true;
                 }
@@ -427,8 +433,20 @@ public class XSLFTextRun implements Text
         return fetcher.getValue() == null ? false : fetcher.getValue();
     }
 
-    protected CTTextCharacterProperties getRPr(){
-        return _r.isSetRPr() ? _r.getRPr() : _r.addNewRPr();
+    /**
+     * Return the character properties
+     *
+     * @param create if true, create an empty character properties object if it doesn't exist
+     * @return the character properties or null if create was false and the properties haven't exist
+     */
+    protected CTTextCharacterProperties getRPr(boolean create) {
+        if (_r.isSetRPr()) {
+            return _r.getRPr();
+        } else if (create) {
+            return _r.addNewRPr();
+        } else {
+            return null;
+        }
     }
 
     @Override
@@ -463,7 +481,7 @@ public class XSLFTextRun implements Text
         XSLFSheet sheet = shape.getSheet();
         boolean ok = false;
 
-        if (_r.isSetRPr()) ok = fetcher.fetch(getRPr());
+        if (_r.isSetRPr()) ok = fetcher.fetch(getRPr(false));
         if (ok) return true;
         
         ok = shape.fetchShapeProperty(fetcher);

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextShape.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextShape.java?rev=1746858&r1=1746857&r2=1746858&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextShape.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextShape.java Sun Jun  5 01:04:58 2016
@@ -112,8 +112,8 @@ public abstract class XSLFTextShape exte
         if (text == null) return null;
 
         // copy properties from last paragraph / textrun or paragraph end marker
-        CTTextParagraphProperties pPr = null;
-        CTTextCharacterProperties rPr = null;
+        CTTextParagraphProperties otherPPr = null;
+        CTTextCharacterProperties otherRPr = null;
 
         boolean firstPara;
         XSLFTextParagraph para;
@@ -124,25 +124,33 @@ public abstract class XSLFTextShape exte
             firstPara = !newParagraph;
             para = _paragraphs.get(_paragraphs.size()-1);
             CTTextParagraph ctp = para.getXmlObject();
-            pPr = ctp.getPPr();
+            otherPPr = ctp.getPPr();
             List<XSLFTextRun> runs = para.getTextRuns();
             if (!runs.isEmpty()) {
                 XSLFTextRun r0 = runs.get(runs.size()-1);
-                rPr = r0.getXmlObject().getRPr();
-            } else if (ctp.isSetEndParaRPr()) {
-                rPr = ctp.getEndParaRPr();
+                otherRPr = r0.getRPr(false);
+                if (otherRPr == null) {
+                    otherRPr = ctp.getEndParaRPr();
+                }
             }
+            // don't copy endParaRPr to the run in case there aren't any other runs
+            // this is the case when setText() was called initially
+            // otherwise the master style will be overridden/ignored
         }
 
         XSLFTextRun run = null;
         for (String lineTxt : text.split("\\r\\n?|\\n")) {
             if (!firstPara) {
-                if (para != null && para.getXmlObject().isSetEndParaRPr()) {
-                    para.getXmlObject().unsetEndParaRPr();
+                if (para != null) {
+                    CTTextParagraph ctp = para.getXmlObject();
+                    CTTextCharacterProperties unexpectedRPr = ctp.getEndParaRPr();
+                    if (unexpectedRPr != null && unexpectedRPr != otherRPr) {
+                        ctp.unsetEndParaRPr();
+                    }
                 }
                 para = addNewTextParagraph();
-                if (pPr != null) {
-                    para.getXmlObject().setPPr(pPr);
+                if (otherPPr != null) {
+                    para.getXmlObject().setPPr(otherPPr);
                 }
             }
             boolean firstRun = true;
@@ -152,8 +160,8 @@ public abstract class XSLFTextShape exte
                 }
                 run = para.addNewTextRun();
                 run.setText(runText);
-                if (rPr != null) {
-                    run.getXmlObject().setRPr(rPr);
+                if (otherRPr != null) {
+                    run.getRPr(true).set(otherRPr);
                 }
                 firstRun = false;
             }
@@ -261,8 +269,21 @@ public abstract class XSLFTextShape exte
         CTTextBodyProperties bodyPr = getTextBodyPr();
         if (bodyPr != null) {
             STTextVerticalType.Enum val = bodyPr.getVert();
-            if(val != null){
-                return TextDirection.values()[val.intValue() - 1];
+            if(val != null) {
+                switch (val.intValue()) {
+                    default:
+                    case STTextVerticalType.INT_HORZ:
+                        return TextDirection.HORIZONTAL;
+                    case STTextVerticalType.INT_EA_VERT:
+                    case STTextVerticalType.INT_MONGOLIAN_VERT:
+                    case STTextVerticalType.INT_VERT:
+                        return TextDirection.VERTICAL;
+                    case STTextVerticalType.INT_VERT_270:
+                        return TextDirection.VERTICAL_270;
+                    case STTextVerticalType.INT_WORD_ART_VERT_RTL:
+                    case STTextVerticalType.INT_WORD_ART_VERT:
+                        return TextDirection.STACKED;
+                }
             }
         }
         return TextDirection.HORIZONTAL;

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java?rev=1746858&r1=1746857&r2=1746858&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java Sun Jun  5 01:04:58 2016
@@ -34,9 +34,6 @@ import org.junit.Test;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTTableCell;
 import org.openxmlformats.schemas.presentationml.x2006.main.CTGraphicalObjectFrame;
 
-/**
- * @author Yegor Kozlov
- */
 public class TestXSLFTable {
     @Test
     public void testRead() throws IOException {
@@ -82,8 +79,8 @@ public class TestXSLFTable {
 
     @Test
     public void testCreate() throws IOException {
-        XMLSlideShow ppt = new XMLSlideShow();
-        XSLFSlide slide = ppt.createSlide();
+        XMLSlideShow ppt1 = new XMLSlideShow();
+        XSLFSlide slide = ppt1.createSlide();
 
         XSLFTable tbl = slide.createTable();
         assertNotNull(tbl.getCTTable());
@@ -145,7 +142,17 @@ public class TestXSLFTable {
         cell1.setVerticalAlignment(null);
         assertEquals(VerticalAlignment.TOP, cell1.getVerticalAlignment());
         
-        ppt.close();
+        XMLSlideShow ppt2 = XSLFTestDataSamples.writeOutAndReadBack(ppt1);
+        ppt1.close();
+
+        slide = ppt2.getSlides().get(0);
+        tbl = (XSLFTable)slide.getShapes().get(0);
+        assertEquals(2, tbl.getNumberOfColumns());
+        assertEquals(1, tbl.getNumberOfRows());
+        assertEquals("POI", tbl.getCell(0, 0).getText());
+        assertEquals("Apache", tbl.getCell(0, 1).getText());
+        
+        ppt2.close();
     }
     
     @Test

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextRun.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextRun.java?rev=1746858&r1=1746857&r2=1746858&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextRun.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextRun.java Sun Jun  5 01:04:58 2016
@@ -40,7 +40,7 @@ public class TestXSLFTextRun {
         XSLFTextShape sh = slide.createAutoShape();
 
         XSLFTextRun r = sh.addNewTextParagraph().addNewTextRun();
-        assertEquals("en-US", r.getRPr().getLang());
+        assertEquals("en-US", r.getRPr(true).getLang());
 
         assertEquals(0., r.getCharacterSpacing(), 0);
         r.setCharacterSpacing(3);
@@ -49,7 +49,7 @@ public class TestXSLFTextRun {
         assertEquals(-3., r.getCharacterSpacing(), 0);
         r.setCharacterSpacing(0);
         assertEquals(0., r.getCharacterSpacing(), 0);
-        assertFalse(r.getRPr().isSetSpc());
+        assertFalse(r.getRPr(true).isSetSpc());
 
         assertTrue(sameColor(Color.black, r.getFontColor()));
         r.setFontColor(Color.red);

Added: poi/trunk/test-data/slideshow/table_test2.pptx
URL: http://svn.apache.org/viewvc/poi/trunk/test-data/slideshow/table_test2.pptx?rev=1746858&view=auto
==============================================================================
Binary file - no diff available.

Propchange: poi/trunk/test-data/slideshow/table_test2.pptx
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org