You are viewing a plain text version of this content. The canonical link for it is here.
Posted to doxia-commits@maven.apache.org by lt...@apache.org on 2007/12/16 21:12:36 UTC

svn commit: r604688 - in /maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src: main/java/org/apache/maven/doxia/module/twiki/ main/java/org/apache/maven/doxia/module/twiki/parser/ test/java/org/apache/maven/doxia/module/twiki/parser/

Author: ltheussl
Date: Sun Dec 16 12:12:35 2007
New Revision: 604688

URL: http://svn.apache.org/viewvc?rev=604688&view=rev
Log:
[DOXIA-194] Generate useful links for WikiWords
Submitted by: Juan F. Codagnone, Christian Nardi

Added:
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/WikiWordLinkResolver.java   (with props)
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/XHTMLWikiWordLinkResolver.java   (with props)
Modified:
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiParser.java
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/TextParser.java
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/WikiWordBlock.java
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/AbstractBlockTestCase.java
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/BlockTest.java
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/WordsTest.java

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiParser.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiParser.java?rev=604688&r1=604687&r2=604688&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiParser.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiParser.java Sun Dec 16 12:12:35 2007
@@ -28,6 +28,7 @@
 import org.apache.maven.doxia.module.twiki.parser.SectionBlockParser;
 import org.apache.maven.doxia.module.twiki.parser.TableBlockParser;
 import org.apache.maven.doxia.module.twiki.parser.TextParser;
+import org.apache.maven.doxia.module.twiki.parser.XHTMLWikiWordLinkResolver;
 import org.apache.maven.doxia.parser.AbstractTextParser;
 import org.apache.maven.doxia.parser.ParseException;
 import org.apache.maven.doxia.sink.Sink;
@@ -71,8 +72,11 @@
         new FormatedTextParser();
     /**
      * text parser. stateless
+     * This only works for xhtml output, but there is no way 
+     * of transforming a wikiWord in another context.
      */
-    private final TextParser textParser = new TextParser();
+    private final TextParser textParser = new TextParser( 
+            new XHTMLWikiWordLinkResolver() );
     /**
      * hruler parser. stateless
      */

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/TextParser.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/TextParser.java?rev=604688&r1=604687&r2=604688&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/TextParser.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/TextParser.java Sun Dec 16 12:12:35 2007
@@ -65,8 +65,21 @@
      */
     private static final Pattern IMAGE_PATTERN = 
         Pattern.compile( "(.*)\\.(png|jpg|gif|bmp)" );
+    
+    /**
+     * resolves wikiWordLinks
+     */
+    private final WikiWordLinkResolver wikiWordLinkResolver;
 
     /**
+     * Creates the TextParser.
+     * @param resolver resolver for wikiWord links
+     */
+    public TextParser( final WikiWordLinkResolver resolver ) 
+    {
+        this.wikiWordLinkResolver = resolver;
+    }
+    /**
      * @param line line to parse
      * @return a list of block that represents the input
      */
@@ -199,14 +212,14 @@
      */
     private Block createLink( final String link, final String showText ) 
     {
-        if ( URL_PATTERN.matcher( showText ).matches() ) 
+        if ( URL_PATTERN.matcher( link ).matches() ) 
         {
-            return new LinkBlock( showText, showText );
+            return new LinkBlock( link, showText );
         }
         else
         {
             final StringTokenizer tokenizer =
-                new StringTokenizer( showText );
+                new StringTokenizer( link );
             final StringBuffer sb = new StringBuffer();
 
             while ( tokenizer.hasMoreElements() )
@@ -215,7 +228,7 @@
                 sb.append( s.substring( 0, 1 ).toUpperCase() );
                 sb.append( s.substring( 1 ) );
             }
-            return new WikiWordBlock( sb.toString(), showText );
+            return new WikiWordBlock( sb.toString(), showText, wikiWordLinkResolver );
         }
     }
 
@@ -237,7 +250,7 @@
         }
         else
         {
-            ret.add( new WikiWordBlock( wikiWord ) );
+            ret.add( new WikiWordBlock( wikiWord , wikiWordLinkResolver ) );
         }
         ret.addAll( parse( line.substring( wikiMatcher.end(), line.length() ) ) );
     }
