Author: rfscholte Date: Mon Apr 1 18:04:12 2013 New Revision: 1463228 URL: http://svn.apache.org/r1463228 Log: [DOXIA-467] Confluence: Inconsistent handling of '\' escape characters, incorrect handling of \\ inside {{monospace}} blocks. Escaping within monospaced block
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/ChildBlocksBuilder.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/simple-list.confluence Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/ChildBlocksBuilder.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/ChildBlocksBuilder.java?rev=1463228&r1=1463227&r2=1463228&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/ChildBlocksBuilder.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/ChildBlocksBuilder.java Mon Apr 1 18:04:12 2013 @@ -233,15 +233,16 @@ public class ChildBlocksBuilder break; case '\\': - - // System.out.println( "line = " + line ); - if ( nextChar( input, i ) == '\\' ) + if ( insideMonospaced ) + { + text.append( c ); + } + else if ( nextChar( input, i ) == '\\' ) { i++; text = addTextBlockIfNecessary( blocks, specialBlocks, text ); blocks.add( new LinebreakBlock() ); } - else { // DOXIA-467 single trailing backward slash, double is considered linebreak 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=1463228&r1=1463227&r2=1463228&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 Mon Apr 1 18:04:12 2013 @@ -193,6 +193,7 @@ public class ConfluenceParserTest assertContainsLines( result, "begin:bold\ntext: bold\n" ); assertContainsLines( result, "begin:italic\ntext: italic\n" ); assertContainsLines( result, "begin:monospaced\ntext: monospaced\n" ); + assertContainsLines( result, "begin:monospaced\ntext: some escaped monospaced \\\\unc\\path\n" ); assertContainsLines( result, "begin:link, name: http://jira.codehaus.org\ntext: http://jira.codehaus.org\n" ); assertContainsLines( result, "begin:link, name: http://jira.codehaus.org\ntext: JIRA\n" ); assertContainsLines( result, "begin:listItem\ntext: Item with no formatting\nend:listItem\n" ); @@ -201,7 +202,7 @@ public class ConfluenceParserTest // 3 lists in the input... assertEquals( 4, result.split( "end:list\n" ).length ); // ...and 7 list items - assertEquals( 8, result.split( "end:listItem\n" ).length ); + assertEquals( 9, result.split( "end:listItem\n" ).length ); } /** @throws Exception */ Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/simple-list.confluence URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/simple-list.confluence?rev=1463228&r1=1463227&r2=1463228&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/simple-list.confluence (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/simple-list.confluence Mon Apr 1 18:04:12 2013 @@ -1,14 +1,15 @@ -* Simple paragraph with *bold* and _italic_ text. -* Here is a link to [JIRA|http://jira.codehaus.org] -* Here is a link with no text [http://jira.codehaus.org] -* This is some {{monospaced}} text. -* Item with no formatting - -Paragraph - -* One bullet - -* A list item with -more than one line - +* Simple paragraph with *bold* and _italic_ text. +* Here is a link to [JIRA|http://jira.codehaus.org] +* Here is a link with no text [http://jira.codehaus.org] +* This is some {{monospaced}} text. +* Item with no formatting +* This is {{some escaped monospaced \\unc\path}}. + +Paragraph + +* One bullet + +* A list item with +more than one line + *bold text, not a list!* \ No newline at end of file