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 );