package org.displaytag.decorator; import junit.framework.TestCase; import org.junit.Assert; /** * Test case for AutolinkColumnDecorator. * @author Fabrizio Giustina * @version $Revision$ ($Author$) */ public class AutolinkColumnDecoratorTest extends TestCase { /** * @see junit.framework.TestCase#getName() */ public String getName() { return getClass().getName() + "." + super.getName(); } /** * Test for [952129] column:autolink throwing exception. */ public void testLongTextWithLink() { Object linked = new AutolinkColumnDecorator().decorate( "A large string of text. Foo bar. Foo bar. Foo bar. Foo bar. " + "Foo bar. Foo bar. Foo bar. Foo bar. Foo bar. Foo bar. Foo bar. " + "Foo bar. Foo bar. Foo bar. Foo bar. Foo bar. http://foo.bar.", null, null); Assert.assertEquals("A large string of text. Foo bar. Foo bar. Foo bar. Foo bar. " + "Foo bar. Foo bar. Foo bar. Foo bar. Foo bar. Foo bar. Foo bar. " + "Foo bar. Foo bar. Foo bar. Foo bar. Foo bar. <a href=\"http://foo.bar.\">http://foo.bar.</a>", linked); } /** * Test for [952129] column:autolink throwing exception. */ public void testLongTextWithEmail() { Object linked = new AutolinkColumnDecorator().decorate( "A large string of text. Foo bar. Foo bar. Foo bar. Foo bar. " + "Foo bar. Foo bar. Foo bar. Foo bar. Foo bar. Foo bar. Foo bar. " + "Foo bar. Foo bar. Foo bar. Foo bar. Foo bar. foo@bar.com.", null, null); Assert.assertEquals("A large string of text. Foo bar. Foo bar. Foo bar. Foo bar. " + "Foo bar. Foo bar. Foo bar. Foo bar. Foo bar. Foo bar. Foo bar. " + "Foo bar. Foo bar. Foo bar. Foo bar. Foo bar. <a href=\"mailto:foo@bar.com.\">foo@bar.com.</a>", linked); } /** * Test for [952132 ] autolink garbling urls. */ public void testGarbledUrl() { Object linked = new AutolinkColumnDecorator().decorate("http://foo.bar cat http://stoat", null, null); Assert.assertEquals( "<a href=\"http://foo.bar\">http://foo.bar</a> cat <a href=\"http://stoat\">http://stoat</a>", linked); } /** * Test simple link. */ public void testSimpleLink() { Object linked = new AutolinkColumnDecorator().decorate("http://foo.bar", null, null); Assert.assertEquals("<a href=\"http://foo.bar\">http://foo.bar</a>", linked); } /** * Test simple https link. */ public void testSimpleHttpsLink() { Object linked = new AutolinkColumnDecorator().decorate("https://foo.bar", null, null); Assert.assertEquals("<a href=\"https://foo.bar\">https://foo.bar</a>", linked); } /** * Test simple ftp link. */ public void testSimpleFtpLink() { Object linked = new AutolinkColumnDecorator().decorate("ftp://foo.bar", null, null); Assert.assertEquals("<a href=\"ftp://foo.bar\">ftp://foo.bar</a>", linked); } /** * Test simple email. */ public void testSimpleEmail() { Object linked = new AutolinkColumnDecorator().decorate("foo@bar.com", null, null); Assert.assertEquals("<a href=\"mailto:foo@bar.com\">foo@bar.com</a>", linked); } /** * Test simple link plus dot. */ public void testSimpleLinkPlusDot() { Object linked = new AutolinkColumnDecorator().decorate("http://foo.bar .", null, null); Assert.assertEquals("<a href=\"http://foo.bar\">http://foo.bar</a> .", linked); } /** * Test no link. */ public void testNoLink() { Object linked = new AutolinkColumnDecorator().decorate("aa://bb", null, null); Assert.assertEquals("aa://bb", linked); } /** * Test no link beginning. */ public void testNoLinkBeginning() { Object linked = new AutolinkColumnDecorator().decorate("://bb", null, null); Assert.assertEquals("://bb", linked); } }