Author: [email protected]
Date: Wed May  6 15:19:45 2009
New Revision: 5322

Modified:
    trunk/user/src/com/google/gwt/user/client/Window.java
    trunk/user/test/com/google/gwt/user/client/WindowTest.java

Log:
Changes Window.Location to use URL.decodeComponent instead of URL.decode;
adds a test to make sure the decoding is working properly. Fixes issue 2941.

review by: jgw


Modified: trunk/user/src/com/google/gwt/user/client/Window.java
==============================================================================
--- trunk/user/src/com/google/gwt/user/client/Window.java       (original)
+++ trunk/user/src/com/google/gwt/user/client/Window.java       Wed May  6  
15:19:45 2009
@@ -270,7 +270,7 @@
              values = new ArrayList<String>();
              out.put(kv[0], values);
            }
-          values.add(kv.length > 1 ? URL.decode(kv[1]) : "");
+          values.add(kv.length > 1 ? URL.decodeComponent(kv[1]) : "");
          }
        }

@@ -292,7 +292,7 @@
            for (String kvPair : qs.split("&")) {
              String[] kv = kvPair.split("=", 2);
              if (kv.length > 1) {
-              paramMap.put(kv[0], URL.decode(kv[1]));
+              paramMap.put(kv[0], URL.decodeComponent(kv[1]));
              } else {
                paramMap.put(kv[0], "");
              }

Modified: trunk/user/test/com/google/gwt/user/client/WindowTest.java
==============================================================================
--- trunk/user/test/com/google/gwt/user/client/WindowTest.java  (original)
+++ trunk/user/test/com/google/gwt/user/client/WindowTest.java  Wed May  6  
15:19:45 2009
@@ -116,6 +116,11 @@
      assertEquals(map.get("d").get(0), "d=d");
      assertEquals(map.get("f").get(0), "2");
      assertEquals(map.get("f").get(1), "1");
+
+    // Values escaped with hex codes should work too.
+    map = Window.Location.buildListParamMap(
+    "?foo=bar%20baz%3aqux");
+    assertEquals(map.get("foo").get(0), "bar baz:qux");
    }

    /**

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to