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());        
+    }
+}


Reply via email to