You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2010/11/16 17:32:39 UTC

svn commit: r1035682 - in /wicket/branches/wicket-1.4.x/wicket-extensions/src: main/java/org/apache/wicket/extensions/markup/html/basic/DefaultLinkParser.java test/java/org/apache/wicket/extensions/markup/html/basic/DefaultLinkParserTest.java

Author: ivaynberg
Date: Tue Nov 16 16:32:39 2010
New Revision: 1035682

URL: http://svn.apache.org/viewvc?rev=1035682&view=rev
Log:

Issue: WICKET-3174

Modified:
    wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/DefaultLinkParser.java
    wicket/branches/wicket-1.4.x/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/basic/DefaultLinkParserTest.java

Modified: wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/DefaultLinkParser.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/DefaultLinkParser.java?rev=1035682&r1=1035681&r2=1035682&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/DefaultLinkParser.java (original)
+++ wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/DefaultLinkParser.java Tue Nov 16 16:32:39 2010
@@ -29,7 +29,7 @@ import org.apache.wicket.util.string.App
 public class DefaultLinkParser extends LinkParser
 {
 	/** Email address pattern */
-	private static final String emailPattern = "[\\w\\.-]+@[\\w\\.-]+";
+	private static final String emailPattern = "[\\w\\.-\\\\+]+@[\\w\\.-]+";
 
 	/** URL pattern */
 	private static final String urlPattern = "([a-zA-Z]+://[\\w\\.\\-\\:\\/~]+)[\\w\\.:\\-/?&=%]*";

Modified: wicket/branches/wicket-1.4.x/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/basic/DefaultLinkParserTest.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/basic/DefaultLinkParserTest.java?rev=1035682&r1=1035681&r2=1035682&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/basic/DefaultLinkParserTest.java (original)
+++ wicket/branches/wicket-1.4.x/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/basic/DefaultLinkParserTest.java Tue Nov 16 16:32:39 2010
@@ -34,36 +34,42 @@ public class DefaultLinkParserTest exten
 		Assert.assertEquals("", parser.parse(""));
 		Assert.assertEquals("test", parser.parse("test"));
 
-		Assert.assertEquals("<a href=\"mailto:test@email.com\">test@email.com</a>", parser
-				.parse("test@email.com"));
+		Assert.assertEquals("<a href=\"mailto:test@email.com\">test@email.com</a>",
+			parser.parse("test@email.com"));
 		Assert.assertEquals("text (<a href=\"mailto:test@email.com\">test@email.com</a>) text",
-				parser.parse("text (test@email.com) text"));
+			parser.parse("text (test@email.com) text"));
 		Assert.assertEquals("text <a href=\"mailto:test@email.com\">test@email.com</a> text",
-				parser.parse("text test@email.com text"));
+			parser.parse("text test@email.com text"));
 
-		Assert.assertEquals("<a href=\"http://www.test.com\">http://www.test.com</a>", parser
-				.parse("http://www.test.com"));
+		Assert.assertEquals("<a href=\"http://www.test.com\">http://www.test.com</a>",
+			parser.parse("http://www.test.com"));
 		Assert.assertEquals("text (<a href=\"http://www.test.com\">http://www.test.com</a>) text",
-				parser.parse("text (http://www.test.com) text"));
+			parser.parse("text (http://www.test.com) text"));
 		Assert.assertEquals("text <a href=\"http://www.test.com\">http://www.test.com</a> text",
-				parser.parse("text http://www.test.com text"));
+			parser.parse("text http://www.test.com text"));
 		Assert.assertEquals(
-				"text <a href=\"http://www.test.com:8080\">http://www.test.com:8080</a> text",
-				parser.parse("text http://www.test.com:8080 text"));
-		Assert
-				.assertEquals(
-						"text <a href=\"http://www.test.com/test/murx.jsp\">http://www.test.com/test/murx.jsp</a> text",
-						parser.parse("text http://www.test.com/test/murx.jsp text"));
-		Assert
-				.assertEquals(
-						"text <a href=\"http://www.test.com/test/murx.jsp?query=test&q2=murx\">http://www.test.com/test/murx.jsp</a> text",
-						parser
-								.parse("text http://www.test.com/test/murx.jsp?query=test&q2=murx text"));
+			"text <a href=\"http://www.test.com:8080\">http://www.test.com:8080</a> text",
+			parser.parse("text http://www.test.com:8080 text"));
+		Assert.assertEquals(
+			"text <a href=\"http://www.test.com/test/murx.jsp\">http://www.test.com/test/murx.jsp</a> text",
+			parser.parse("text http://www.test.com/test/murx.jsp text"));
+		Assert.assertEquals(
+			"text <a href=\"http://www.test.com/test/murx.jsp?query=test&q2=murx\">http://www.test.com/test/murx.jsp</a> text",
+			parser.parse("text http://www.test.com/test/murx.jsp?query=test&q2=murx text"));
+
+		Assert.assertEquals(
+			"line 1 <a href=\"http://www.test.com/test/murx.jsp\">http://www.test.com/test/murx.jsp</a> \nline2 <a href=\"mailto:murx@email.de\">murx@email.de</a> \r\nline3",
+			parser.parse("line 1 http://www.test.com/test/murx.jsp \nline2 murx@email.de \r\nline3"));
+	}
+
+	public void testEmailWithPlusChar()
+	{
+		final String testEmailAddress = "my+test@example.com";
+		final String testExpectedLink = "<a href=\"mailto:my+test@example.com\">my+test@example.com</a>";
 
-		Assert
-				.assertEquals(
-						"line 1 <a href=\"http://www.test.com/test/murx.jsp\">http://www.test.com/test/murx.jsp</a> \nline2 <a href=\"mailto:murx@email.de\">murx@email.de</a> \r\nline3",
-						parser
-								.parse("line 1 http://www.test.com/test/murx.jsp \nline2 murx@email.de \r\nline3"));
+		ILinkParser parser = new DefaultLinkParser();
+		final String result = parser.parse(testEmailAddress);
+		Assert.assertEquals("Expected chars to left of + to be included in the link.",
+			testExpectedLink, result);
 	}
 }