summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.Test
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2010-05-08 07:43:04 -0700
committerAndrew Arnott <andrewarnott@gmail.com>2010-05-08 07:43:04 -0700
commit1be3ed304dcf79725ca099f8df54a601c26e145b (patch)
tree100225d0b4f206c39aa0542183ce36e0db721eda /src/DotNetOpenAuth.Test
parent998cfe308c340b70e1497bff3e25c47a194c7f7c (diff)
downloadDotNetOpenAuth-1be3ed304dcf79725ca099f8df54a601c26e145b.zip
DotNetOpenAuth-1be3ed304dcf79725ca099f8df54a601c26e145b.tar.gz
DotNetOpenAuth-1be3ed304dcf79725ca099f8df54a601c26e145b.tar.bz2
Fix for UIRequest.Icon deserialization exception due to nullable struct types.
Fixes Trac #195
Diffstat (limited to 'src/DotNetOpenAuth.Test')
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/Reflection/MessagePartTests.cs7
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs19
2 files changed, 24 insertions, 2 deletions
diff --git a/src/DotNetOpenAuth.Test/Messaging/Reflection/MessagePartTests.cs b/src/DotNetOpenAuth.Test/Messaging/Reflection/MessagePartTests.cs
index 524f440..66237e7 100644
--- a/src/DotNetOpenAuth.Test/Messaging/Reflection/MessagePartTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/Reflection/MessagePartTests.cs
@@ -28,7 +28,12 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
[TestCase]
public void OptionalNullableStruct() {
- this.ParameterizedMessageTypeTest(typeof(MessageWithNullableOptionalStruct));
+ var message = new MessageWithNullableOptionalStruct();
+ var part = this.ParameterizedMessageTypeTest(message.GetType());
+
+ Assert.IsNull(part.GetValue(message));
+ part.SetValue(message, "3");
+ Assert.AreEqual("3", part.GetValue(message));
}
[TestCase]
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs
index c216a4d..389fa5d 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs
@@ -14,10 +14,27 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.UI {
public class UIRequestTests : OpenIdTestBase {
[TestCase]
public void Defaults() {
- UIRequest request = new UIRequest();
+ var request = new UIRequest();
Assert.AreEqual("popup", request.Mode);
Assert.AreEqual(1, request.LanguagePreference.Length);
Assert.AreEqual(CultureInfo.CurrentUICulture, request.LanguagePreference[0]);
+ Assert.IsFalse(request.Icon.HasValue);
+ }
+
+ [TestCase]
+ public void IconEncodingDecoding()
+ {
+ var request = new UIRequest();
+ MessageDictionary dictionary = this.MessageDescriptions.GetAccessor(request);
+ Assert.IsFalse(dictionary.ContainsKey("icon"));
+
+ Assert.IsFalse(request.Icon.HasValue);
+ dictionary["icon"] = "true";
+ Assert.IsTrue(request.Icon.Value);
+
+ dictionary.ClearValues();
+ request.Icon = true;
+ Assert.AreEqual("true", dictionary["icon"]);
}
[TestCase]