From c4df4a0a151ee9512f3a6d784e5f63211c0faadd Mon Sep 17 00:00:00 2001 From: Chris R Date: Fri, 8 May 2015 10:52:43 -0700 Subject: [PATCH] #303 Enable tests for CoreCLR. --- .../project.json | 7 +--- .../MapPathMiddlewareTests.cs | 3 +- .../project.json | 7 +--- .../project.json | 7 +--- .../ApplicationBuilderTests.cs | 11 ++--- .../QueryFeatureTests.cs | 14 +++---- test/Microsoft.AspNet.Http.Tests/project.json | 28 +++++-------- test/Microsoft.AspNet.Owin.Tests/project.json | 7 +--- .../EncoderServiceProviderExtensionsTests.cs | 39 ++++++++++-------- .../UnicodeEncoderBaseTests.cs | 18 ++++----- .../project.json | 40 ++++++++++--------- 11 files changed, 82 insertions(+), 99 deletions(-) diff --git a/test/Microsoft.AspNet.FeatureModel.Tests/project.json b/test/Microsoft.AspNet.FeatureModel.Tests/project.json index 320d7f0186..a09a4171c6 100644 --- a/test/Microsoft.AspNet.FeatureModel.Tests/project.json +++ b/test/Microsoft.AspNet.FeatureModel.Tests/project.json @@ -7,10 +7,7 @@ "test": "xunit.runner.aspnet" }, "frameworks": { - "dnx451": { - "dependencies": { - "Shouldly": "1.1.1.1" - } - } + "dnx451": { }, + "dnxcore50": { } } } diff --git a/test/Microsoft.AspNet.Http.Abstractions.Tests/MapPathMiddlewareTests.cs b/test/Microsoft.AspNet.Http.Abstractions.Tests/MapPathMiddlewareTests.cs index cbdc1d9845..aaa4467fe9 100644 --- a/test/Microsoft.AspNet.Http.Abstractions.Tests/MapPathMiddlewareTests.cs +++ b/test/Microsoft.AspNet.Http.Abstractions.Tests/MapPathMiddlewareTests.cs @@ -6,7 +6,6 @@ using System.Threading.Tasks; using Microsoft.AspNet.Builder.Internal; using Microsoft.AspNet.Http; using Microsoft.AspNet.Http.Internal; -using Shouldly; using Xunit; namespace Microsoft.AspNet.Builder.Extensions @@ -98,7 +97,7 @@ namespace Microsoft.AspNet.Builder.Extensions [InlineData("/foo/cho/")] public void MatchPathWithTrailingSlashThrowsException(string matchPath) { - Should.Throw(() => new ApplicationBuilder(serviceProvider: null).Map(matchPath, map => { }).Build()); + Assert.Throws(() => new ApplicationBuilder(serviceProvider: null).Map(matchPath, map => { }).Build()); } [Theory] diff --git a/test/Microsoft.AspNet.Http.Abstractions.Tests/project.json b/test/Microsoft.AspNet.Http.Abstractions.Tests/project.json index 7faf925aae..21eb7701ae 100644 --- a/test/Microsoft.AspNet.Http.Abstractions.Tests/project.json +++ b/test/Microsoft.AspNet.Http.Abstractions.Tests/project.json @@ -8,10 +8,7 @@ "test": "xunit.runner.aspnet" }, "frameworks": { - "dnx451": { - "dependencies": { - "Shouldly": "1.1.1.1" - } - } + "dnx451": { }, + "dnxcore50": { } } } diff --git a/test/Microsoft.AspNet.Http.Extensions.Tests/project.json b/test/Microsoft.AspNet.Http.Extensions.Tests/project.json index 4287829625..bac140231f 100644 --- a/test/Microsoft.AspNet.Http.Extensions.Tests/project.json +++ b/test/Microsoft.AspNet.Http.Extensions.Tests/project.json @@ -9,10 +9,7 @@ "test": "xunit.runner.aspnet" }, "frameworks": { - "dnx451": { - "dependencies": { - "Shouldly": "1.1.1.1" - } - } + "dnx451": { }, + "dnxcore50": { } } } diff --git a/test/Microsoft.AspNet.Http.Tests/ApplicationBuilderTests.cs b/test/Microsoft.AspNet.Http.Tests/ApplicationBuilderTests.cs index 4284bb9c1d..52d0fadfe2 100644 --- a/test/Microsoft.AspNet.Http.Tests/ApplicationBuilderTests.cs +++ b/test/Microsoft.AspNet.Http.Tests/ApplicationBuilderTests.cs @@ -1,7 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using Microsoft.AspNet.Http; +using Microsoft.AspNet.Http.Internal; using Xunit; namespace Microsoft.AspNet.Builder.Internal @@ -14,13 +14,10 @@ namespace Microsoft.AspNet.Builder.Internal var builder = new ApplicationBuilder(null); var app = builder.Build(); - var mockHttpContext = new Moq.Mock(); - var mockHttpResponse = new Moq.Mock(); - mockHttpContext.SetupGet(x => x.Response).Returns(mockHttpResponse.Object); - mockHttpResponse.SetupProperty(x => x.StatusCode); + var httpContext = new DefaultHttpContext(); - app.Invoke(mockHttpContext.Object); - Assert.Equal(mockHttpContext.Object.Response.StatusCode, 404); + app.Invoke(httpContext); + Assert.Equal(httpContext.Response.StatusCode, 404); } } } \ No newline at end of file diff --git a/test/Microsoft.AspNet.Http.Tests/QueryFeatureTests.cs b/test/Microsoft.AspNet.Http.Tests/QueryFeatureTests.cs index 5a1214338f..a110b09946 100644 --- a/test/Microsoft.AspNet.Http.Tests/QueryFeatureTests.cs +++ b/test/Microsoft.AspNet.Http.Tests/QueryFeatureTests.cs @@ -2,7 +2,6 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using Microsoft.AspNet.FeatureModel; -using Moq; using Xunit; namespace Microsoft.AspNet.Http.Features.Internal @@ -13,15 +12,12 @@ namespace Microsoft.AspNet.Http.Features.Internal public void QueryReturnsParsedQueryCollection() { // Arrange - var features = new Mock(); - var request = new Mock(); - request.SetupGet(r => r.QueryString).Returns("foo=bar"); + var features = new FeatureCollection(); + var request = new HttpRequestFeature(); + request.QueryString = "foo=bar"; + features.Add(typeof(IHttpRequestFeature), request); - object value = request.Object; - features.Setup(f => f.TryGetValue(typeof(IHttpRequestFeature), out value)) - .Returns(true); - - var provider = new QueryFeature(features.Object); + var provider = new QueryFeature(features); // Act var queryCollection = provider.Query; diff --git a/test/Microsoft.AspNet.Http.Tests/project.json b/test/Microsoft.AspNet.Http.Tests/project.json index 42315e13eb..cde6b4f819 100644 --- a/test/Microsoft.AspNet.Http.Tests/project.json +++ b/test/Microsoft.AspNet.Http.Tests/project.json @@ -1,19 +1,13 @@ { - "dependencies": { - "Microsoft.AspNet.Http": "1.0.0-*", - "xunit.runner.aspnet": "2.0.0-aspnet-*" - }, - "commands": { - "test": "xunit.runner.aspnet" - }, - "frameworks": { - "dnx451": { - "dependencies": { - "Moq": "4.2.1312.1622" - }, - "frameworkAssemblies": { - "System.Net.Http": "" - } - } - } + "dependencies": { + "Microsoft.AspNet.Http": "1.0.0-*", + "xunit.runner.aspnet": "2.0.0-aspnet-*" + }, + "commands": { + "test": "xunit.runner.aspnet" + }, + "frameworks": { + "dnx451": { }, + "dnxcore50": { } + } } diff --git a/test/Microsoft.AspNet.Owin.Tests/project.json b/test/Microsoft.AspNet.Owin.Tests/project.json index 79f1cafd16..05c31c8a00 100644 --- a/test/Microsoft.AspNet.Owin.Tests/project.json +++ b/test/Microsoft.AspNet.Owin.Tests/project.json @@ -8,10 +8,7 @@ "test": "xunit.runner.aspnet" }, "frameworks": { - "dnx451": { - "dependencies": { - "Shouldly": "1.1.1.1" - } - } + "dnx451": { }, + "dnxcore50": { } } } diff --git a/test/Microsoft.Framework.WebEncoders.Tests/EncoderServiceProviderExtensionsTests.cs b/test/Microsoft.Framework.WebEncoders.Tests/EncoderServiceProviderExtensionsTests.cs index 9d44a41697..07b23933e1 100644 --- a/test/Microsoft.Framework.WebEncoders.Tests/EncoderServiceProviderExtensionsTests.cs +++ b/test/Microsoft.Framework.WebEncoders.Tests/EncoderServiceProviderExtensionsTests.cs @@ -2,8 +2,6 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.IO; -using Moq; using Xunit; namespace Microsoft.Framework.WebEncoders @@ -14,7 +12,7 @@ namespace Microsoft.Framework.WebEncoders public void GetHtmlEncoder_ServiceProviderDoesNotHaveEncoder_UsesDefault() { // Arrange - var serviceProvider = new Mock().Object; + var serviceProvider = new TestServiceProvider(); // Act var retVal = serviceProvider.GetHtmlEncoder(); @@ -27,12 +25,11 @@ namespace Microsoft.Framework.WebEncoders public void GetHtmlEncoder_ServiceProviderHasEncoder_ReturnsRegisteredInstance() { // Arrange - var expectedEncoder = new Mock().Object; - var mockServiceProvider = new Mock(); - mockServiceProvider.Setup(o => o.GetService(typeof(IHtmlEncoder))).Returns(expectedEncoder); + var expectedEncoder = new HtmlEncoder(); + var serviceProvider = new TestServiceProvider() { Service = expectedEncoder }; // Act - var retVal = mockServiceProvider.Object.GetHtmlEncoder(); + var retVal = serviceProvider.GetHtmlEncoder(); // Assert Assert.Same(expectedEncoder, retVal); @@ -42,7 +39,7 @@ namespace Microsoft.Framework.WebEncoders public void GetJavaScriptStringEncoder_ServiceProviderDoesNotHaveEncoder_UsesDefault() { // Arrange - var serviceProvider = new Mock().Object; + var serviceProvider = new TestServiceProvider(); // Act var retVal = serviceProvider.GetJavaScriptStringEncoder(); @@ -55,12 +52,11 @@ namespace Microsoft.Framework.WebEncoders public void GetJavaScriptStringEncoder_ServiceProviderHasEncoder_ReturnsRegisteredInstance() { // Arrange - var expectedEncoder = new Mock().Object; - var mockServiceProvider = new Mock(); - mockServiceProvider.Setup(o => o.GetService(typeof(IJavaScriptStringEncoder))).Returns(expectedEncoder); + var expectedEncoder = new JavaScriptStringEncoder(); + var serviceProvider = new TestServiceProvider() { Service = expectedEncoder }; // Act - var retVal = mockServiceProvider.Object.GetJavaScriptStringEncoder(); + var retVal = serviceProvider.GetJavaScriptStringEncoder(); // Assert Assert.Same(expectedEncoder, retVal); @@ -70,7 +66,7 @@ namespace Microsoft.Framework.WebEncoders public void GetUrlEncoder_ServiceProviderDoesNotHaveEncoder_UsesDefault() { // Arrange - var serviceProvider = new Mock().Object; + var serviceProvider = new TestServiceProvider(); // Act var retVal = serviceProvider.GetUrlEncoder(); @@ -83,15 +79,24 @@ namespace Microsoft.Framework.WebEncoders public void GetUrlEncoder_ServiceProviderHasEncoder_ReturnsRegisteredInstance() { // Arrange - var expectedEncoder = new Mock().Object; - var mockServiceProvider = new Mock(); - mockServiceProvider.Setup(o => o.GetService(typeof(IUrlEncoder))).Returns(expectedEncoder); + var expectedEncoder = new UrlEncoder(); + var serviceProvider = new TestServiceProvider() { Service = expectedEncoder }; // Act - var retVal = mockServiceProvider.Object.GetUrlEncoder(); + var retVal = serviceProvider.GetUrlEncoder(); // Assert Assert.Same(expectedEncoder, retVal); } + + private class TestServiceProvider : IServiceProvider + { + public object Service { get; set; } + + public object GetService(Type serviceType) + { + return Service; + } + } } } diff --git a/test/Microsoft.Framework.WebEncoders.Tests/UnicodeEncoderBaseTests.cs b/test/Microsoft.Framework.WebEncoders.Tests/UnicodeEncoderBaseTests.cs index e6661686c0..6ee48c5954 100644 --- a/test/Microsoft.Framework.WebEncoders.Tests/UnicodeEncoderBaseTests.cs +++ b/test/Microsoft.Framework.WebEncoders.Tests/UnicodeEncoderBaseTests.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Generic; using System.Globalization; using System.IO; -using Moq; using Xunit; namespace Microsoft.Framework.WebEncoders @@ -208,8 +207,9 @@ namespace Microsoft.Framework.WebEncoders public void Encode_CharArray_ZeroCount_DoesNotCallIntoTextWriter() { // Arrange - CustomUnicodeEncoderBase encoder = new CustomUnicodeEncoderBase(); - TextWriter output = new Mock(MockBehavior.Strict).Object; + var encoder = new CustomUnicodeEncoderBase(); + var output = new StringWriter(); + output.Dispose(); // Throws ODE if written to. // Act encoder.Encode("abc".ToCharArray(), 2, 0, output); @@ -280,8 +280,9 @@ namespace Microsoft.Framework.WebEncoders public void Encode_StringSubstring_ZeroCount_DoesNotCallIntoTextWriter() { // Arrange - CustomUnicodeEncoderBase encoder = new CustomUnicodeEncoderBase(); - TextWriter output = new Mock(MockBehavior.Strict).Object; + var encoder = new CustomUnicodeEncoderBase(); + var output = new StringWriter(); + output.Dispose(); // Throws ODE if written to. // Act encoder.Encode("abc", 2, 0, output); @@ -309,14 +310,13 @@ namespace Microsoft.Framework.WebEncoders { // Arrange CustomUnicodeEncoderBase encoder = new CustomUnicodeEncoderBase(UnicodeRanges.All); - var mockWriter = new Mock(MockBehavior.Strict); - mockWriter.Setup(o => o.Write("abc")).Verifiable(); + StringWriter output = new StringWriter(); // Act - encoder.Encode("abc", 0, 3, mockWriter.Object); + encoder.Encode("abc", 0, 3, output); // Assert - mockWriter.Verify(); + Assert.Equal("abc", output.ToString()); } [Fact] diff --git a/test/Microsoft.Framework.WebEncoders.Tests/project.json b/test/Microsoft.Framework.WebEncoders.Tests/project.json index 4acf0c6ad2..b0ba4aa9fe 100644 --- a/test/Microsoft.Framework.WebEncoders.Tests/project.json +++ b/test/Microsoft.Framework.WebEncoders.Tests/project.json @@ -1,20 +1,24 @@ { - "dependencies": { - "Microsoft.Framework.DependencyInjection": "1.0.0-*", - "Microsoft.Framework.WebEncoders": "1.0.0-*", - "Microsoft.Framework.WebEncoders.Testing": "1.0.0-*", - "Moq": "4.2.1312.1622", - "Newtonsoft.Json": "6.0.6", - "xunit.runner.aspnet": "2.0.0-aspnet-*" - }, - "commands": { - "test": "xunit.runner.aspnet" - }, - "compilationOptions": { - "allowUnsafe": "true" - }, - "frameworks": { - "dnx451": { } - }, - "resources": "..\\..\\unicode\\UnicodeData.txt" + "dependencies": { + "Microsoft.Framework.DependencyInjection": "1.0.0-*", + "Microsoft.Framework.WebEncoders": "1.0.0-*", + "Microsoft.Framework.WebEncoders.Testing": "1.0.0-*", + "Newtonsoft.Json": "6.0.6", + "xunit.runner.aspnet": "2.0.0-aspnet-*" + }, + "commands": { + "test": "xunit.runner.aspnet" + }, + "compilationOptions": { + "allowUnsafe": true + }, + "frameworks": { + "dnx451": { }, + "dnxcore50": { + "dependencies": { + "System.Text.Encoding.Extensions": "4.0.10-beta-*" + } + } + }, + "resources": "..\\..\\unicode\\UnicodeData.txt" }