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