Author: ltheussl
Date: Sat Apr 23 06:22:09 2011
New Revision: 1096107

URL: http://svn.apache.org/viewvc?rev=1096107&view=rev
Log:
[DOXIA-425] AptParser: Trailing spaces breaks Snippet Macro

Modified:
    
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java
    
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptParserTest.java

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java?rev=1096107&r1=1096106&r2=1096107&view=diff
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java
 Sat Apr 23 06:22:09 2011
@@ -2875,9 +2875,10 @@ public class AptParser
                 return;
             }
 
-            String s = text;
+            final int start = text.indexOf( '{' );
+            final int end = text.indexOf( '}' );
 
-            s = s.substring( 2, s.length() - 1 );
+            String s = text.substring( start + 1, end );
 
             s = escapeForMacro( s );
 

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptParserTest.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptParserTest.java?rev=1096107&r1=1096106&r2=1096107&view=diff
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptParserTest.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptParserTest.java
 Sat Apr 23 06:22:09 2011
@@ -161,6 +161,32 @@ public class AptParserTest
         assertFalse( it.hasNext() );
     }
 
+
+    /** @throws Exception  */
+    public void testSnippetTrailingSpace()
+        throws Exception
+    {
+        // DOXIA-425
+        String text = "%{snippet|id=myid|file=pom.xml}  " + EOL;
+
+        SinkEventTestingSink sink = new SinkEventTestingSink();
+
+        parser.parse( text, sink );
+
+        Iterator<SinkEventElement> it = sink.getEventList().iterator();
+
+        assertEquals( "head", ( it.next() ).getName() );
+        assertEquals( "head_", ( it.next() ).getName() );
+        assertEquals( "body", ( it.next() ).getName() );
+
+        assertEquals( "verbatim", ( it.next() ).getName() );
+        assertEquals( "text", ( it.next() ).getName() );
+        assertEquals( "verbatim_", ( it.next() ).getName() );
+        assertEquals( "body_", ( it.next() ).getName() );
+
+        assertFalse( it.hasNext() );
+    }
+
     /** @throws Exception  */
     public void testTocMacro()
         throws Exception


Reply via email to