Author: hboutemy
Date: Sun Jan 31 18:36:36 2010
New Revision: 905092
URL: http://svn.apache.org/viewvc?rev=905092&view=rev
Log:
[DOXIA-379] fixed title block parsing when comments are present before it
Added:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/resources/test/comments.apt
(with props)
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/main/java/org/apache/maven/doxia/module/apt/AptSink.java
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptParserTest.java
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptSinkTest.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=905092&r1=905091&r2=905092&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
Sun Jan 31 18:36:36 2010
@@ -217,6 +217,13 @@
// Lookahead block.
nextBlock( /*first*/true );
+ // traverse comments
+ while ( ( block != null ) && ( block.getType() == COMMENT_BLOCK ) )
+ {
+ block.traverse();
+ nextBlock( /*first*/true );
+ }
+
traverseHead();
traverseBody();
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSink.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/AptSink.java?rev=905092&r1=905091&r2=905092&view=diff
==============================================================================
---
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSink.java
(original)
+++
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSink.java
Sun Jan 31 18:36:36 2010
@@ -60,6 +60,9 @@
/** date. */
private String date;
+ /** startFlag. */
+ private boolean startFlag;
+
/** tableCaptionFlag. */
private boolean tableCaptionFlag;
@@ -160,6 +163,7 @@
this.author = null;
this.title = null;
this.date = null;
+ this.startFlag = true;
this.tableCaptionFlag = false;
this.headerFlag = false;
this.bufferFlag = false;
@@ -192,9 +196,12 @@
/** {...@inheritdoc} */
public void head()
{
+ boolean startFlag = this.startFlag;
+
init();
headerFlag = true;
+ this.startFlag = startFlag;
}
/** {...@inheritdoc} */
@@ -202,6 +209,10 @@
{
headerFlag = false;
+ if ( ! startFlag )
+ {
+ write( EOL );
+ }
write( HEADER_START_MARKUP + EOL );
if ( title != null )
{
@@ -896,7 +907,7 @@
/** {...@inheritdoc} */
public void comment( String comment )
{
- rawText( EOL + COMMENT + COMMENT + SPACE + comment.trim() );
+ rawText( ( startFlag ? "" : EOL ) + COMMENT + COMMENT + SPACE +
comment.trim() );
}
/**
@@ -917,6 +928,7 @@
*/
protected void write( String text )
{
+ startFlag = false;
writer.write( unifyEOLs( text ) );
}
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=905092&r1=905091&r2=905092&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
Sun Jan 31 18:36:36 2010
@@ -102,6 +102,16 @@
}
/** @throws Exception */
+ public void testCommentsBeforeTitle()
+ throws Exception
+ {
+ String comments = parseFileToAptSink( "test/comments" );
+
+ assertEquals( 0, comments.indexOf( "~~ comments before title" + EOL +
"~~ like a license header, for example"
+ + EOL + " -----" + EOL + " Test DOXIA-379" ) );
+ }
+
+ /** @throws Exception */
public void testSnippet()
throws Exception
{
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptSinkTest.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/AptSinkTest.java?rev=905092&r1=905091&r2=905092&view=diff
==============================================================================
---
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptSinkTest.java
(original)
+++
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptSinkTest.java
Sun Jan 31 18:36:36 2010
@@ -269,6 +269,6 @@
/** {...@inheritdoc} */
protected String getCommentBlock( String text )
{
- return EOL + "~~ Simple comment with ----";
+ return "~~ Simple comment with ----";
}
}
Added:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/resources/test/comments.apt
URL:
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/resources/test/comments.apt?rev=905092&view=auto
==============================================================================
---
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/resources/test/comments.apt
(added)
+++
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/resources/test/comments.apt
Sun Jan 31 18:36:36 2010
@@ -0,0 +1,9 @@
+~~ comments before title
+~~ like a license header, for example
+ -----
+ Test DOXIA-379
+ -----
+ Herve Boutemy
+ -----
+
+Test DOXIA-379
Propchange:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/resources/test/comments.apt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/resources/test/comments.apt
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision