summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.Test
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2009-11-03 12:57:01 -0800
committerAndrew Arnott <andrewarnott@gmail.com>2009-11-03 12:57:01 -0800
commit7ef43cfe9d4037be93fd4de753873c3d2845c77d (patch)
tree7385ef6363146cc6a33db5277cf76fe2d66e1e9e /src/DotNetOpenAuth.Test
parent22f4d4bec9197c9bfb3ab3311124e7c4b0777641 (diff)
parent89b5c35ae19f81d8ead9109ea2c9d5871d419f8c (diff)
downloadDotNetOpenAuth-7ef43cfe9d4037be93fd4de753873c3d2845c77d.zip
DotNetOpenAuth-7ef43cfe9d4037be93fd4de753873c3d2845c77d.tar.gz
DotNetOpenAuth-7ef43cfe9d4037be93fd4de753873c3d2845c77d.tar.bz2
Merge branch 'v3.2'
Conflicts: src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj src/DotNetOpenAuth.sln src/DotNetOpenAuth/OpenId/Provider/IProviderBehavior.cs src/DotNetOpenAuth/OpenId/RelyingParty/IRelyingPartyBehavior.cs
Diffstat (limited to 'src/DotNetOpenAuth.Test')
-rw-r--r--src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj3
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/OutgoingWebResponseTests.cs36
-rw-r--r--src/DotNetOpenAuth.Test/Mocks/MockRealm.cs2
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs21
4 files changed, 57 insertions, 5 deletions
diff --git a/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj b/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj
index b01eea5..27ea955 100644
--- a/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj
+++ b/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj
@@ -169,6 +169,7 @@
<Compile Include="Messaging\ErrorUtilitiesTests.cs" />
<Compile Include="Messaging\MessageSerializerTests.cs" />
<Compile Include="Messaging\MultipartPostPartTests.cs" />
+ <Compile Include="Messaging\OutgoingWebResponseTests.cs" />
<Compile Include="Messaging\Reflection\MessageDescriptionTests.cs" />
<Compile Include="Messaging\Reflection\MessageDictionaryTests.cs" />
<Compile Include="Messaging\MessagingTestBase.cs" />
@@ -330,4 +331,4 @@
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="..\..\tools\DotNetOpenAuth.Versioning.targets" />
-</Project> \ No newline at end of file
+</Project>
diff --git a/src/DotNetOpenAuth.Test/Messaging/OutgoingWebResponseTests.cs b/src/DotNetOpenAuth.Test/Messaging/OutgoingWebResponseTests.cs
new file mode 100644
index 0000000..35f9259
--- /dev/null
+++ b/src/DotNetOpenAuth.Test/Messaging/OutgoingWebResponseTests.cs
@@ -0,0 +1,36 @@
+//-----------------------------------------------------------------------
+// <copyright file="OutgoingWebResponseTests.cs" company="Andrew Arnott">
+// Copyright (c) Andrew Arnott. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace DotNetOpenAuth.Test.Messaging {
+ using System.Net;
+ using System.Text;
+ using DotNetOpenAuth.Messaging;
+ using Microsoft.VisualStudio.TestTools.UnitTesting;
+
+ [TestClass]
+ public class OutgoingWebResponseTests {
+ /// <summary>
+ /// Verifies that setting the Body property correctly converts to a byte stream.
+ /// </summary>
+ [TestMethod]
+ public void SetBodyToByteStream() {
+ var response = new OutgoingWebResponse();
+ string stringValue = "abc";
+ response.Body = stringValue;
+ Assert.AreEqual(stringValue.Length, response.ResponseStream.Length);
+
+ // Verify that the actual bytes are correct.
+ Encoding encoding = new UTF8Encoding(false); // avoid emitting a byte-order mark
+ var expectedBuffer = encoding.GetBytes(stringValue);
+ var actualBuffer = new byte[stringValue.Length];
+ Assert.AreEqual(stringValue.Length, response.ResponseStream.Read(actualBuffer, 0, stringValue.Length));
+ CollectionAssert.AreEqual(expectedBuffer, actualBuffer);
+
+ // Verify that the header was set correctly.
+ Assert.AreEqual(encoding.HeaderName, response.Headers[HttpResponseHeader.ContentEncoding]);
+ }
+ }
+}
diff --git a/src/DotNetOpenAuth.Test/Mocks/MockRealm.cs b/src/DotNetOpenAuth.Test/Mocks/MockRealm.cs
index f89f119..dd17735 100644
--- a/src/DotNetOpenAuth.Test/Mocks/MockRealm.cs
+++ b/src/DotNetOpenAuth.Test/Mocks/MockRealm.cs
@@ -37,7 +37,7 @@ namespace DotNetOpenAuth.Test.Mocks {
/// <returns>
/// The details of the endpoints if found, otherwise null.
/// </returns>
- internal override IEnumerable<RelyingPartyEndpointDescription> Discover(IDirectWebRequestHandler requestHandler, bool allowRedirects) {
+ internal override IEnumerable<RelyingPartyEndpointDescription> DiscoverReturnToEndpoints(IDirectWebRequestHandler requestHandler, bool allowRedirects) {
return this.relyingPartyDescriptions;
}
}
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs
index f69fc8b..7a60a32 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs
@@ -16,15 +16,30 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.UI {
public void Defaults() {
UIRequest request = new UIRequest();
Assert.AreEqual("popup", request.Mode);
- Assert.AreEqual(CultureInfo.CurrentUICulture, request.LanguagePreference);
+ Assert.AreEqual(1, request.LanguagePreference.Length);
+ Assert.AreEqual(CultureInfo.CurrentUICulture, request.LanguagePreference[0]);
}
[TestMethod]
- public void LanguagePreferenceEncoding() {
+ public void LanguagePreferenceEncodingDecoding() {
var request = new UIRequest();
- request.LanguagePreference = new CultureInfo("en-US");
MessageDictionary dictionary = this.MessageDescriptions.GetAccessor(request);
+
+ request.LanguagePreference = new[] { new CultureInfo("en-US") };
Assert.AreEqual("en-US", dictionary["lang"]);
+
+ request.LanguagePreference = new[] { new CultureInfo("en-US"), new CultureInfo("es-ES") };
+ Assert.AreEqual("en-US,es-ES", dictionary["lang"]);
+
+ // Now test decoding
+ dictionary["lang"] = "en-US";
+ Assert.AreEqual(1, request.LanguagePreference.Length);
+ Assert.AreEqual(new CultureInfo("en-US"), request.LanguagePreference[0]);
+
+ dictionary["lang"] = "en-US,es-ES";
+ Assert.AreEqual(2, request.LanguagePreference.Length);
+ Assert.AreEqual(new CultureInfo("en-US"), request.LanguagePreference[0]);
+ Assert.AreEqual(new CultureInfo("es-ES"), request.LanguagePreference[1]);
}
[TestMethod]