Author: ltheussl
Date: Sat May 22 07:49:50 2010
New Revision: 947266

URL: http://svn.apache.org/viewvc?rev=947266&view=rev
Log:
[DOXIA-370] Confluence module cannot parse horizontal separator
Submitted by: Dave Syer

Modified:
    
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/list/ListBlockParser.java
    
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/list/ListBlockParser.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/list/ListBlockParser.java?rev=947266&r1=947265&r2=947266&view=diff
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/list/ListBlockParser.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/list/ListBlockParser.java
 Sat May 22 07:49:50 2010
@@ -131,12 +131,12 @@ public class ListBlockParser
         if ( line.startsWith( "*" ) || line.startsWith( "-" ) || 
line.startsWith( "#" ) )
         {
             String temp = line.substring( 1 );
-            while ( temp.charAt( 0 ) == '*' || temp.charAt( 0 ) == '-' || 
temp.charAt( 0 ) == '#' )
+            while ( temp.length() > 0 && ( temp.charAt( 0 ) == '*' || 
temp.charAt( 0 ) == '-' || temp.charAt( 0 ) == '#' ) )
             {
                 temp = temp.substring( 1 );
             }
 
-            if ( temp.charAt( 0 ) == ' ' )
+            if ( temp.length() > 0 && temp.charAt( 0 ) == ' ' )
             {
                 return true;
             }

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java?rev=947266&r1=947265&r2=947266&view=diff
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java
 Sat May 22 07:49:50 2010
@@ -86,6 +86,14 @@ public class ConfluenceParserTest
     }
 
     /** @throws Exception */
+    public void testMarkupTestPage()
+        throws Exception
+    {
+        String result = locateAndParseTestSourceFile( "test" );
+        assertContainsLines( result, "end:body" );
+    }
+
+    /** @throws Exception */
     public void testParagraphWithSimpleFormatting()
         throws Exception
     {
@@ -484,6 +492,25 @@ public class ConfluenceParserTest
     }
     
 
+    /**
+     * DOXIA-370
+     *
+     * @throws ParseException
+     */
+    public void testSeparatorInParagraph()
+        throws ParseException
+    {
+        String document = "Up\n---\nDown\n";
+
+        output = new StringWriter();
+        Sink sink = new TextSink( output );
+
+        /* parsing with separator in middle of paragraph */
+        createParser().parse( new StringReader( document ), sink );
+        assertTrue( "generated document should have a size > 0", 
output.toString().length() > 0 );
+
+    }
+
     private void assertContainsLines( String message, String result, String 
lines )
     {
         lines = StringUtils.replace( lines, "\n", EOL );


Reply via email to