Imported Upstream version 4.0.0~alpha1

Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
This commit is contained in:
Jo Shields
2015-04-07 09:35:12 +01:00
parent 283343f570
commit 3c1f479b9d
22469 changed files with 2931443 additions and 869343 deletions

View File

@@ -1550,7 +1550,7 @@ namespace MonoTests.System.Runtime.Serialization.Json
public void TestHashtableSerialization ()
{
var collection = new HashtableContainer ();
var expectedOutput = "{\"Items\":[{\"Key\":\"key1\",\"Value\":\"banana\"},{\"Key\":\"key2\",\"Value\":\"apple\"}]}";
var expectedOutput = "{\"Items\":[{\"Key\":\"key2\",\"Value\":\"apple\"},{\"Key\":\"key1\",\"Value\":\"banana\"}]}";
var serializer = new DataContractJsonSerializer (collection.GetType ());
var stream = new MemoryStream ();

View File

@@ -27,6 +27,7 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Runtime.Serialization.Json;
@@ -866,5 +867,17 @@ namespace MonoTests.System.Runtime.Serialization.Json
Assert.AreEqual (typeof (decimal), deserializedValue.GetType ());
Assert.AreEqual (testValue, (decimal) deserializedValue);
}
[Test]
public void IEnumerableTest ()
{
string json = "[\"A\", \"B\"]";
using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(json))) {
DataContractJsonSerializer jsonSerializer = new
DataContractJsonSerializer(typeof(IEnumerable<string>));
var result = jsonSerializer.ReadObject(stream);
Assert.AreEqual (typeof (List<string>), result.GetType ());
}
}
}
}

View File

@@ -35,6 +35,7 @@ using System.ServiceModel;
using System.ServiceModel.Web;
using System.ServiceModel.Description;
using System.ServiceModel.Dispatcher;
using System.Net;
namespace MonoTests.System.ServiceModel.Web
{
@@ -134,6 +135,37 @@ namespace MonoTests.System.ServiceModel.Web
}
}
[Test]
public void Connect ()
{
var host = new WebServiceHost (typeof (DemoService), new Uri
("http://localhost:30158/"));
try {
host.Open ();
var wc = new WebClient();
wc.DownloadString("http://localhost:30158/testData");
Console.WriteLine();
} finally {
host.Close();
}
}
[ServiceContract]
interface IDemoService {
[OperationContract]
[WebInvoke(UriTemplate = "/{testData}",
Method = "GET",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
void UpdateAttribute(string testData);
}
public class DemoService : IDemoService {
public void UpdateAttribute(string testData)
{
Console.WriteLine ("got it: "+testData);
}
}
}
}
#endif

View File

@@ -461,6 +461,14 @@ namespace MonoTests.System
Assert.AreEqual ("qqq", m.WildcardPathSegments [2], "#5");
}
[Test]
public void MatchIgnoreQueryParamNoValue ()
{
var t = new UriTemplate ("/{a}/*", true);
var m = t.Match (new Uri ("http://s"), new Uri ("http://s/a/b?foo"));
Assert.AreEqual (1, m.QueryParameters.Keys.Count, "#1");
}
[Test]
public void IgnoreTrailingSlash ()
{