You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by vm...@apache.org on 2008/01/22 10:56:48 UTC
svn commit: r614159 - in /maven/sandbox/trunk/doxia/doxia-module-xwiki/src:
main/java/org/apache/maven/doxia/module/xwiki/blocks/
main/java/org/apache/maven/doxia/module/xwiki/parser/
test/java/org/apache/maven/doxia/module/xwiki/ test/java/org/apache/...
Author: vmassol
Date: Tue Jan 22 01:56:46 2008
New Revision: 614159
URL: http://svn.apache.org/viewvc?rev=614159&view=rev
Log:
DOXIA-200: Add a Parser for XWiki
* Reformat code
Modified:
maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/blocks/SectionBlock.java
maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/parser/FigureBlockParser.java
maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/parser/MacroParser.java
maven/sandbox/trunk/doxia/doxia-module-xwiki/src/test/java/org/apache/maven/doxia/module/xwiki/XWikiParserTest.java
maven/sandbox/trunk/doxia/doxia-module-xwiki/src/test/java/org/apache/maven/doxia/module/xwiki/parser/MacroParserTest.java
Modified: maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/blocks/SectionBlock.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/blocks/SectionBlock.java?rev=614159&r1=614158&r2=614159&view=diff
==============================================================================
--- maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/blocks/SectionBlock.java (original)
+++ maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/blocks/SectionBlock.java Tue Jan 22 01:56:46 2008
@@ -23,8 +23,8 @@
/**
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
- * @todo XWiki supports 6 levels of titles.
* @version $Id: SectionBlock.java 568157 2007-08-21 15:06:04Z ltheussl $
+ * @todo XWiki supports 6 levels of titles.
*/
public class SectionBlock
implements Block
Modified: maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/parser/FigureBlockParser.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/parser/FigureBlockParser.java?rev=614159&r1=614158&r2=614159&view=diff
==============================================================================
--- maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/parser/FigureBlockParser.java (original)
+++ maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/parser/FigureBlockParser.java Tue Jan 22 01:56:46 2008
@@ -20,7 +20,6 @@
*/
import org.apache.maven.doxia.module.xwiki.blocks.Block;
-import org.apache.maven.doxia.module.xwiki.blocks.FigureBlock;
import org.apache.maven.doxia.parser.ParseException;
import org.apache.maven.doxia.util.ByLineSource;
Modified: maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/parser/MacroParser.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/parser/MacroParser.java?rev=614159&r1=614158&r2=614159&view=diff
==============================================================================
--- maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/parser/MacroParser.java (original)
+++ maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/parser/MacroParser.java Tue Jan 22 01:56:46 2008
@@ -319,13 +319,14 @@
{
text.append( c );
}
- else if (isInCompatibilityMode && state == STATE_PARAM_NAME)
+ else if ( isInCompatibilityMode && state == STATE_PARAM_NAME )
{
- parameters.put("default", text.toString());
+ parameters.put( "default", text.toString() );
text = new StringBuffer();
state = STATE_PARAM_NAME;
-
- } else
+
+ }
+ else
{
throw new ParseException( "Invalid position for character '|' in Macro" );
}
@@ -363,13 +364,15 @@
i++;
}
- if (state != STATE_END || macroName == null) {
+ if ( state != STATE_END || macroName == null )
+ {
// This is not a valid macro. We have two choices here:
// 1) decide that the code is not a macro and reset the cursor position at the beginning
// 2) throw a parsing exception
// For the moment we consider that the code is not a macro (option 1)).
- result.position = position;
- } else
+ result.position = position;
+ }
+ else
{
result.block = createAppropriateBlock( macroName, parameters, content );
result.position = i;
Modified: maven/sandbox/trunk/doxia/doxia-module-xwiki/src/test/java/org/apache/maven/doxia/module/xwiki/XWikiParserTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/doxia/doxia-module-xwiki/src/test/java/org/apache/maven/doxia/module/xwiki/XWikiParserTest.java?rev=614159&r1=614158&r2=614159&view=diff
==============================================================================
--- maven/sandbox/trunk/doxia/doxia-module-xwiki/src/test/java/org/apache/maven/doxia/module/xwiki/XWikiParserTest.java (original)
+++ maven/sandbox/trunk/doxia/doxia-module-xwiki/src/test/java/org/apache/maven/doxia/module/xwiki/XWikiParserTest.java Tue Jan 22 01:56:46 2008
@@ -20,13 +20,13 @@
*/
import junit.framework.TestCase;
-import org.apache.maven.doxia.module.xwiki.blocks.FigureBlock;
-import org.apache.maven.doxia.module.xwiki.blocks.ParagraphBlock;
-import org.apache.maven.doxia.module.xwiki.blocks.TextBlock;
-import org.apache.maven.doxia.module.xwiki.blocks.SectionBlock;
import org.apache.maven.doxia.module.xwiki.blocks.BoldBlock;
+import org.apache.maven.doxia.module.xwiki.blocks.FigureBlock;
import org.apache.maven.doxia.module.xwiki.blocks.ItalicBlock;
import org.apache.maven.doxia.module.xwiki.blocks.LinkBlock;
+import org.apache.maven.doxia.module.xwiki.blocks.ParagraphBlock;
+import org.apache.maven.doxia.module.xwiki.blocks.SectionBlock;
+import org.apache.maven.doxia.module.xwiki.blocks.TextBlock;
import java.io.StringReader;
import java.util.List;
@@ -44,6 +44,10 @@
this.parser = new XWikiParser();
}
+ /**
+ * Note: The Macro parsing is tested in {@link org.apache.maven.doxia.module.xwiki.parser.MacroParserTest}. Here
+ * we're just testing that the XWiki parser understands an image macro by itself on a line.
+ */
public void testSimpleImageOnALine()
throws Exception
{
@@ -56,6 +60,10 @@
assertNull( figureBlock.getCaption() );
}
+ /**
+ * Note: The Macro parsing is tested in {@link org.apache.maven.doxia.module.xwiki.parser.MacroParserTest}. Here
+ * we're just testing that the XWiki parser understands a macro located inside a paragrpah.
+ */
public void testImageInsideAParagraph()
throws Exception
{
@@ -74,61 +82,59 @@
assertEquals( " paragraph.", textBlock2.getText() );
}
- public void testSections() throws Exception
+ public void testSections()
+ throws Exception
{
- String content = "1 Section1\n"
- + "1.1 Section2\n"
- + "1.1.1 Section3\n"
- + "1.1.1.1 Section4\n"
- + "1.1.1.1.1 Section5\n"
- + "1 TitleWithLeadingSpace\n"
- + " 1 TitleWithSpacesBefore";
+ String content = "1 Section1\n" + "1.1 Section2\n" + "1.1.1 Section3\n" + "1.1.1.1 Section4\n" +
+ "1.1.1.1.1 Section5\n" + "1 TitleWithLeadingSpace\n" + " 1 TitleWithSpacesBefore";
List blocks = parser.parse( new StringReader( content ) );
assertEquals( 7, blocks.size() );
- assertEquals( "Section1", ((SectionBlock) blocks.get( 0)).getTitle());
- assertEquals( 1, ((SectionBlock) blocks.get( 0)).getLevel());
- assertEquals( "Section2", ((SectionBlock) blocks.get( 1)).getTitle());
- assertEquals( 2, ((SectionBlock) blocks.get( 1)).getLevel());
- assertEquals( "Section3", ((SectionBlock) blocks.get( 2)).getTitle());
- assertEquals( 3, ((SectionBlock) blocks.get( 2)).getLevel());
- assertEquals( "Section4", ((SectionBlock) blocks.get( 3)).getTitle());
- assertEquals( 4, ((SectionBlock) blocks.get( 3)).getLevel());
- assertEquals( "Section5", ((SectionBlock) blocks.get( 4)).getTitle());
- assertEquals( 5, ((SectionBlock) blocks.get( 4)).getLevel());
- assertEquals( "TitleWithLeadingSpace", ((SectionBlock) blocks.get( 5)).getTitle());
- assertEquals( 1, ((SectionBlock) blocks.get( 5)).getLevel());
- assertEquals( "TitleWithSpacesBefore", ((SectionBlock) blocks.get( 6)).getTitle());
- assertEquals( 1, ((SectionBlock) blocks.get( 6)).getLevel());
+ assertEquals( "Section1", ( (SectionBlock) blocks.get( 0 ) ).getTitle() );
+ assertEquals( 1, ( (SectionBlock) blocks.get( 0 ) ).getLevel() );
+ assertEquals( "Section2", ( (SectionBlock) blocks.get( 1 ) ).getTitle() );
+ assertEquals( 2, ( (SectionBlock) blocks.get( 1 ) ).getLevel() );
+ assertEquals( "Section3", ( (SectionBlock) blocks.get( 2 ) ).getTitle() );
+ assertEquals( 3, ( (SectionBlock) blocks.get( 2 ) ).getLevel() );
+ assertEquals( "Section4", ( (SectionBlock) blocks.get( 3 ) ).getTitle() );
+ assertEquals( 4, ( (SectionBlock) blocks.get( 3 ) ).getLevel() );
+ assertEquals( "Section5", ( (SectionBlock) blocks.get( 4 ) ).getTitle() );
+ assertEquals( 5, ( (SectionBlock) blocks.get( 4 ) ).getLevel() );
+ assertEquals( "TitleWithLeadingSpace", ( (SectionBlock) blocks.get( 5 ) ).getTitle() );
+ assertEquals( 1, ( (SectionBlock) blocks.get( 5 ) ).getLevel() );
+ assertEquals( "TitleWithSpacesBefore", ( (SectionBlock) blocks.get( 6 ) ).getTitle() );
+ assertEquals( 1, ( (SectionBlock) blocks.get( 6 ) ).getLevel() );
}
- public void testParagraphWithBoldAndItalic() throws Exception
+ public void testParagraphWithBoldAndItalic()
+ throws Exception
{
List blocks = parser.parse( new StringReader( "Simple paragraph with *bold* and ~~italic~~ text." ) );
assertEquals( 1, blocks.size() );
ParagraphBlock paraBlock = (ParagraphBlock) blocks.get( 0 );
assertEquals( 5, paraBlock.getBlocks().size() );
- assertEquals("Simple paragraph with ", ((TextBlock) paraBlock.getBlocks().get(0)).getText());
- BoldBlock boldBlock = (BoldBlock) paraBlock.getBlocks().get(1);
- assertEquals(1, boldBlock.getBlocks().size());
- assertEquals("bold", ((TextBlock) boldBlock.getBlocks().get(0)).getText());
- assertEquals(" and ", ((TextBlock) paraBlock.getBlocks().get(2)).getText());
- ItalicBlock italicBlock = (ItalicBlock) paraBlock.getBlocks().get(3);
- assertEquals(1, italicBlock.getBlocks().size());
- assertEquals("italic", ((TextBlock) italicBlock.getBlocks().get(0)).getText());
- assertEquals(" text.", ((TextBlock) paraBlock.getBlocks().get(4)).getText());
+ assertEquals( "Simple paragraph with ", ( (TextBlock) paraBlock.getBlocks().get( 0 ) ).getText() );
+ BoldBlock boldBlock = (BoldBlock) paraBlock.getBlocks().get( 1 );
+ assertEquals( 1, boldBlock.getBlocks().size() );
+ assertEquals( "bold", ( (TextBlock) boldBlock.getBlocks().get( 0 ) ).getText() );
+ assertEquals( " and ", ( (TextBlock) paraBlock.getBlocks().get( 2 ) ).getText() );
+ ItalicBlock italicBlock = (ItalicBlock) paraBlock.getBlocks().get( 3 );
+ assertEquals( 1, italicBlock.getBlocks().size() );
+ assertEquals( "italic", ( (TextBlock) italicBlock.getBlocks().get( 0 ) ).getText() );
+ assertEquals( " text.", ( (TextBlock) paraBlock.getBlocks().get( 4 ) ).getText() );
}
/**
- * Note: The Link parser is tested in the link parser test class. Here we're just testing that the XWiki parser
+ * Note: The Link parsing is tested in the link parser test class. Here we're just testing that the XWiki parser
* understands a link inside a paragraph.
*/
- public void testParagraphWithLink() throws Exception
+ public void testParagraphWithLink()
+ throws Exception
{
List blocks = parser.parse( new StringReader( "[JIRA|http://jira.codehaus.org]" ) );
assertEquals( 1, blocks.size() );
ParagraphBlock paraBlock = (ParagraphBlock) blocks.get( 0 );
assertEquals( 1, paraBlock.getBlocks().size() );
- assertEquals("JIRA", ((LinkBlock) paraBlock.getBlocks().get(0)).getText());
- assertEquals("http://jira.codehaus.org", ((LinkBlock) paraBlock.getBlocks().get(0)).getReference());
+ assertEquals( "JIRA", ( (LinkBlock) paraBlock.getBlocks().get( 0 ) ).getText() );
+ assertEquals( "http://jira.codehaus.org", ( (LinkBlock) paraBlock.getBlocks().get( 0 ) ).getReference() );
}
}
Modified: maven/sandbox/trunk/doxia/doxia-module-xwiki/src/test/java/org/apache/maven/doxia/module/xwiki/parser/MacroParserTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/doxia/doxia-module-xwiki/src/test/java/org/apache/maven/doxia/module/xwiki/parser/MacroParserTest.java?rev=614159&r1=614158&r2=614159&view=diff
==============================================================================
--- maven/sandbox/trunk/doxia/doxia-module-xwiki/src/test/java/org/apache/maven/doxia/module/xwiki/parser/MacroParserTest.java (original)
+++ maven/sandbox/trunk/doxia/doxia-module-xwiki/src/test/java/org/apache/maven/doxia/module/xwiki/parser/MacroParserTest.java Tue Jan 22 01:56:46 2008
@@ -1,8 +1,8 @@
package org.apache.maven.doxia.module.xwiki.parser;
import junit.framework.TestCase;
-import org.apache.maven.doxia.module.xwiki.blocks.MacroBlock;
import org.apache.maven.doxia.module.xwiki.blocks.FigureBlock;
+import org.apache.maven.doxia.module.xwiki.blocks.MacroBlock;
public class MacroParserTest
extends TestCase
@@ -22,9 +22,9 @@
assertEquals( macro.length(), result.position );
assertNotNull( result.block );
- assertEquals( "macro", ((MacroBlock) result.block).getName() );
- assertEquals( "", ((MacroBlock) result.block).getContent() );
- assertTrue( ((MacroBlock) result.block).getParameters().isEmpty() );
+ assertEquals( "macro", ( (MacroBlock) result.block ).getName() );
+ assertEquals( "", ( (MacroBlock) result.block ).getContent() );
+ assertTrue( ( (MacroBlock) result.block ).getParameters().isEmpty() );
}
public void testParseSimplestMacroWithExpandedClosingStyle()
@@ -35,9 +35,9 @@
assertEquals( macro.length(), result.position );
assertNotNull( result.block );
- assertEquals( "macro", ((MacroBlock) result.block).getName() );
- assertEquals( "", ((MacroBlock) result.block).getContent() );
- assertTrue( ((MacroBlock) result.block).getParameters().isEmpty() );
+ assertEquals( "macro", ( (MacroBlock) result.block ).getName() );
+ assertEquals( "", ( (MacroBlock) result.block ).getContent() );
+ assertTrue( ( (MacroBlock) result.block ).getParameters().isEmpty() );
}
public void testParseMacroWithOneParameter()
@@ -48,10 +48,10 @@
assertEquals( macro.length(), result.position );
assertNotNull( result.block );
- assertEquals( "macro", ((MacroBlock) result.block).getName() );
- assertEquals( "", ((MacroBlock) result.block).getContent() );
- assertEquals( 1, ((MacroBlock) result.block).getParameters().size() );
- assertEquals( "value1", ((MacroBlock) result.block).getParameters().get( "param1" ) );
+ assertEquals( "macro", ( (MacroBlock) result.block ).getName() );
+ assertEquals( "", ( (MacroBlock) result.block ).getContent() );
+ assertEquals( 1, ( (MacroBlock) result.block ).getParameters().size() );
+ assertEquals( "value1", ( (MacroBlock) result.block ).getParameters().get( "param1" ) );
}
public void testParseMacroWithSeveralParameters()
@@ -62,11 +62,11 @@
assertEquals( macro.length(), result.position );
assertNotNull( result.block );
- assertEquals( "macro", ((MacroBlock) result.block).getName() );
- assertEquals( "", ((MacroBlock) result.block).getContent() );
- assertEquals( 2, ((MacroBlock) result.block).getParameters().size() );
- assertEquals( "value1", ((MacroBlock) result.block).getParameters().get( "param1" ) );
- assertEquals( "value2", ((MacroBlock) result.block).getParameters().get( "param2" ) );
+ assertEquals( "macro", ( (MacroBlock) result.block ).getName() );
+ assertEquals( "", ( (MacroBlock) result.block ).getContent() );
+ assertEquals( 2, ( (MacroBlock) result.block ).getParameters().size() );
+ assertEquals( "value1", ( (MacroBlock) result.block ).getParameters().get( "param1" ) );
+ assertEquals( "value2", ( (MacroBlock) result.block ).getParameters().get( "param2" ) );
}
public void testParseMacroWithContent()
@@ -77,9 +77,9 @@
assertEquals( macro.length(), result.position );
assertNotNull( result.block );
- assertEquals( "macro", ((MacroBlock) result.block).getName() );
- assertEquals( "Some /=|content", ((MacroBlock) result.block).getContent() );
- assertEquals( 0, ((MacroBlock) result.block).getParameters().size() );
+ assertEquals( "macro", ( (MacroBlock) result.block ).getName() );
+ assertEquals( "Some /=|content", ( (MacroBlock) result.block ).getContent() );
+ assertEquals( 0, ( (MacroBlock) result.block ).getParameters().size() );
}
public void testParseMacroWithInvalidMacroName()
@@ -102,9 +102,9 @@
assertEquals( macro.length(), result.position );
assertNotNull( result.block );
- assertEquals( "code", ((MacroBlock) result.block).getName() );
- assertEquals( "Some content here", ((MacroBlock) result.block).getContent() );
- assertEquals( 0, ((MacroBlock) result.block).getParameters().size() );
+ assertEquals( "code", ( (MacroBlock) result.block ).getName() );
+ assertEquals( "Some content here", ( (MacroBlock) result.block ).getContent() );
+ assertEquals( 0, ( (MacroBlock) result.block ).getParameters().size() );
}
public void testParseOldStyleMacroInCompatibilityModeWhenSinglelineMacro()
@@ -116,9 +116,9 @@
assertEquals( macro.length(), result.position );
assertNotNull( result.block );
- assertEquals( "somesinglelinemacro", ((MacroBlock) result.block).getName() );
- assertEquals( "", ((MacroBlock) result.block).getContent() );
- assertEquals( 0, ((MacroBlock) result.block).getParameters().size() );
+ assertEquals( "somesinglelinemacro", ( (MacroBlock) result.block ).getName() );
+ assertEquals( "", ( (MacroBlock) result.block ).getContent() );
+ assertEquals( 0, ( (MacroBlock) result.block ).getParameters().size() );
}
public void testParseOldStyleMacroWithDefaultParameterWithNoValue()
@@ -130,10 +130,10 @@
assertEquals( macro.length(), result.position );
assertNotNull( result.block );
- assertEquals( "macro", ((MacroBlock) result.block).getName() );
- assertEquals( "", ((MacroBlock) result.block).getContent() );
- assertEquals( 1, ((MacroBlock) result.block).getParameters().size() );
- assertEquals( "value", ((MacroBlock) result.block).getParameters().get( "default" ) );
+ assertEquals( "macro", ( (MacroBlock) result.block ).getName() );
+ assertEquals( "", ( (MacroBlock) result.block ).getContent() );
+ assertEquals( 1, ( (MacroBlock) result.block ).getParameters().size() );
+ assertEquals( "value", ( (MacroBlock) result.block ).getParameters().get( "default" ) );
}
public void testParseOldStyleMacroWithDefaultParameterWithNoValueAndOldClosingStyle()
@@ -145,10 +145,10 @@
assertEquals( macro.length(), result.position );
assertNotNull( result.block );
- assertEquals( "macro", ((MacroBlock) result.block).getName() );
- assertEquals( "", ((MacroBlock) result.block).getContent() );
- assertEquals( 1, ((MacroBlock) result.block).getParameters().size() );
- assertEquals( "value", ((MacroBlock) result.block).getParameters().get( "default" ) );
+ assertEquals( "macro", ( (MacroBlock) result.block ).getName() );
+ assertEquals( "", ( (MacroBlock) result.block ).getContent() );
+ assertEquals( 1, ( (MacroBlock) result.block ).getParameters().size() );
+ assertEquals( "value", ( (MacroBlock) result.block ).getParameters().get( "default" ) );
}
public void testParseImageMacroWithCaptionOldStyle()
@@ -160,9 +160,9 @@
assertEquals( macro.length(), result.position );
assertNotNull( result.block );
- assertTrue(result.block instanceof FigureBlock );
- assertEquals( "my.png", ((FigureBlock) result.block).getLocation() );
- assertEquals( "caption", ((FigureBlock) result.block).getCaption());
+ assertTrue( result.block instanceof FigureBlock );
+ assertEquals( "my.png", ( (FigureBlock) result.block ).getLocation() );
+ assertEquals( "caption", ( (FigureBlock) result.block ).getCaption() );
}
public void testParseImageMacroWithoutCaptionOldStyle()
@@ -174,9 +174,9 @@
assertEquals( macro.length(), result.position );
assertNotNull( result.block );
- assertTrue(result.block instanceof FigureBlock );
- assertEquals( "my.png", ((FigureBlock) result.block).getLocation() );
- assertNull( ((FigureBlock) result.block).getCaption());
+ assertTrue( result.block instanceof FigureBlock );
+ assertEquals( "my.png", ( (FigureBlock) result.block ).getLocation() );
+ assertNull( ( (FigureBlock) result.block ).getCaption() );
}
public void testParseImageMacroNewStyle()
@@ -187,8 +187,8 @@
assertEquals( macro.length(), result.position );
assertNotNull( result.block );
- assertTrue(result.block instanceof FigureBlock );
- assertEquals( "my.png", ((FigureBlock) result.block).getLocation() );
- assertNull( ((FigureBlock) result.block).getCaption());
+ assertTrue( result.block instanceof FigureBlock );
+ assertEquals( "my.png", ( (FigureBlock) result.block ).getLocation() );
+ assertNull( ( (FigureBlock) result.block ).getCaption() );
}
}