]> source.dussan.org Git - poi.git/commitdiff
fixed TestXSLFTextParagraph that failed when the Arial font was not available
authorYegor Kozlov <yegor@apache.org>
Sun, 20 Nov 2011 06:34:32 +0000 (06:34 +0000)
committerYegor Kozlov <yegor@apache.org>
Sun, 20 Nov 2011 06:34:32 +0000 (06:34 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1204133 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextParagraph.java

index e5bad535edc983516a432ed8520cf58a3a7058f9..2974dd69fe728477590a67c44717232badc95ce3 100755 (executable)
@@ -1,6 +1,8 @@
 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
@@ -15,6 +17,7 @@ import java.util.List;
  * 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
@@ -100,14 +103,33 @@ public class TestXSLFTextParagraph extends TestCase {
         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
@@ -121,12 +143,12 @@ public class TestXSLFTextParagraph extends TestCase {
 \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
@@ -137,7 +159,7 @@ public class TestXSLFTextParagraph extends TestCase {
         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