Author: vmassol
Date: Tue Jan 22 01:16:23 2008
New Revision: 614155

URL: http://svn.apache.org/viewvc?rev=614155&view=rev
Log:
DOXIA-200: Add a Parser for XWiki

* Added unit tests for parsing sections

Removed:
    
maven/sandbox/trunk/doxia/doxia-module-xwiki/src/test/resources/section.xwiki
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/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/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=614155&r1=614154&r2=614155&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:16:23 2008
@@ -23,6 +23,7 @@
 
 /**
  * @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
+ * @todo XWiki supports 6 levels of titles.
  * @version $Id: SectionBlock.java 568157 2007-08-21 15:06:04Z ltheussl $
  */
 public class SectionBlock
@@ -36,6 +37,16 @@
     {
         this.title = title;
         this.level = level;
+    }
+
+    public String getTitle()
+    {
+        return this.title;
+    }
+
+    public int getLevel()
+    {
+        return this.level;
     }
 
     public void traverse( Sink sink )

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=614155&r1=614154&r2=614155&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:16:23 2008
@@ -23,6 +23,7 @@
 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 java.io.StringReader;
 import java.util.List;
@@ -68,5 +69,32 @@
         assertNull( figureBlock.getCaption() );
         TextBlock textBlock2 = (TextBlock) paraBlock.getBlocks().get( 2 );
         assertEquals( " paragraph.", textBlock2.getText() );
+    }
+
+    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";
+        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());
     }
 }


Reply via email to