package org.apache.poi.xslf.usermodel;\r
\r
import junit.framework.TestCase;\r
+import org.apache.poi.util.POILogFactory;\r
+import org.apache.poi.util.POILogger;\r
\r
import java.awt.*;\r
import java.awt.geom.Rectangle2D;\r
* To change this template use File | Settings | File Templates.\r
*/\r
public class TestXSLFTextParagraph extends TestCase {\r
+ private static POILogger _logger = POILogFactory.getLogger(XSLFTextParagraph.class);\r
\r
public void testWrappingWidth() throws Exception {\r
XMLSlideShow ppt = new XMLSlideShow();\r
assertEquals(expectedWidth, p.getWrappingWidth(false));\r
}\r
\r
+ /**\r
+ * test breaking test into lines.\r
+ * This test is platform-dependent and will run only if the test fonr (Arial)\r
+ * is present in local graphics environment\r
+ */\r
public void testBreakLines(){\r
+ GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();\r
+ String testFont = "Arial";\r
+ boolean testFontAvailable = false;\r
+ for(String family : env.getAvailableFontFamilyNames()) {\r
+ if(family.equals(testFont)) {\r
+ testFontAvailable = true;\r
+ break;\r
+ }\r
+ }\r
+\r
+ if(!testFontAvailable) {\r
+ _logger.log(POILogger.WARN, "the Arial font family is not available in local graphics environment");\r
+ }\r
+\r
XMLSlideShow ppt = new XMLSlideShow();\r
XSLFSlide slide = ppt.createSlide();\r
XSLFTextShape sh = slide.createAutoShape();\r
\r
XSLFTextParagraph p = sh.addNewTextParagraph();\r
XSLFTextRun r = p.addNewTextRun();\r
- r.setFontFamily("serif"); // this should always be available\r
+ r.setFontFamily("Arial"); // this should always be available\r
r.setFontSize(12);\r
r.setText(\r
"Paragraph formatting allows for more granular control " +\r
\r
List<TextFragment> lines;\r
lines = p.breakText(graphics);\r
- assertEquals(3, lines.size());\r
+ assertEquals(4, lines.size());\r
\r
// descrease the shape width from 300 pt to 100 pt\r
sh.setAnchor(new Rectangle(50, 50, 100, 200));\r
lines = p.breakText(graphics);\r
- assertEquals(10, lines.size());\r
+ assertEquals(12, lines.size());\r
\r
// descrease the shape width from 300 pt to 100 pt\r
sh.setAnchor(new Rectangle(50, 50, 600, 200));\r
sh.setLeftInset(200);\r
sh.setRightInset(200);\r
lines = p.breakText(graphics);\r
- assertEquals(4, lines.size());\r
+ assertEquals(5, lines.size());\r
\r
r.setText("Apache POI");\r
lines = p.breakText(graphics);\r