/*
* This file is part of "SnipSnap Radeox Rendering Engine".
*
* Copyright (c) 2002 Stephan J. Schmidt, Matthias L. Jugel
* All Rights Reserved.
*
* Please visit http://radeox.org/ for updates and contact.
*
* --LICENSE NOTICE--
* 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.
* --LICENSE NOTICE--
*/
package org.radeox.test.filter;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.radeox.api.engine.context.RenderContext;
import org.radeox.filter.LinkTestFilter;
import org.radeox.test.filter.mock.MockWikiRenderEngine;
public class LinkTestFilterTest extends FilterTestSupport
{
public LinkTestFilterTest(String name)
{
super(name);
}
protected void setUp() throws Exception
{
filter = new LinkTestFilter();
context.getRenderContext().setRenderEngine(new MockWikiRenderEngine());
super.setUp();
}
public static Test suite()
{
return new TestSuite(LinkTestFilterTest.class);
}
public void testUrlInLink()
{
assertEquals("Url is reported",
"<div class=\"error\">Do not surround URLs with [...].</div>",
filter.filter("[http://radeox.org]", context));
}
public void testCreate()
{
assertEquals("'Roller' - 'Roller'", filter.filter("[Roller]", context));
}
public void testLink()
{
assertEquals("link:SnipSnap|SnipSnap", filter.filter("[SnipSnap]",
context));
}
public void testLinkLower()
{
assertEquals("link:stephan|stephan", filter
.filter("[stephan]", context));
}
public void testLinkAlias()
{
assertEquals("link:stephan|alias", filter.filter("[alias|stephan]",
context));
}
public void testLinkAliasAnchor()
{
assertEquals("link:stephan|alias#hash", filter.filter(
"[alias|stephan#hash]", context));
}
public void testLinkAliasAnchorType()
{
assertEquals("link:stephan|alias#hash", filter.filter(
"[alias|type:stephan#hash]", context));
}
public void testLinkCacheable()
{
RenderContext renderContext = context.getRenderContext();
renderContext.setCacheable(false);
filter.filter("[SnipSnap]", context);
renderContext.commitCache();
assertTrue("Normal link is cacheable", renderContext.isCacheable());
}
public void testCreateLinkNotCacheable()
{
RenderContext renderContext = context.getRenderContext();
renderContext.setCacheable(false);
filter.filter("[Roller]", context);
renderContext.commitCache();
assertTrue("Non existing link is not cacheable", !renderContext
.isCacheable());
}
public void testLinksWithEscapedChars()
{
assertEquals("'<link>' - '<link>'", filter.filter("[<link>]",
context));
}
}