QueryEscape '%2f' unescaping with and without IriParsing.
authorMarcos Henrich <marcos.henrich@xamarin.com>
Tue, 8 Jul 2014 12:14:26 +0000 (13:14 +0100)
committerMarcos Henrich <marcos.henrich@xamarin.com>
Tue, 8 Jul 2014 12:15:00 +0000 (13:15 +0100)
With IriParsing '%2f' in a query is not unescaped by ToString while without IriParsing it is.

mcs/class/System/Test/System/UriTest.cs

index 34df8bf705fa94dd5d91f94d3a17003de017a769..f0d810ff08c492a1e233eddfaa6e58707d49a960 100644 (file)
@@ -604,7 +604,11 @@ namespace MonoTests.System
                        Uri u1 = new Uri("http://localhost:8080/test.aspx?ReturnUrl=%2fSearchDoc%2fSearcher.aspx");
                        Uri u2 = new Uri("http://localhost:8080/test.aspx?ReturnUrl=%252fSearchDoc%252fSearcher.aspx");
 
-                       Assert.AreEqual ("http://localhost:8080/test.aspx?ReturnUrl=/SearchDoc/Searcher.aspx", u1.ToString (), "QE1");
+                       if (Uri.IriParsing)
+                               Assert.AreEqual ("http://localhost:8080/test.aspx?ReturnUrl=%2fSearchDoc%2fSearcher.aspx", u1.ToString (), "QE1");
+                       else
+                               Assert.AreEqual ("http://localhost:8080/test.aspx?ReturnUrl=/SearchDoc/Searcher.aspx", u1.ToString (), "QE1");
+
                        Assert.AreEqual ("http://localhost:8080/test.aspx?ReturnUrl=%252fSearchDoc%252fSearcher.aspx", u2.ToString (), "QE2");
                }