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