Author: adelmelle
Date: Fri Jan  7 21:22:40 2011
New Revision: 1056518

URL: http://svn.apache.org/viewvc?rev=1056518&view=rev
Log:
Bugzilla 50471: Avoid ArrayIndexOutOfBoundsException for codepoints without a 
linebreak class

Modified:
    
xmlgraphics/fop/trunk/src/java/org/apache/fop/text/linebreak/LineBreakStatus.java
    xmlgraphics/fop/trunk/status.xml
    
xmlgraphics/fop/trunk/test/java/org/apache/fop/text/linebreak/LineBreakStatusTest.java
    
xmlgraphics/fop/trunk/test/java/org/apache/fop/text/linebreak/LineBreakUtilsTest.java

Modified: 
xmlgraphics/fop/trunk/src/java/org/apache/fop/text/linebreak/LineBreakStatus.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/text/linebreak/LineBreakStatus.java?rev=1056518&r1=1056517&r2=1056518&view=diff
==============================================================================
--- 
xmlgraphics/fop/trunk/src/java/org/apache/fop/text/linebreak/LineBreakStatus.java
 (original)
+++ 
xmlgraphics/fop/trunk/src/java/org/apache/fop/text/linebreak/LineBreakStatus.java
 Fri Jan  7 21:22:40 2011
@@ -87,6 +87,7 @@ public class LineBreakStatus {
 
         /* Initial conversions */
         switch (currentClass) {
+            case 0: // Unassigned codepoint: same treatment as AI
             case LineBreakUtils.LINE_BREAK_PROPERTY_AI:
             case LineBreakUtils.LINE_BREAK_PROPERTY_SG:
             case LineBreakUtils.LINE_BREAK_PROPERTY_XX:

Modified: xmlgraphics/fop/trunk/status.xml
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/status.xml?rev=1056518&r1=1056517&r2=1056518&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/status.xml (original)
+++ xmlgraphics/fop/trunk/status.xml Fri Jan  7 21:22:40 2011
@@ -58,6 +58,9 @@
       documents. Example: the fix of marks layering will be such a case when 
it's done.
     -->
     <release version="FOP Trunk" date="TBD">
+      <action context="Code" dev="AD" type="fix" fixes-bug="50471">
+        Bugfix: avoid ArrayIndexOutOfBoundsException for codepoints without a 
linebreak class
+      </action>
       <action context="Layout" dev="AD" type="fix" fixes-bug="48380">
         Bugfix: avoid ClassCastException when using fox:widow-content-limit
       </action>

Modified: 
xmlgraphics/fop/trunk/test/java/org/apache/fop/text/linebreak/LineBreakStatusTest.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/text/linebreak/LineBreakStatusTest.java?rev=1056518&r1=1056517&r2=1056518&view=diff
==============================================================================
--- 
xmlgraphics/fop/trunk/test/java/org/apache/fop/text/linebreak/LineBreakStatusTest.java
 (original)
+++ 
xmlgraphics/fop/trunk/test/java/org/apache/fop/text/linebreak/LineBreakStatusTest.java
 Fri Jan  7 21:22:40 2011
@@ -320,6 +320,12 @@ public class LineBreakStatusTest extends
             "^^^^^^" + "^"      + "_^^^^"
             ));
 
+        // Unassigned codepoint: should yield same result as AL
+        assertTrue(testBreak(
+            "No" + "\u1F7E" + "break",
+            "^^" + "^"      + "^^^^^"
+            ));
+
     }
 
     /**

Modified: 
xmlgraphics/fop/trunk/test/java/org/apache/fop/text/linebreak/LineBreakUtilsTest.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/text/linebreak/LineBreakUtilsTest.java?rev=1056518&r1=1056517&r2=1056518&view=diff
==============================================================================
--- 
xmlgraphics/fop/trunk/test/java/org/apache/fop/text/linebreak/LineBreakUtilsTest.java
 (original)
+++ 
xmlgraphics/fop/trunk/test/java/org/apache/fop/text/linebreak/LineBreakUtilsTest.java
 Fri Jan  7 21:22:40 2011
@@ -41,6 +41,7 @@ public class LineBreakUtilsTest extends 
         assertEquals(LineBreakUtils.getLineBreakProperty('\n'), 
LineBreakUtils.LINE_BREAK_PROPERTY_LF);
         assertEquals(LineBreakUtils.getLineBreakProperty('\r'), 
LineBreakUtils.LINE_BREAK_PROPERTY_CR);
         assertEquals(LineBreakUtils.getLineBreakProperty('('), 
LineBreakUtils.LINE_BREAK_PROPERTY_OP);
+        assertEquals(LineBreakUtils.getLineBreakProperty('\u1F7E'), 0);
     }
 
     public void testLineBreakPair() {



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

Reply via email to