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