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:31:46 UTC
svn commit: r614157 - in /maven/sandbox/trunk/doxia/doxia-module-xwiki/src:
main/java/org/apache/maven/doxia/module/xwiki/blocks/LinkBlock.java
test/java/org/apache/maven/doxia/module/xwiki/XWikiParserTest.java
Author: vmassol
Date: Tue Jan 22 01:31:45 2008
New Revision: 614157
URL: http://svn.apache.org/viewvc?rev=614157&view=rev
Log:
DOXIA-200: Add a Parser for XWiki
* Added more unit tests for the parser (for italic, bold and links)
Modified:
maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/blocks/LinkBlock.java
maven/sandbox/trunk/doxia/doxia-module-xwiki/src/test/java/org/apache/maven/doxia/module/xwiki/XWikiParserTest.java
Modified: maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/blocks/LinkBlock.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/blocks/LinkBlock.java?rev=614157&r1=614156&r2=614157&view=diff
==============================================================================
--- maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/blocks/LinkBlock.java (original)
+++ maven/sandbox/trunk/doxia/doxia-module-xwiki/src/main/java/org/apache/maven/doxia/module/xwiki/blocks/LinkBlock.java Tue Jan 22 01:31:45 2008
@@ -39,6 +39,16 @@
this.text = text;
}
+ public String getReference()
+ {
+ return this.reference;
+ }
+
+ public String getText()
+ {
+ return this.text;
+ }
+
public void traverse( Sink sink )
{
sink.link( reference );
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=614157&r1=614156&r2=614157&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:31:45 2008
@@ -24,6 +24,9 @@
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.ItalicBlock;
+import org.apache.maven.doxia.module.xwiki.blocks.LinkBlock;
import java.io.StringReader;
import java.util.List;
@@ -97,4 +100,35 @@
assertEquals( "TitleWithSpacesBefore", ((SectionBlock) blocks.get( 6)).getTitle());
assertEquals( 1, ((SectionBlock) blocks.get( 6)).getLevel());
}
-}
\ No newline at end of file
+
+ 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());
+ }
+
+ /**
+ * Note: The Link parser 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
+ {
+ 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());
+ }
+}