Added:
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/ParagraphTest.java
URL:
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/ParagraphTest.java?rev=349238&view=auto
==============================================================================
---
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/ParagraphTest.java
(added)
+++
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/ParagraphTest.java
Sun Nov 27 06:43:10 2005
@@ -0,0 +1,200 @@
+/*
+ * Copyright 2005 Zauber <info /at/ zauber dot com dot ar>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.maven.doxia.module.twiki.parser;
+
+import java.io.StringReader;
+import java.util.Arrays;
+
+import org.apache.maven.doxia.module.common.ByLineReaderSource;
+import org.apache.maven.doxia.parser.ParseException;
+
+
+/**
+ * Tests the [EMAIL PROTECTED]
org.apache.maven.doxia.module.twiki.parser.ParagraphBlockParser}
+ *
+ * @author Juan F. Codagnone
+ * @since Nov 1, 2005
+ */
+public class ParagraphTest extends AbstractBlockTestCase
+{
+
+ /**
+ * @throws ParseException on error
+ */
+ public final void testMultiLines() throws ParseException
+ {
+ final String text = ""
+ + "\n\n\n"
+ + "para1 -> text1\n"
+ + "para1 -> text2\n"
+ + "\n"
+ + "para2 -> text1\n"
+ + "para2 -> text2\n"
+ + " \n \n "
+ + "para2 -> text1\n"
+ + "para2 -> text2\n";
+
+ final ByLineReaderSource source = new ByLineReaderSource(
+ new StringReader( text ) );
+ final ParagraphBlockParser parser = paraParser;
+
+ ParagraphBlock block;
+
+ block = (ParagraphBlock) parser.visit( source
+ .getNextLine(), source );
+ assertNotNull( block );
+ assertEquals( 1, block.getBlocks().length );
+ assertEquals( "para1 -> text1 para1 -> text2", ( (TextBlock) block
+ .getBlocks()[0] ).getText() );
+
+ block = (ParagraphBlock) parser.visit( source
+ .getNextLine(), source );
+ assertNotNull( block );
+ assertEquals( 1, block.getBlocks().length );
+ assertEquals( "para2 -> text1 para2 -> text2", ( (TextBlock) block
+ .getBlocks()[0] ).getText() );
+ }
+
+ /**
+ * @throws ParseException on error
+ */
+ public final void testParagraphWithList() throws ParseException
+ {
+ final String text = ""
+ + "Description text:\n"
+ + " * item1\n"
+ + " * item2\n"
+ + "This is more text in the same paragraph\n"
+ + "\n"
+ + "Another paragraph";
+
+ final ByLineReaderSource source = new ByLineReaderSource(
+ new StringReader( text ) );
+ final ParagraphBlockParser parser = paraParser;
+
+ ParagraphBlock block;
+
+ block = (ParagraphBlock) parser.visit( source
+ .getNextLine(), source );
+ assertNotNull( block );
+ final Block[] firstLevelChilds = block.getBlocks();
+ final int numberOfChilds = 3;
+ assertEquals( numberOfChilds, firstLevelChilds.length );
+ assertEquals( TextBlock.class, firstLevelChilds[0].getClass() );
+ assertEquals( UnorderedListBlock.class,
+ firstLevelChilds[1].getClass() );
+ assertEquals( TextBlock.class, firstLevelChilds[2].getClass() );
+
+ final Block [] listChilds = ( (UnorderedListBlock) firstLevelChilds[1]
)
+ .getBlocks();
+ assertEquals( 2, listChilds.length );
+ assertEquals( 1, ( (ListItemBlock) listChilds[0] ).getBlocks().length
);
+ assertEquals( "item1", ( (TextBlock) ( (ListItemBlock) listChilds[0] )
+ .getBlocks()[0] ).getText() );
+ assertEquals( "item2", ( (TextBlock) ( (ListItemBlock) listChilds[1] )
+ .getBlocks()[0] ).getText() );
+ }
+
+ /**
+ * tests some valid weired lists
+ *
+ * @throws ParseException on error
+ */
+ public final void testParagraphWithStartingList() throws ParseException
+ {
+ final String text = ""
+ + " * item1\n"
+ + " * item2\n"
+ + "This is more text in the same paragraph\n"
+ + "\n"
+ + "Another paragraph";
+
+ final ByLineReaderSource source = new ByLineReaderSource(
+ new StringReader( text ) );
+ final ParagraphBlockParser parser = paraParser;
+
+ ParagraphBlock block;
+
+ block = (ParagraphBlock) parser.visit( source
+ .getNextLine(), source );
+ assertNotNull( block );
+ final Block[] firstLevelChilds = block.getBlocks();
+ assertEquals( 2, firstLevelChilds.length );
+ assertEquals( UnorderedListBlock.class,
+ firstLevelChilds[0].getClass() );
+ assertEquals( TextBlock.class, firstLevelChilds[1].getClass() );
+
+ final Block [] listChilds = ( (UnorderedListBlock) firstLevelChilds[0]
)
+ .getBlocks();
+ assertEquals( 2, listChilds.length );
+ assertEquals( 1, ( (ListItemBlock) listChilds[0] ).getBlocks().length
);
+ assertEquals( "item1", ( (TextBlock) ( (ListItemBlock) listChilds[0] )
+ .getBlocks()[0] ).getText() );
+ assertEquals( "item2", ( (TextBlock) ( (ListItemBlock) listChilds[1] )
+ .getBlocks()[0] ).getText() );
+ }
+
+
+ /**
+ * @throws ParseException on error
+ */
+ public final void testHorizontalRule() throws ParseException
+ {
+ Block block, expected;
+ ByLineReaderSource source;
+
+ assertTrue( hruleParser.accept( "---" ) );
+ assertFalse( hruleParser.accept( "---+ asdas" ) );
+
+ source = new ByLineReaderSource( new StringReader( "" ) );
+ expected = new HorizontalRuleBlock();
+ block = hruleParser.visit( "---", source );
+ assertNull( source.getNextLine() );
+ assertEquals( expected, block );
+
+ source = new ByLineReaderSource( new StringReader( "" ) );
+ expected = new HorizontalRuleBlock();
+ block = hruleParser.visit( "--- Some text ---- And some more", source
);
+ assertEquals( expected, block );
+ expected = new ParagraphBlock( new Block[]{
+ new TextBlock( "Some text ---- And some more" )
+ } );
+ block = paraParser.visit( source.getNextLine(), source );
+ assertEquals( expected, block );
+ }
+
+ /**
+ * @throws ParseException on error
+ */
+ public final void testHorizontalRuleAndParagraph() throws ParseException
+ {
+ Block[] blocks, expected;
+ ByLineReaderSource source;
+
+ source = new ByLineReaderSource( new StringReader( ""
+ + "Some text\n"
+ + "-----------\n"
+ + "More text"
+ ) );
+ expected = new Block[]{
+ new ParagraphBlock( new Block[]{new TextBlock( "Some text" )} ),
+ new HorizontalRuleBlock(),
+ new ParagraphBlock( new Block[]{new TextBlock( "More text" )} ),
+ };
+ blocks = twikiParser.parse( source ).toArray( new Block[]{} );
+ assertTrue( Arrays.equals( expected, blocks ) );
+ }
+}
Propchange:
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/ParagraphTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/ParagraphTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added:
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/SectionTest.java
URL:
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/SectionTest.java?rev=349238&view=auto
==============================================================================
---
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/SectionTest.java
(added)
+++
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/SectionTest.java
Sun Nov 27 06:43:10 2005
@@ -0,0 +1,187 @@
+/*
+ * Copyright 2005 Zauber <info /at/ zauber dot com dot ar>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.maven.doxia.module.twiki.parser;
+
+import java.io.StringReader;
+import java.util.Arrays;
+
+import org.apache.maven.doxia.module.common.ByLineReaderSource;
+import org.apache.maven.doxia.parser.ParseException;
+
+
+/**
+ * Tests the [EMAIL PROTECTED]
org.apache.maven.doxia.module.twiki.parser.SectionBlockParser}
+ *
+ * @author Juan F. Codagnone
+ * @since Nov 1, 2005
+ */
+public class SectionTest extends AbstractBlockTestCase
+{
+
+ /**
+ * @see SectionBlock#SectionBlock(String, int, Block[])
+ */
+ public final void testSectionBlockWrongArgs()
+ {
+ final int maxLevel = 5;
+ new SectionBlock( "hola", 1, new Block[]{} );
+ new SectionBlock( "hola", maxLevel, new Block[]{} );
+
+ try
+ {
+ new SectionBlock( "hola", maxLevel + 1, new Block[]{} );
+ fail();
+ }
+ catch ( final Throwable e )
+ {
+ // ok
+ }
+
+ try
+ {
+ new SectionBlock( "hola", 0, new Block[]{} );
+ fail();
+ }
+ catch ( final Throwable e )
+ {
+ // ok
+ }
+
+ try
+ {
+ new SectionBlock( null, 1, null );
+ fail();
+ }
+ catch ( final Throwable e )
+ {
+ // ok
+ }
+
+ new SectionBlock( "", 1, new Block[]{} );
+ }
+
+ /**
+ * @see SectionBlockParser#getLevel(String)
+ */
+ public final void testSectionParserGetLevel()
+ {
+ assertEquals( 2, SectionBlockParser.getLevel( "++" ) );
+ try
+ {
+ SectionBlockParser.getLevel( "asdasd" );
+ fail( "expected exception was not thrown" );
+ }
+ catch ( IllegalArgumentException e )
+ {
+ // ok
+ }
+ }
+
+ /**
+ * @see SectionBlockParser
+ */
+ public final void testSectionParser() throws Exception
+ {
+ final SectionBlockParser parser = sectionParser;
+ assertTrue( parser.accept( "---+ Title1" ) );
+ assertTrue( parser.accept( "---++ Title2" ) );
+ assertFalse( parser.accept( " ---++ Title3" ) );
+ assertTrue( parser.accept( "---+++ Title4" ) );
+ assertTrue( parser.accept( "---++++ Title5" ) );
+ assertTrue( parser.accept( "---+++++ Title6" ) );
+
+ SectionBlock block;
+ block = (SectionBlock) parser.visit( "---++++ Title4",
+ new ByLineReaderSource( new
StringReader( "" ) ) );
+
+ final int level = 4;
+ assertEquals( "Title4", block.getTitle() );
+ assertEquals( level, block.getLevel() );
+ assertEquals( 0, block.getBlocks().length );
+
+ // ejemplo un poco m�s complejo
+ block = (SectionBlock) parser.visit( "---+++ Title3",
+ new ByLineReaderSource( new
StringReader(
+ "This is *a* parragraph of a
section.\n"
+ + "Some text.\n"
+ + "---+++ Another Title"
+ + "... and more text" ) )
);
+ final SectionBlock expected = new SectionBlock( "Title3", 3, new
Block[]{
+ new ParagraphBlock( new Block[]{
+ new TextBlock( "This is " ),
+ new BoldBlock( new Block[]{new TextBlock( "a" )} ),
+ new TextBlock( " parragraph of a section. Some text." ),
+ } )
+ } );
+ assertEquals( expected, block );
+ }
+
+ /**
+ * Test section with several paragraphs (the paragraph are plain text)
+ *
+ * @throws Exception on error
+ */
+ public final void testSectionWithParagraphs() throws Exception
+ {
+ final String text = ""
+ + "---++ Title\n"
+ + "\n"
+ + "hey!\n"
+ + "how are\n"
+ + "you?\n"
+ + " \n "
+ + "Fine!! thanks";
+
+ final SectionBlockParser parser = sectionParser;
+ final ByLineReaderSource source = new ByLineReaderSource(
+ new StringReader( text ) );
+ final SectionBlock block = (SectionBlock) parser.visit( source
+ .getNextLine(), source );
+ assertEquals( 2, block.getBlocks().length );
+ assertEquals( "hey! how are you?", ( (TextBlock) ( (ParagraphBlock)
block
+ .getBlocks()[0] ).getBlocks()[0] ).getText() );
+ assertEquals( "Fine!! thanks", ( (TextBlock) ( (ParagraphBlock) block
+ .getBlocks()[1] ).getBlocks()[0] ).getText() );
+ }
+
+ /**
+ * @throws ParseException on error
+ */
+ public final void testSectionAndParaAndHrule() throws ParseException
+ {
+ Block[] blocks, expected;
+ ByLineReaderSource source;
+
+ source = new ByLineReaderSource( new StringReader( ""
+ + "---++ Title\n"
+ + "Some text\n"
+ + "----------- More text\n"
+ ) );
+ expected = new Block[]{
+ new SectionBlock( "Title", 1, new Block[]{
+ new ParagraphBlock( new Block[]{
+ new TextBlock( "Some text" )
+ } ),
+ new HorizontalRuleBlock(),
+ new ParagraphBlock( new Block[]{
+ new TextBlock( "More text" )
+ } ),
+ } ),
+ };
+ blocks = twikiParser.parse( source ).toArray( new Block[]{} );
+ assertTrue( Arrays.equals( expected, blocks ) );
+ }
+}
Propchange:
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/SectionTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/SectionTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added:
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/TableTest.java
URL:
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/TableTest.java?rev=349238&view=auto
==============================================================================
---
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/TableTest.java
(added)
+++
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/TableTest.java
Sun Nov 27 06:43:10 2005
@@ -0,0 +1,92 @@
+/*
+ * Copyright 2005 Zauber <info /at/ zauber dot com dot ar>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.maven.doxia.module.twiki.parser;
+
+import java.io.StringReader;
+
+import org.apache.maven.doxia.module.common.ByLineReaderSource;
+import org.apache.maven.doxia.module.common.ByLineSource;
+import org.apache.maven.doxia.parser.ParseException;
+
+
+/**
+ * Tests the [EMAIL PROTECTED]
org.apache.maven.doxia.module.twiki.parser.TableBlockParser}
+ *
+ * @author Juan F. Codagnone
+ * @since Nov 9, 2005
+ */
+public class TableTest extends AbstractBlockTestCase
+{
+
+ /**
+ * unit test the regex
+ */
+ public final void testRegex()
+ {
+ assertTrue( tableParser.accept( " | cell1 | cell2| " ) );
+ assertFalse( tableParser.accept( " | cell1 | cell" ) );
+ }
+
+ /**
+ * @throws ParseException on error
+ */
+ public final void testTable() throws ParseException
+ {
+ final StringReader sw = new StringReader( ""
+ + " |cell1|cell2| \n"
+ + "|cell3|cell4|\n"
+ );
+
+ final ByLineSource source = new ByLineReaderSource( sw );
+
+ Block block, expected;
+ expected = new TableBlock( new Block[]{
+ new TableRowBlock( new Block[]{
+ new TableCellBlock( new Block[]{new TextBlock( "cell1" )} ),
+ new TableCellBlock( new Block[]{new TextBlock( "cell2" )} ),
+ } ),
+ new TableRowBlock( new Block[]{
+ new TableCellBlock( new Block[]{new TextBlock( "cell3" )} ),
+ new TableCellBlock( new Block[]{new TextBlock( "cell4" )} ),
+ } ),
+ } );
+
+ block = tableParser.visit( source.getNextLine(), source );
+ assertEquals( block, expected );
+ }
+
+ /**
+ * @throws ParseException on error
+ */
+ public final void testTableHeader() throws ParseException
+ {
+ final StringReader sw = new StringReader( "|*cell1*|*cell2*|\n"
+ );
+
+ final ByLineSource source = new ByLineReaderSource( sw );
+
+ Block block, expected;
+ expected = new TableBlock( new Block[]{
+ new TableRowBlock( new Block[]{
+ new TableCellHeaderBlock( new Block[]{new TextBlock( "cell1"
)} ),
+ new TableCellHeaderBlock( new Block[]{new TextBlock( "cell2"
)} ),
+ } ),
+ } );
+
+ block = tableParser.visit( source.getNextLine(), source );
+ assertEquals( block, expected );
+ }
+}
Propchange:
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/TableTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/TableTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added:
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/WordsTest.java
URL:
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/WordsTest.java?rev=349238&view=auto
==============================================================================
---
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/WordsTest.java
(added)
+++
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/WordsTest.java
Sun Nov 27 06:43:10 2005
@@ -0,0 +1,260 @@
+/*
+ * Copyright 2005 Zauber <info /at/ zauber dot com dot ar>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.maven.doxia.module.twiki.parser;
+
+import java.util.Arrays;
+
+
+/**
+ * tests the WikiWord parsing (and things like that)
+ *
+ * @author Juan F. Codagnone
+ * @since Nov 4, 2005
+ */
+public class WordsTest extends AbstractBlockTestCase
+{
+ /**
+ * used to convert lists to arrays
+ */
+ private static final Block [] TOARRAY = new Block[]{};
+
+ /**
+ * ...
+ */
+ public final void testText()
+ {
+ Block [] blocks, expected;
+
+ expected = new Block[]{new TextBlock( " Some text " )};
+ blocks = textParser.parse( " Some text " ).toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+ }
+
+ /**
+ * ...
+ */
+ public final void testWikiWords()
+ {
+ Block [] blocks, expected;
+
+ expected = new Block[]{new WikiWordBlock( "WikiWord" )};
+ blocks = textParser.parse( "WikiWord" ).toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+
+ // this is not a wiki word
+ expected = new Block[]{new TextBlock( "Wiki" )};
+ blocks = textParser.parse( "Wiki" ).toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+
+ expected = new Block[]{new TextBlock( "Web." )};
+ blocks = textParser.parse( "Web." ).toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+
+ expected = new Block[]{new TextBlock( "fooWikiBar" )};
+ blocks = textParser.parse( "fooWikiBar" ).toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+
+ expected = new Block[]{
+ new WikiWordBlock( "WikiWord" ), new TextBlock( "...." )
+ };
+ blocks = textParser.parse( "WikiWord...." ).toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+ }
+
+ /**
+ * ...
+ */
+ public final void testWebWikiWords()
+ {
+ Block [] blocks, expected;
+
+ expected = new Block[]{new WikiWordBlock( "Web.WikiWord" )};
+ blocks = textParser.parse( "Web.WikiWord" ).toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+
+ expected = new Block[]{new WikiWordBlock( "My1Web.WikiWord" )};
+ blocks = textParser.parse( "My1Web.WikiWord" ).toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+ }
+
+ /**
+ * ...
+ */
+ public final void testWebAnchorWikiWords()
+ {
+ Block [] blocks, expected;
+
+ expected = new Block[]{new WikiWordBlock( "WikiWord#anchor" )};
+ blocks = textParser.parse( "WikiWord#anchor" ).toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+
+ expected = new Block[]{new WikiWordBlock( "MyWeb.WikiWord#anchor" )};
+ blocks = textParser.parse( "MyWeb.WikiWord#anchor" ).toArray( TOARRAY
);
+ assertTrue( Arrays.equals( expected, blocks ) );
+
+ }
+
+ /**
+ * test Specific Links
+ */
+ public final void testSpecificLinks()
+ {
+ Block [] blocks, expected;
+
+ expected = new Block[]{new LinkBlock( "reference", "text" )};
+ blocks = textParser.parse( "[[reference][text]]" ).toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+
+ expected = new Block[]{
+ new TextBlock( "foo" ),
+ new LinkBlock( "reference", "text" ),
+ new TextBlock( "bar" ),
+ };
+ blocks = textParser.parse( "foo[[reference][text]]bar" ).toArray(
TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+
+ expected = new Block[]{
+ new TextBlock( " foo " ),
+ new LinkBlock( "reference", "text" ),
+ new TextBlock( " bar " ),
+ };
+ blocks = textParser.parse( " foo [[reference][text]] bar " )
+ .toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+ }
+
+ /**
+ * test Specific Links
+ */
+ public final void testSpecificLinkPrevention()
+ {
+ Block [] blocks, expected;
+
+ expected = new Block[]{new TextBlock( "[[reference][text]]" )};
+ blocks = textParser.parse( "![[reference][text]]" ).toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+ }
+
+ /**
+ * ...
+ */
+ public final void testPreventLinkingWikiWord()
+ {
+ Block [] blocks, expected;
+
+ expected = new Block[]{
+ new TextBlock( " " ),
+ new TextBlock( "WikiWord" ),
+ new TextBlock( " " ),
+ };
+ blocks = textParser.parse( " !WikiWord " ).toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+
+ expected = new Block[]{new TextBlock( " !!WikiWord " )};
+ blocks = textParser.parse( " !!WikiWord " ).toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+ }
+
+ /**
+ * ej [[Main.TWiki rules]] would be wikiword Main.TWikiRules
+ */
+ public final void testForcedLinks()
+ {
+ Block [] blocks, expected;
+
+ expected = new Block[]{
+ new WikiWordBlock( "WikiSyntax", "wiki syntax" ),
+ };
+ blocks = textParser.parse( "[[wiki syntax]]" ).toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+
+ expected = new Block[]{
+ new TextBlock( "[[wiki syntax]]" ),
+ };
+ blocks = textParser.parse( "![[wiki syntax]]" ).toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+
+ expected = new Block[]{
+ new TextBlock( "foo" ),
+ new WikiWordBlock( "WikiSyntax", "wiki syntax" ),
+ new TextBlock( "bar" ),
+ };
+ blocks = textParser.parse( "foo[[wiki syntax]]bar" ).toArray( TOARRAY
);
+ assertTrue( Arrays.equals( expected, blocks ) );
+ }
+
+ /**
+ * ...
+ */
+ public final void testMailtoForcedLinks()
+ {
+ Block [] blocks, expected;
+
+ expected = new Block[]{
+ new LinkBlock( "mailto:[EMAIL PROTECTED]", "Mail" ),
+ };
+ blocks = textParser.parse( "[[mailto:[EMAIL PROTECTED] Mail]]"
).toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+ }
+
+ /**
+ * ...
+ */
+ public final void testAnchors()
+ {
+ Block [] blocks, expected;
+
+ expected = new Block[]{
+ new TextBlock( "mary has #anchor a little lamb" ),
+ };
+ blocks = textParser.parse( "mary has #anchor a little lamb" ).toArray(
+ TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+
+ expected = new Block[]{
+ new TextBlock( "mary has " ),
+ new AnchorBlock( "AnchorName" ),
+ new TextBlock( " a little lamb" ),
+ };
+ blocks = textParser.parse( "mary has #AnchorName a little lamb" )
+ .toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+
+ expected = new Block[]{
+ new TextBlock( "mary has #AnchorName1233 a little lamb" ),
+ };
+ blocks = textParser.parse( "mary has #AnchorName1233 a little lamb" )
+ .toArray( TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+ }
+
+ /**
+ * unit test
+ */
+ public final void testAutomaticLink()
+ {
+ Block [] blocks, expected;
+
+ expected = new Block[]{
+ new TextBlock( "Go to " ),
+ new LinkBlock( "http://twiki.com", "http://twiki.com" ),
+ new TextBlock( " and ..." ),
+ };
+ blocks = textParser.parse( "Go to http://twiki.com and ..." ).toArray(
+ TOARRAY );
+ assertTrue( Arrays.equals( expected, blocks ) );
+ }
+}
Propchange:
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/WordsTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/doxia/trunk/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/WordsTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"