/* * Copyright (c) 2006-2008 Chris Smith, Shane Mc Cormack, Gregory Holmes * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ package com.dmdirc.ui.messages; import com.dmdirc.config.IdentityManager; import java.util.Arrays; import java.util.List; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import static org.junit.Assert.*; @RunWith(Parameterized.class) public class IntelligentLinkingTest { private String input, expected; public IntelligentLinkingTest(String input, String expected) { this.input = input; this.expected = expected; } @Before public void setUp() { IdentityManager.load(); } @Test public void testLink() { assertEquals(expected, Styliser.doLinks(input).replace(Styliser.CODE_HYPERLINK, '~')); } @Parameterized.Parameters public static List data() { final String[][] tests = { {"no links here!", "no links here!"}, {"www.google.com", "~www.google.com~"}, {"www.google.com.", "~www.google.com~."}, {"www.google.com, foo", "~www.google.com~, foo"}, {"http://www.google.com", "~http://www.google.com~"}, {"www.google.com www.google.com", "~www.google.com~ ~www.google.com~"}, {"http://www.google.com:80/test#flub", "~http://www.google.com:80/test#flub~"}, {"(www.google.com)", "(~www.google.com~)"}, {"(foo: www.google.com)", "(foo: ~www.google.com~)"}, {"(foo: 'www.google.com')", "(foo: '~www.google.com~')"}, {"foo: www.google.com, bar", "foo: ~www.google.com~, bar"}, {"www.google.com?", "~www.google.com~?"}, {"\"foo\" www.google.com \"www.google.com\"", "\"foo\" ~www.google.com~ \"~www.google.com~\"", }, }; return Arrays.asList(tests); } public static junit.framework.Test suite() { return new junit.framework.JUnit4TestAdapter(IntelligentLinkingTest.class); } }