summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.Test/Messaging/MessagingUtilitiesTests.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/DotNetOpenAuth.Test/Messaging/MessagingUtilitiesTests.cs')
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/MessagingUtilitiesTests.cs26
1 files changed, 23 insertions, 3 deletions
diff --git a/src/DotNetOpenAuth.Test/Messaging/MessagingUtilitiesTests.cs b/src/DotNetOpenAuth.Test/Messaging/MessagingUtilitiesTests.cs
index 2b1d961..26ce4cd 100644
--- a/src/DotNetOpenAuth.Test/Messaging/MessagingUtilitiesTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/MessagingUtilitiesTests.cs
@@ -22,7 +22,7 @@ namespace DotNetOpenAuth.Test.Messaging
var args = new Dictionary<string, string>();
args.Add("a", "b");
args.Add("c/d", "e/f");
- Assert.AreEqual("a=b&c%2fd=e%2ff", MessagingUtilities.CreateQueryString(args));
+ Assert.AreEqual("a=b&c%2Fd=e%2Ff", MessagingUtilities.CreateQueryString(args));
}
[TestMethod]
@@ -42,11 +42,11 @@ namespace DotNetOpenAuth.Test.Messaging
args.Add("a", "b");
args.Add("c/d", "e/f");
MessagingUtilities.AppendQueryArgs(uri, args);
- Assert.AreEqual("http://baseline.org/page?a=b&c%2fd=e%2ff", uri.Uri.AbsoluteUri);
+ Assert.AreEqual("http://baseline.org/page?a=b&c%2Fd=e%2Ff", uri.Uri.AbsoluteUri);
args.Clear();
args.Add("g", "h");
MessagingUtilities.AppendQueryArgs(uri, args);
- Assert.AreEqual("http://baseline.org/page?a=b&c%2fd=e%2ff&g=h", uri.Uri.AbsoluteUri);
+ Assert.AreEqual("http://baseline.org/page?a=b&c%2Fd=e%2Ff&g=h", uri.Uri.AbsoluteUri);
}
[TestMethod, ExpectedException(typeof(ArgumentNullException))]
@@ -119,5 +119,25 @@ namespace DotNetOpenAuth.Test.Messaging
Assert.AreEqual(headers[HttpResponseHeader.ContentType], response.ContentType);
}
+
+ /// <summary>
+ /// Verifies RFC 3986 compliant URI escaping, as required by the OpenID and OAuth specifications.
+ /// </summary>
+ /// <remarks>
+ /// The tests in this method come from http://wiki.oauth.net/TestCases
+ /// </remarks>
+ [TestMethod]
+ public void EscapeUriDataStringRfc3986Tests() {
+ Assert.AreEqual("abcABC123", MessagingUtilities.EscapeUriDataStringRfc3986("abcABC123"));
+ Assert.AreEqual("-._~", MessagingUtilities.EscapeUriDataStringRfc3986("-._~"));
+ Assert.AreEqual("%25", MessagingUtilities.EscapeUriDataStringRfc3986("%"));
+ Assert.AreEqual("%2B", MessagingUtilities.EscapeUriDataStringRfc3986("+"));
+ Assert.AreEqual("%26%3D%2A", MessagingUtilities.EscapeUriDataStringRfc3986("&=*"));
+ Assert.AreEqual("%0A", MessagingUtilities.EscapeUriDataStringRfc3986("\n"));
+ Assert.AreEqual("%20", MessagingUtilities.EscapeUriDataStringRfc3986(" "));
+ Assert.AreEqual("%7F", MessagingUtilities.EscapeUriDataStringRfc3986("\u007f"));
+ Assert.AreEqual("%C2%80", MessagingUtilities.EscapeUriDataStringRfc3986("\u0080"));
+ Assert.AreEqual("%E3%80%81", MessagingUtilities.EscapeUriDataStringRfc3986("\u3001"));
+ }
}
}