You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2011/03/02 15:59:58 UTC

svn commit: r1076238 - in /wicket/trunk: wicket-core/src/test/java/org/apache/wicket/request/UrlTest.java wicket-request/src/main/java/org/apache/wicket/request/Url.java

Author: mgrigorov
Date: Wed Mar  2 14:59:57 2011
New Revision: 1076238

URL: http://svn.apache.org/viewvc?rev=1076238&view=rev
Log:
WICKET-3492 Url.setCharset always set "UTF-8"

Properly set Url's charset.


Modified:
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/UrlTest.java
    wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/Url.java

Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/UrlTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/UrlTest.java?rev=1076238&r1=1076237&r2=1076238&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/UrlTest.java (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/UrlTest.java Wed Mar  2 14:59:57 2011
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.request;
 
+import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -23,6 +24,7 @@ import java.util.List;
 import junit.framework.TestCase;
 
 import org.apache.wicket.request.Url.QueryParameter;
+import org.apache.wicket.util.lang.WicketObjects;
 
 /**
  * @author Matej Knopp
@@ -357,4 +359,34 @@ public class UrlTest extends TestCase
 
 		assertEquals("a/b?p1=v1", baseUrl.toString());
 	}
+
+	/**
+	 * Tests that the default charset is UTF-8
+	 */
+	public void testCharset1()
+	{
+		Url url = new Url();
+		assertEquals(Charset.forName("UTF-8"), url.getCharset());
+	}
+
+	/**
+	 * Tests setting the charset explicitly in the constructor
+	 */
+	public void testCharset2()
+	{
+		Charset expected = Charset.forName("ISO-8859-2");
+		Url url = new Url(expected);
+		assertEquals(expected, url.getCharset());
+	}
+
+	/**
+	 * Tests that the charset is recovered after deserialization (from Url#charsetName)
+	 */
+	public void testCharset3()
+	{
+		Charset expected = Charset.forName("ISO-8859-1");
+		Url url = new Url(expected);
+		Url clonedUrl = (Url)WicketObjects.cloneObject(url);
+		assertEquals(expected, clonedUrl.getCharset());
+	}
 }

Modified: wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/Url.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/Url.java?rev=1076238&r1=1076237&r2=1076238&view=diff
==============================================================================
--- wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/Url.java (original)
+++ wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/Url.java Wed Mar  2 14:59:57 2011
@@ -284,8 +284,13 @@ public final class Url implements Serial
 		if (charset == null)
 		{
 			charsetName = "UTF-8";
+			_charset = null;
+		}
+		else
+		{
+			charsetName = charset.name();
+			_charset = charset;
 		}
-		_charset = null;
 	}
 
 	/**