package org.displaytag.util;
import junit.framework.TestCase;
import org.junit.Assert;
/**
* Tests for ParamEncoder.
* @author Fabrizio Giustina
* @version $Revision$ ($Author$)
*/
public class ParamEncoderTest extends TestCase
{
/**
* @see junit.framework.TestCase#getName()
*/
public String getName()
{
return getClass().getName() + "." + super.getName();
}
/**
* Test for reported DISPL-12.
*/
public void testOptionAndAnswer()
{
Assert.assertFalse("id \"option\" and \"answer\" produce the same parameter", new ParamEncoder("option")
.encodeParameterName("x")
.equals(new ParamEncoder("answer").encodeParameterName("x")));
}
/**
* Same parameter produce the same result.
*/
public void testEquals()
{
Assert.assertEquals("The same parameter should produce equals key.", new ParamEncoder("equals")
.encodeParameterName("x"), (new ParamEncoder("equals").encodeParameterName("x")));
}
/**
* We don't wont param names to be too long.
*/
public void testNotTooLong()
{
Assert.assertTrue(new ParamEncoder("averyveryveryveryveryveryverylongidvalue")
.encodeParameterName("x")
.length() < 12);
Assert.assertTrue(new ParamEncoder("test").encodeParameterName("x").length() < 12);
Assert.assertTrue(new ParamEncoder("a").encodeParameterName("x").length() < 12);
Assert.assertTrue(new ParamEncoder("xxxxxxxxxxxx").encodeParameterName("x").length() < 12);
Assert.assertTrue(new ParamEncoder("xxxxxxxxxxxxxxxxxxxxxxxxxxxx").encodeParameterName("x").length() < 12);
}
}