@@ -260,7 +273,7 @@
         }
         else
         {
-            ret.add( new LinkBlock( linkMatcher.group( 1 ),
+            ret.add( createLink( linkMatcher.group( 1 ),
                                     linkMatcher.group( 2 ) ) );
         }
         ret.addAll( parse( line.substring( linkMatcher.end(), line.length() ) ) );

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/WikiWordBlock.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/WikiWordBlock.java?rev=604688&r1=604687&r2=604688&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/WikiWordBlock.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/WikiWordBlock.java Sun Dec 16 12:12:35 2007
@@ -38,45 +38,58 @@
      * text to show in the wiki word link
      */
     private final String showText;
+    /**
+     * Resolves WikiWord links
+     */
+    private final WikiWordLinkResolver wikiWordLinkResolver;
 
     /**
      * @see #WikiWordBlock(String, String)
+     * @param aWikiword the wikiWord
+     * @param resolver responsible of resolving the link to the wikiWord
      */
-    public WikiWordBlock( final String wikiword )
+    public WikiWordBlock( final String aWikiword, 
+            final WikiWordLinkResolver resolver )
     {
-        this( wikiword, wikiword );
+        this( aWikiword, aWikiword, resolver );
     }
 
     /**
      * Creates the WikiWordBlock.
      *
-     * @param wikiword the wiki word
-     * @param showText text to show in the wiki link
+     * @param aWikiword the wiki word
+     * @param aText text to show in the wiki link
+     * @param resolver responsible of resolving the link to the wikiWord 
      * @throws IllegalArgumentException if the wikiword is <code>null</code>
      */
-    public WikiWordBlock( final String wikiword, final String showText )
-        throws IllegalArgumentException
+    public WikiWordBlock( final String aWikiword, final String aText , 
+            final WikiWordLinkResolver resolver )
     {
-        if ( wikiword == null || showText == null )
+        if ( aWikiword == null || aText == null || resolver == null )
         {
             throw new IllegalArgumentException( "arguments can't be null" );
         }
-        this.wikiword = wikiword;
-        this.showText = showText;
+        this.wikiword = aWikiword;
+        this.showText = aText;
+        this.wikiWordLinkResolver = resolver;
     }
 
     /**
      * @see Block#traverse(org.apache.maven.doxia.sink.Sink)
+     * @param sink the sink that travers
      */
     public final void traverse( final Sink sink )
     {
-        sink.link( wikiword );
+        sink.link( wikiWordLinkResolver.resolveLink( wikiword ) );
         sink.text( showText );
         sink.link_();
     }
 
     /**
      * @see Object#equals(Object)
+     * @param   obj   the reference object with which to compare.
+     * @return  <code>true</code> if this object is the same as the obj
+     *          argument; <code>false</code> otherwise.
      */
     
     public final boolean equals( final Object obj )
@@ -99,6 +112,7 @@
 
     /**
      * @see Object#hashCode()
+     * @return  a hash code value for this object.
      */
     
     public final int hashCode()

Added: maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/WikiWordLinkResolver.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/WikiWordLinkResolver.java?rev=604688&view=auto
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/WikiWordLinkResolver.java (added)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/WikiWordLinkResolver.java Sun Dec 16 12:12:35 2007
@@ -0,0 +1,41 @@
+package org.apache.maven.doxia.module.twiki.parser;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+
+
+/**
+ * Resolves the WikiWordLinks
+ *
+ * @author Christian D. Nardi
+ * @since Nov 7, 2007
+ */
+public interface WikiWordLinkResolver
+{
+
+    /**
+     * Given a wikiWord, it returns a link string.
+     * 
+     * @param wikiWord wikiWord to resolve
+     * @return the link representation of the wikiWord.
+     */
+    String resolveLink( final String wikiWord );
+    
+}

Propchange: maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/WikiWordLinkResolver.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/WikiWordLinkResolver.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/XHTMLWikiWordLinkResolver.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/XHTMLWikiWordLinkResolver.java?rev=604688&view=auto
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/XHTMLWikiWordLinkResolver.java (added)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/XHTMLWikiWordLinkResolver.java Sun Dec 16 12:12:35 2007
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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;
+
+/**
+ * Transform WikiWord to HTML links
+ * 
+ * @author Christian Nardi
+ * @since Nov 7, 2007
+ */
+public class XHTMLWikiWordLinkResolver implements WikiWordLinkResolver 
+{
+
+    /** @see org.apache.maven.doxia.module.twiki.parser.WikiWordLinkResolver#
+     * resolveLink(java.lang.String)
+     * This only works for xhtml output, but there is no way 
+     * of transforming a wikiWord in another context.
+     * @param wikiWord wikiWord to resolve
+     * @return the link representation of the wikiWord.
+     */
+    public final String resolveLink( final String wikiWord ) 
+    {
+        return "./" + wikiWord + ".html";
+    }
+
+}

Propchange: maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/XHTMLWikiWordLinkResolver.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/XHTMLWikiWordLinkResolver.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/AbstractBlockTestCase.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/AbstractBlockTestCase.java?rev=604688&r1=604687&r2=604688&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/AbstractBlockTestCase.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/AbstractBlockTestCase.java Sun Dec 16 12:12:35 2007
@@ -54,7 +54,8 @@
     /**
      * TextParser used in all the tests
      */
-    protected final TextParser textParser = new TextParser();
+    protected final TextParser textParser = new TextParser( 
+            new XHTMLWikiWordLinkResolver() );
     /**
      * TextParser used in all the tests
      */

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/BlockTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/BlockTest.java?rev=604688&r1=604687&r2=604688&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/BlockTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/BlockTest.java Sun Dec 16 12:12:35 2007
@@ -48,16 +48,19 @@
      */
     public final void testWikiWordBlockEquals()
     {
-        testEquals( new WikiWordBlock( "bar" ), new WikiWordBlock( "bar" ),
-                    new WikiWordBlock( "foo" ) );
+        final WikiWordLinkResolver resolver = 
+                new XHTMLWikiWordLinkResolver();
+        testEquals( new WikiWordBlock( "bar", resolver ), 
+                    new WikiWordBlock( "bar", resolver ),
+                    new WikiWordBlock( "foo", resolver ) );
 
-        testEquals( new WikiWordBlock( "bar", "text" ),
-                    new WikiWordBlock( "bar", "text" ),
-                    new WikiWordBlock( "bar" ) );
+        testEquals( new WikiWordBlock( "bar", "text", resolver ),
+                    new WikiWordBlock( "bar", "text", resolver ),
+                    new WikiWordBlock( "bar", resolver ) );
 
-        testEquals( new WikiWordBlock( "bar", "text" ),
-                    new WikiWordBlock( "bar", "text" ),
-                    new WikiWordBlock( "text", "bar" ) );
+        testEquals( new WikiWordBlock( "bar", "text", resolver ),
+                    new WikiWordBlock( "bar", "text", resolver ),
+                    new WikiWordBlock( "text", "bar", resolver ) );
 
     }
 

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/WordsTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/WordsTest.java?rev=604688&r1=604687&r2=604688&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/WordsTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/WordsTest.java Sun Dec 16 12:12:35 2007
@@ -34,6 +34,12 @@
      * used to convert lists to arrays
      */
     private static final Block [] TOARRAY = new Block[]{};
+    
+    /**
+     * Resolves links for wikiWords
+     */
+    private final WikiWordLinkResolver resolver =
+        new XHTMLWikiWordLinkResolver();
 
     /**
      * ...
@@ -54,7 +60,7 @@
     {
         Block [] blocks, expected;
 
-        expected = new Block[]{new WikiWordBlock( "WikiWord" )};
+        expected = new Block[]{new WikiWordBlock( "WikiWord", resolver )};
         blocks = (Block[]) textParser.parse( "WikiWord" ).toArray( TOARRAY );
         assertTrue( Arrays.equals( expected, blocks ) );
 
@@ -72,7 +78,7 @@
         assertTrue( Arrays.equals( expected, blocks ) );
 
         expected = new Block[]{
-            new WikiWordBlock( "WikiWord" ), new TextBlock( "...." )
+            new WikiWordBlock( "WikiWord", resolver ), new TextBlock( "...." )
         };
         blocks = (Block[]) textParser.parse( "WikiWord...." ).toArray( TOARRAY );
         assertTrue( Arrays.equals( expected, blocks ) );
@@ -85,11 +91,11 @@
     {
         Block [] blocks, expected;
 
-        expected = new Block[]{new WikiWordBlock( "Web.WikiWord" )};
+        expected = new Block[]{new WikiWordBlock( "Web.WikiWord", resolver )};
         blocks = (Block[]) textParser.parse( "Web.WikiWord" ).toArray( TOARRAY );
         assertTrue( Arrays.equals( expected, blocks ) );
 
-        expected = new Block[]{new WikiWordBlock( "My1Web.WikiWord" )};
+        expected = new Block[]{new WikiWordBlock( "My1Web.WikiWord", resolver )};
         blocks = (Block[]) textParser.parse( "My1Web.WikiWord" ).toArray( TOARRAY );
         assertTrue( Arrays.equals( expected, blocks ) );
     }
@@ -101,11 +107,11 @@
     {
         Block [] blocks, expected;
 
-        expected = new Block[]{new WikiWordBlock( "WikiWord#anchor" )};
+        expected = new Block[]{new WikiWordBlock( "WikiWord#anchor", resolver )};
         blocks = (Block[]) textParser.parse( "WikiWord#anchor" ).toArray( TOARRAY );
         assertTrue( Arrays.equals( expected, blocks ) );
 
-        expected = new Block[]{new WikiWordBlock( "MyWeb.WikiWord#anchor" )};
+        expected = new Block[]{new WikiWordBlock( "MyWeb.WikiWord#anchor", resolver )};
         blocks = (Block[]) textParser.parse( "MyWeb.WikiWord#anchor" ).toArray( TOARRAY );
         assertTrue( Arrays.equals( expected, blocks ) );
 
@@ -114,29 +120,62 @@
     /**
      * test Specific Links
      */
-    public final void testSpecificLinks()
+    public final void testURLSpecificLinks()
+    {
+        Block [] blocks, expected;
+
+        expected = new Block[]{new LinkBlock( "http://reference.com", "text" )};
+        blocks = (Block[]) textParser.parse( "[[http://reference.com][text]]" ).
+                    toArray( TOARRAY );
+        assertTrue( Arrays.equals( expected, blocks ) );
+
+        expected = new Block[]{
+            new TextBlock( "foo" ),
+            new LinkBlock( "http://reference.com", "text" ),
+            new TextBlock( "bar" ),
+        };
+        blocks = (Block[]) textParser.parse( "foo[[http://reference.com][text]]bar" ).
+                    toArray( TOARRAY );
+        assertTrue( Arrays.equals( expected, blocks ) );
+
+        expected = new Block[]{
+            new TextBlock( " foo " ),
+            new LinkBlock( "http://reference.com", "text" ),
+            new TextBlock( " bar " ),
+        };
+        blocks = (Block[]) textParser.
+            parse( " foo [[http://reference.com][text]] bar " ).toArray( TOARRAY );
+        assertTrue( Arrays.equals( expected, blocks ) );
+    }
+    
+    /**
+     * test Specific Links with wikiWords
+     */
+    public final void testWikiSpecificLinks()
     {
         Block [] blocks, expected;
 
-        expected = new Block[]{new LinkBlock( "reference", "text" )};
-        blocks = (Block[]) textParser.parse( "[[reference][text]]" ).toArray( TOARRAY );
+        expected = new Block[]{new WikiWordBlock( "Reference", "text", resolver )};
+        blocks = (Block[]) textParser.parse( "[[reference][text]]" ).
+                    toArray( TOARRAY );
         assertTrue( Arrays.equals( expected, blocks ) );
 
         expected = new Block[]{
             new TextBlock( "foo" ),
-            new LinkBlock( "reference", "text" ),
+            new WikiWordBlock( "ReferenceLink", "text", resolver ),
             new TextBlock( "bar" ),
         };
-        blocks = (Block[]) textParser.parse( "foo[[reference][text]]bar" ).toArray( TOARRAY );
+        blocks = (Block[]) textParser.parse( "foo[[referenceLink][text]]bar" ).
+                    toArray( TOARRAY );
         assertTrue( Arrays.equals( expected, blocks ) );
 
         expected = new Block[]{
             new TextBlock( " foo " ),
-            new LinkBlock( "reference", "text" ),
+            new WikiWordBlock( "ReferenceLink", "text", resolver ),
             new TextBlock( " bar " ),
         };
-        blocks = (Block[]) textParser.parse( " foo [[reference][text]] bar " )
-            .toArray( TOARRAY );
+        blocks = (Block[]) textParser.
+            parse( " foo [[reference link][text]] bar " ).toArray( TOARRAY );
         assertTrue( Arrays.equals( expected, blocks ) );
     }
 
@@ -180,7 +219,7 @@
         Block [] blocks, expected;
 
         expected = new Block[]{
-            new WikiWordBlock( "WikiSyntax", "wiki syntax" ),
+            new WikiWordBlock( "WikiSyntax", "wiki syntax", resolver ),
         };
         blocks = (Block[]) textParser.parse( "[[wiki syntax]]" ).toArray( TOARRAY );
         assertTrue( Arrays.equals( expected, blocks ) );
@@ -193,7 +232,7 @@
 
         expected = new Block[]{
             new TextBlock( "foo" ),
-            new WikiWordBlock( "WikiSyntax", "wiki syntax" ),
+            new WikiWordBlock( "WikiSyntax", "wiki syntax", resolver ), 
             new TextBlock( "bar" ),
         };
         blocks = (Block[]) textParser.parse( "foo[[wiki syntax]]bar" ).toArray( TOARRAY );