Selaa lähdekoodia

[cs] make StringTools.urlEncode consistent with other targets (as well as StringTools.urlDecode)

Dan Korostelev 10 vuotta sitten
vanhempi
commit
4bb3b0fa78
2 muutettua tiedostoa jossa 4 lisäystä ja 1 poistoa
  1. 1 1
      std/StringTools.hx
  2. 3 0
      tests/unit/src/unit/TestMisc.hx

+ 1 - 1
std/StringTools.hx

@@ -47,7 +47,7 @@ class StringTools {
 				return untyped __java__("java.net.URLEncoder.encode(s, \"UTF-8\")")
 			catch (e:Dynamic) throw e;
 		#elseif cs
-			return untyped cs.system.Uri.EscapeUriString(s);
+			return untyped cs.system.Uri.EscapeDataString(s);
 		#elseif python
 			return python.lib.urllib.Parse.quote(s);
 		#else

+ 3 - 0
tests/unit/src/unit/TestMisc.hx

@@ -323,6 +323,9 @@ class TestMisc extends Test {
 	function testUrlEncode() {
 		eq( StringTools.urlEncode("é"), "%C3%A9" );
 		eq( StringTools.urlDecode("%C3%A9"), "é" );
+
+		eq( StringTools.urlEncode("a/b+c"), "a%2Fb%2Bc");
+		eq( StringTools.urlDecode("a%2Fb%2Bc"), "a/b+c");
 	}
 
 	function opt1( ?x : Int, ?y : String ) {