/******************************************************************************* * Copyright (c) 2012 Max Rydahl Andersen and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Max Rydahl Andersen - copied from markdown to get base for asciidoc *******************************************************************************/ package org.eclipse.mylyn.internal.wikitext.asciidoc.tests; import static org.junit.Assert.assertEquals; import org.junit.Test; /** * Tests for asciidoc overview and miscellaneous. * * @author Max Rydahl Andersen */ public class AsciiDocLanguageLinksTest extends AsciiDocLanguageTestBase { @Test public void implicitLink() { String html = parseToHtml("http://eclipse.org"); assertEquals("<p><a href=\"http://eclipse.org\">http://eclipse.org</a></p>\n", html); } @Test public void implicitLinkWithSymbols() { String[] problematicUrls = new String[] { "http://example.com/.", // "http://example.com/.a", "http://example.com/)a", "http://example.com/(", "http://example.com/(a", "http://example.com/,", "http://example.com/,a", "http://example.com/;", "http://example.com/;a", "http://example.com/#", "http://example.com/#a", "http://example.com/%20", "http://example.com/%20a", }; for (String url : problematicUrls) { assertEquals("<p><a href=\"" + url + "\">" + url + "</a></p>\n", parseToHtml(url)); } } @Test public void implicitLinkWithAmpersand() { assertEquals("<p><a href=\"http://example.com?a=b&c=d+e\">http://example.com?a=b&c=d+e</a></p>\n", parseToHtml("http://example.com?a=b&c=d+e")); } @Test public void implicitLinkWithText() { String html = parseToHtml("http://eclipse.org[Eclipse Rocks]"); assertEquals("<p><a href=\"http://eclipse.org\">Eclipse Rocks</a></p>\n", html); } @Test public void implicitLinkWithTextAndBlankShortcut() { String html = parseToHtml("http://eclipse.org[Eclipse Rocks^]"); assertEquals("<p><a href=\"http://eclipse.org\" target=\"_blank\">Eclipse Rocks</a></p>\n", html); } @Test public void implicitLinkWithMixedTextSymbolx() { String html = parseToHtml( "This is a link to http://eclipse.org#tag%20test[Eclipse Rocks] that could be nasty."); assertEquals( "<p>This is a link to <a href=\"http://eclipse.org#tag%20test\">Eclipse Rocks</a> that could be nasty.</p>\n", html); } @Test public void explicitInlineLink() { String html = parseToHtml("link:http://eclipse.org[Eclipse Rocks]"); assertEquals("<p><a href=\"http://eclipse.org\">Eclipse Rocks</a></p>\n", html); } @Test public void explicitLinkWithMixedTextSymbolx() { String html = parseToHtml( "This is a link to link:http://eclipse.org#tag%20test[Eclipse Rocks] that could be nasty."); assertEquals( "<p>This is a link to <a href=\"http://eclipse.org#tag%20test\">Eclipse Rocks</a> that could be nasty.</p>\n", html); } @Test public void implicitEmailLink() { String html = parseToHtml("devel@discuss.arquillian.org"); assertEquals("<p><a href=\"mailto:devel@discuss.arquillian.org\">devel@discuss.arquillian.org</a></p>\n", html); } @Test public void implicitIrcLink() { String html = parseToHtml("irc://irc.freenode.org/#asciidoctor"); assertEquals("<p><a href=\"irc://irc.freenode.org/#asciidoctor\">irc://irc.freenode.org/#asciidoctor</a></p>\n", html); } @Test public void implicitCallToLinkWithText() { String html = parseToHtml("Call me at callto://eclipse.example "); assertEquals("<p>Call me at <a href=\"callto://eclipse.example\">callto://eclipse.example</a></p>\n", html); } @Test public void explicitWindowsPath() { String html = parseToHtml("link:\\\\server\\share\\whitepaper.pdf[Whitepaper]"); assertEquals("<p><a href=\"\\\\server\\share\\whitepaper.pdf\">Whitepaper</a></p>\n", html); } @Test public void explicitLinkWithWhiteSpaces() { String html = parseToHtml("link:++http://example.org/?q=[a b]++[URL with special characters]"); assertEquals("<p><a href=\"http://example.org/?q=[a b]\">URL with special characters</a></p>\n", html); } @Test public void explicitLinkWithSpecialCharacters() { String html = parseToHtml("link:++http://example.org/?q=%5Ba%20b%5D++[URL with special characters]"); assertEquals("<p><a href=\"http://example.org/?q=%5Ba%20b%5D\">URL with special characters</a></p>\n", html); } @Test public void explicitRelativeLink() { String html = parseToHtml("link:index.html[Docs]"); assertEquals("<p><a href=\"index.html\">Docs</a></p>\n", html); } }