summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2008-04-27 16:45:44 -0700
committerAndrew Arnott <andrewarnott@gmail.com>2008-04-28 09:18:57 -0700
commitbbd08ff560c3c27e7e3f66bea16f9a2416207e8d (patch)
tree49aabf4f6e74761ce3791e0d08a52dfaf1d7f866
parent5103ed7a370cf6f89e5dce74c9b5a7e3cca0b4dd (diff)
downloadDotNetOpenAuth-bbd08ff560c3c27e7e3f66bea16f9a2416207e8d.zip
DotNetOpenAuth-bbd08ff560c3c27e7e3f66bea16f9a2416207e8d.tar.gz
DotNetOpenAuth-bbd08ff560c3c27e7e3f66bea16f9a2416207e8d.tar.bz2
Fixed implicit Realm conversion operators to handle null values.
-rw-r--r--src/DotNetOpenId.Test/RealmTestSuite.cs28
-rw-r--r--src/DotNetOpenId/Realm.cs6
2 files changed, 31 insertions, 3 deletions
diff --git a/src/DotNetOpenId.Test/RealmTestSuite.cs b/src/DotNetOpenId.Test/RealmTestSuite.cs
index e30ec77..eb713f5 100644
--- a/src/DotNetOpenId.Test/RealmTestSuite.cs
+++ b/src/DotNetOpenId.Test/RealmTestSuite.cs
@@ -154,6 +154,34 @@ namespace DotNetOpenId.Test
}
[Test]
+ public void ImplicitConversionFromStringTests() {
+ Realm realm = "http://host";
+ Assert.AreEqual("host", realm.Host);
+ realm = (string)null;
+ Assert.IsNull(realm);
+ }
+
+ [Test]
+ public void ImplicitConversionToStringTests() {
+ Realm realm = new Realm("http://host/");
+ string realmString = realm;
+ Assert.AreEqual("http://host/", realmString);
+ realm = null;
+ realmString = realm;
+ Assert.IsNull(realmString);
+ }
+
+ [Test]
+ public void ImplicitConverstionFromUriTests() {
+ Uri uri = new Uri("http://host");
+ Realm realm = uri;
+ Assert.AreEqual(uri.Host, realm.Host);
+ uri = null;
+ realm = uri;
+ Assert.IsNull(realm);
+ }
+
+ [Test]
public void EqualsTest()
{
Realm tr1a = new Realm("http://www.yahoo.com");
diff --git a/src/DotNetOpenId/Realm.cs b/src/DotNetOpenId/Realm.cs
index 61e01e2..79bd7bd 100644
--- a/src/DotNetOpenId/Realm.cs
+++ b/src/DotNetOpenId/Realm.cs
@@ -19,14 +19,14 @@ namespace DotNetOpenId {
/// </summary>
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2234:PassSystemUriObjectsInsteadOfStrings"), System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1057:StringUriOverloadsCallSystemUriOverloads")]
public static implicit operator Realm(string uri) {
- return new Realm(uri);
+ return uri != null ? new Realm(uri) : null;
}
/// <summary>
/// Implicitly converts a <see cref="Uri"/> to a <see cref="Realm"/> object.
/// </summary>
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2234:PassSystemUriObjectsInsteadOfStrings")]
public static implicit operator Realm(Uri uri) {
- return new Realm(uri.AbsoluteUri);
+ return uri != null ? new Realm(uri.AbsoluteUri) : null;
}
/// <summary>
/// Implicitly converts a <see cref="Realm"/> object to its <see cref="String"/> form.
@@ -34,7 +34,7 @@ namespace DotNetOpenId {
/// <param name="realm"></param>
/// <returns></returns>
public static implicit operator string(Realm realm) {
- return realm.ToString();
+ return realm != null ? realm.ToString() : null;
}
/// <summary>