Author: ltheussl
Date: Mon Oct 29 12:53:59 2007
New Revision: 589828

URL: http://svn.apache.org/viewvc?rev=589828&view=rev
Log:
[DOXIA-171] add confluence code macro support
Submitted by: Dave Syer

Added:
    
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/code.confluence
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/main/java/org/apache/maven/doxia/module/confluence/parser/VerbatimBlockParser.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/anchor.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=589828&r1=589827&r2=589828&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 Oct 29 12:53:59 2007
@@ -122,7 +122,7 @@
 
                     // System.out.println( "line = " + line );
 
-                    if ( input.charAt( i + 1 ) == '}' )
+                    if ( input.length() > i + 1 && input.charAt( i + 1 ) == 
'}' )
                     {
                         i++;
                         TextBlock tb = new TextBlock( text.toString() );

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/VerbatimBlockParser.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/VerbatimBlockParser.java?rev=589828&r1=589827&r2=589828&view=diff
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/VerbatimBlockParser.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/VerbatimBlockParser.java
 Mon Oct 29 12:53:59 2007
@@ -33,7 +33,7 @@
 
     public boolean accept( String line, ByLineSource source )
     {
-        if ( line.startsWith( "{code}" ) || line.startsWith( "{noformat}" ) )
+        if ( line.startsWith( "{code" ) || line.startsWith( "{noformat}" ) )
         {
             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=589828&r1=589827&r2=589828&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 Oct 29 12:53:59 2007
@@ -146,7 +146,8 @@
     {
         String result = locateAndParseTestSourceFile( "nested-list" );
 
-        assertContainsLines( "Nested list not found", result, 
"begin:listItem\ntext:  A top level list item\nbegin:list" );
+        assertContainsLines( "Nested list not found", result,
+                             "begin:listItem\ntext:  A top level list 
item\nbegin:list" );
         // two lists in the input...
         assertEquals( 3, result.split( "end:list\n" ).length );
         // ...and 4 list items
@@ -158,7 +159,7 @@
         throws Exception
     {
         String result = locateAndParseTestSourceFile( "simple-list" );
- 
+
         assertContainsLines( result, "begin:bold\ntext: bold\n" );
         assertContainsLines( result, "begin:italic\ntext: italic\n" );
         assertContainsLines( result, "begin:monospaced\ntext: monospaced\n" );
@@ -176,11 +177,11 @@
         throws Exception
     {
         String result = locateAndParseTestSourceFile( "anchor" );
- 
+
         assertContainsLines( result, "begin:paragraph\nbegin:anchor, name: 
start\nend:anchor" );
         assertContainsLines( result, "begin:anchor, name: middle\nend:anchor" 
);
         assertContainsLines( result, "begin:paragraph\ntext: Simple 
paragraph\nbegin:anchor, name: end\nend:anchor" );
-         // 3 anchors in the input...
+        // 3 anchors in the input...
         assertEquals( 4, result.split( "end:anchor\n" ).length );
     }
 
@@ -189,9 +190,22 @@
         throws Exception
     {
         String result = locateAndParseTestSourceFile( "unknown-macro" );
- 
+
         assertContainsLines( result, "begin:paragraph\ntext: {unknown:start}" 
);
-   }
+    }
+
+    /** @throws Exception */
+    public void testCodeMacro()
+        throws Exception
+    {
+        String result = locateAndParseTestSourceFile( "code" );
+
+        assertContainsLines( result, "begin:verbatim, boxed: true\ntext: 
public class Cat {" );
+        // 3 paragraphs in the input...
+        assertEquals( 4, result.split( "end:paragraph\n" ).length );
+        // 1 verbatim in the input...
+        assertEquals( 2, result.split( "end:verbatim\n" ).length );
+    }
 
     private void assertContainsLines( String message, String result, String 
lines )
     {

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/anchor.confluence
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/anchor.confluence?rev=589828&r1=589827&r2=589828&view=diff
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/anchor.confluence
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/anchor.confluence
 Mon Oct 29 12:53:59 2007
@@ -2,6 +2,6 @@
 
 {anchor:start}Simple paragraph.
 
-Simple paragraph{anchor:end}.
+Simple paragraph{anchor:end}
 
 Simple {anchor:middle} paragraph.

Added: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/code.confluence
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/code.confluence?rev=589828&view=auto
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/code.confluence
 (added)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/code.confluence
 Mon Oct 29 12:53:59 2007
@@ -0,0 +1,21 @@
+Simple paragraph.
+
+{code:title=Cat.java}
+public class Cat {
+       public void sitOn(Mat mat) {
+               // ... code here <angle brackets>
+       }
+}
+{code}
+
+Another paragraph (the title of the code block is ignored).
+
+Simple paragraph with embedded code
+{code}
+public class Cat {
+       public void sitOn(Mat mat) {
+               // ... code here <angle brackets>
+       }
+}
+{code}
+in the same paragraph (this doesn't work right now DOXIA-181).
\ No newline at end of file


Reply via email to