#303 Enable tests for CoreCLR.

This commit is contained in:
Chris R 2015-05-08 10:52:43 -07:00
parent eb0fe6a92a
commit c4df4a0a15
11 changed files with 82 additions and 99 deletions

View File

@ -7,10 +7,7 @@
"test": "xunit.runner.aspnet" "test": "xunit.runner.aspnet"
}, },
"frameworks": { "frameworks": {
"dnx451": { "dnx451": { },
"dependencies": { "dnxcore50": { }
"Shouldly": "1.1.1.1"
}
}
} }
} }

View File

@ -6,7 +6,6 @@ using System.Threading.Tasks;
using Microsoft.AspNet.Builder.Internal; using Microsoft.AspNet.Builder.Internal;
using Microsoft.AspNet.Http; using Microsoft.AspNet.Http;
using Microsoft.AspNet.Http.Internal; using Microsoft.AspNet.Http.Internal;
using Shouldly;
using Xunit; using Xunit;
namespace Microsoft.AspNet.Builder.Extensions namespace Microsoft.AspNet.Builder.Extensions
@ -98,7 +97,7 @@ namespace Microsoft.AspNet.Builder.Extensions
[InlineData("/foo/cho/")] [InlineData("/foo/cho/")]
public void MatchPathWithTrailingSlashThrowsException(string matchPath) public void MatchPathWithTrailingSlashThrowsException(string matchPath)
{ {
Should.Throw<ArgumentException>(() => new ApplicationBuilder(serviceProvider: null).Map(matchPath, map => { }).Build()); Assert.Throws<ArgumentException>(() => new ApplicationBuilder(serviceProvider: null).Map(matchPath, map => { }).Build());
} }
[Theory] [Theory]

View File

@ -8,10 +8,7 @@
"test": "xunit.runner.aspnet" "test": "xunit.runner.aspnet"
}, },
"frameworks": { "frameworks": {
"dnx451": { "dnx451": { },
"dependencies": { "dnxcore50": { }
"Shouldly": "1.1.1.1"
}
}
} }
} }

View File

@ -9,10 +9,7 @@
"test": "xunit.runner.aspnet" "test": "xunit.runner.aspnet"
}, },
"frameworks": { "frameworks": {
"dnx451": { "dnx451": { },
"dependencies": { "dnxcore50": { }
"Shouldly": "1.1.1.1"
}
}
} }
} }

View File

@ -1,7 +1,7 @@
// Copyright (c) .NET Foundation. All rights reserved. // 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. // 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; using Xunit;
namespace Microsoft.AspNet.Builder.Internal namespace Microsoft.AspNet.Builder.Internal
@ -14,13 +14,10 @@ namespace Microsoft.AspNet.Builder.Internal
var builder = new ApplicationBuilder(null); var builder = new ApplicationBuilder(null);
var app = builder.Build(); var app = builder.Build();
var mockHttpContext = new Moq.Mock<HttpContext>(); var httpContext = new DefaultHttpContext();
var mockHttpResponse = new Moq.Mock<HttpResponse>();
mockHttpContext.SetupGet(x => x.Response).Returns(mockHttpResponse.Object);
mockHttpResponse.SetupProperty(x => x.StatusCode);
app.Invoke(mockHttpContext.Object); app.Invoke(httpContext);
Assert.Equal(mockHttpContext.Object.Response.StatusCode, 404); Assert.Equal(httpContext.Response.StatusCode, 404);
} }
} }
} }

View File

@ -2,7 +2,6 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.AspNet.FeatureModel; using Microsoft.AspNet.FeatureModel;
using Moq;
using Xunit; using Xunit;
namespace Microsoft.AspNet.Http.Features.Internal namespace Microsoft.AspNet.Http.Features.Internal
@ -13,15 +12,12 @@ namespace Microsoft.AspNet.Http.Features.Internal
public void QueryReturnsParsedQueryCollection() public void QueryReturnsParsedQueryCollection()
{ {
// Arrange // Arrange
var features = new Mock<IFeatureCollection>(); var features = new FeatureCollection();
var request = new Mock<IHttpRequestFeature>(); var request = new HttpRequestFeature();
request.SetupGet(r => r.QueryString).Returns("foo=bar"); request.QueryString = "foo=bar";
features.Add(typeof(IHttpRequestFeature), request);
object value = request.Object; var provider = new QueryFeature(features);
features.Setup(f => f.TryGetValue(typeof(IHttpRequestFeature), out value))
.Returns(true);
var provider = new QueryFeature(features.Object);
// Act // Act
var queryCollection = provider.Query; var queryCollection = provider.Query;

View File

@ -1,19 +1,13 @@
{ {
"dependencies": { "dependencies": {
"Microsoft.AspNet.Http": "1.0.0-*", "Microsoft.AspNet.Http": "1.0.0-*",
"xunit.runner.aspnet": "2.0.0-aspnet-*" "xunit.runner.aspnet": "2.0.0-aspnet-*"
}, },
"commands": { "commands": {
"test": "xunit.runner.aspnet" "test": "xunit.runner.aspnet"
}, },
"frameworks": { "frameworks": {
"dnx451": { "dnx451": { },
"dependencies": { "dnxcore50": { }
"Moq": "4.2.1312.1622" }
},
"frameworkAssemblies": {
"System.Net.Http": ""
}
}
}
} }

View File

@ -8,10 +8,7 @@
"test": "xunit.runner.aspnet" "test": "xunit.runner.aspnet"
}, },
"frameworks": { "frameworks": {
"dnx451": { "dnx451": { },
"dependencies": { "dnxcore50": { }
"Shouldly": "1.1.1.1"
}
}
} }
} }

View File

@ -2,8 +2,6 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System; using System;
using System.IO;
using Moq;
using Xunit; using Xunit;
namespace Microsoft.Framework.WebEncoders namespace Microsoft.Framework.WebEncoders
@ -14,7 +12,7 @@ namespace Microsoft.Framework.WebEncoders
public void GetHtmlEncoder_ServiceProviderDoesNotHaveEncoder_UsesDefault() public void GetHtmlEncoder_ServiceProviderDoesNotHaveEncoder_UsesDefault()
{ {
// Arrange // Arrange
var serviceProvider = new Mock<IServiceProvider>().Object; var serviceProvider = new TestServiceProvider();
// Act // Act
var retVal = serviceProvider.GetHtmlEncoder(); var retVal = serviceProvider.GetHtmlEncoder();
@ -27,12 +25,11 @@ namespace Microsoft.Framework.WebEncoders
public void GetHtmlEncoder_ServiceProviderHasEncoder_ReturnsRegisteredInstance() public void GetHtmlEncoder_ServiceProviderHasEncoder_ReturnsRegisteredInstance()
{ {
// Arrange // Arrange
var expectedEncoder = new Mock<IHtmlEncoder>().Object; var expectedEncoder = new HtmlEncoder();
var mockServiceProvider = new Mock<IServiceProvider>(); var serviceProvider = new TestServiceProvider() { Service = expectedEncoder };
mockServiceProvider.Setup(o => o.GetService(typeof(IHtmlEncoder))).Returns(expectedEncoder);
// Act // Act
var retVal = mockServiceProvider.Object.GetHtmlEncoder(); var retVal = serviceProvider.GetHtmlEncoder();
// Assert // Assert
Assert.Same(expectedEncoder, retVal); Assert.Same(expectedEncoder, retVal);
@ -42,7 +39,7 @@ namespace Microsoft.Framework.WebEncoders
public void GetJavaScriptStringEncoder_ServiceProviderDoesNotHaveEncoder_UsesDefault() public void GetJavaScriptStringEncoder_ServiceProviderDoesNotHaveEncoder_UsesDefault()
{ {
// Arrange // Arrange
var serviceProvider = new Mock<IServiceProvider>().Object; var serviceProvider = new TestServiceProvider();
// Act // Act
var retVal = serviceProvider.GetJavaScriptStringEncoder(); var retVal = serviceProvider.GetJavaScriptStringEncoder();
@ -55,12 +52,11 @@ namespace Microsoft.Framework.WebEncoders
public void GetJavaScriptStringEncoder_ServiceProviderHasEncoder_ReturnsRegisteredInstance() public void GetJavaScriptStringEncoder_ServiceProviderHasEncoder_ReturnsRegisteredInstance()
{ {
// Arrange // Arrange
var expectedEncoder = new Mock<IJavaScriptStringEncoder>().Object; var expectedEncoder = new JavaScriptStringEncoder();
var mockServiceProvider = new Mock<IServiceProvider>(); var serviceProvider = new TestServiceProvider() { Service = expectedEncoder };
mockServiceProvider.Setup(o => o.GetService(typeof(IJavaScriptStringEncoder))).Returns(expectedEncoder);
// Act // Act
var retVal = mockServiceProvider.Object.GetJavaScriptStringEncoder(); var retVal = serviceProvider.GetJavaScriptStringEncoder();
// Assert // Assert
Assert.Same(expectedEncoder, retVal); Assert.Same(expectedEncoder, retVal);
@ -70,7 +66,7 @@ namespace Microsoft.Framework.WebEncoders
public void GetUrlEncoder_ServiceProviderDoesNotHaveEncoder_UsesDefault() public void GetUrlEncoder_ServiceProviderDoesNotHaveEncoder_UsesDefault()
{ {
// Arrange // Arrange
var serviceProvider = new Mock<IServiceProvider>().Object; var serviceProvider = new TestServiceProvider();
// Act // Act
var retVal = serviceProvider.GetUrlEncoder(); var retVal = serviceProvider.GetUrlEncoder();
@ -83,15 +79,24 @@ namespace Microsoft.Framework.WebEncoders
public void GetUrlEncoder_ServiceProviderHasEncoder_ReturnsRegisteredInstance() public void GetUrlEncoder_ServiceProviderHasEncoder_ReturnsRegisteredInstance()
{ {
// Arrange // Arrange
var expectedEncoder = new Mock<IUrlEncoder>().Object; var expectedEncoder = new UrlEncoder();
var mockServiceProvider = new Mock<IServiceProvider>(); var serviceProvider = new TestServiceProvider() { Service = expectedEncoder };
mockServiceProvider.Setup(o => o.GetService(typeof(IUrlEncoder))).Returns(expectedEncoder);
// Act // Act
var retVal = mockServiceProvider.Object.GetUrlEncoder(); var retVal = serviceProvider.GetUrlEncoder();
// Assert // Assert
Assert.Same(expectedEncoder, retVal); Assert.Same(expectedEncoder, retVal);
} }
private class TestServiceProvider : IServiceProvider
{
public object Service { get; set; }
public object GetService(Type serviceType)
{
return Service;
}
}
} }
} }

View File

@ -5,7 +5,6 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Globalization; using System.Globalization;
using System.IO; using System.IO;
using Moq;
using Xunit; using Xunit;
namespace Microsoft.Framework.WebEncoders namespace Microsoft.Framework.WebEncoders
@ -208,8 +207,9 @@ namespace Microsoft.Framework.WebEncoders
public void Encode_CharArray_ZeroCount_DoesNotCallIntoTextWriter() public void Encode_CharArray_ZeroCount_DoesNotCallIntoTextWriter()
{ {
// Arrange // Arrange
CustomUnicodeEncoderBase encoder = new CustomUnicodeEncoderBase(); var encoder = new CustomUnicodeEncoderBase();
TextWriter output = new Mock<TextWriter>(MockBehavior.Strict).Object; var output = new StringWriter();
output.Dispose(); // Throws ODE if written to.
// Act // Act
encoder.Encode("abc".ToCharArray(), 2, 0, output); encoder.Encode("abc".ToCharArray(), 2, 0, output);
@ -280,8 +280,9 @@ namespace Microsoft.Framework.WebEncoders
public void Encode_StringSubstring_ZeroCount_DoesNotCallIntoTextWriter() public void Encode_StringSubstring_ZeroCount_DoesNotCallIntoTextWriter()
{ {
// Arrange // Arrange
CustomUnicodeEncoderBase encoder = new CustomUnicodeEncoderBase(); var encoder = new CustomUnicodeEncoderBase();
TextWriter output = new Mock<TextWriter>(MockBehavior.Strict).Object; var output = new StringWriter();
output.Dispose(); // Throws ODE if written to.
// Act // Act
encoder.Encode("abc", 2, 0, output); encoder.Encode("abc", 2, 0, output);
@ -309,14 +310,13 @@ namespace Microsoft.Framework.WebEncoders
{ {
// Arrange // Arrange
CustomUnicodeEncoderBase encoder = new CustomUnicodeEncoderBase(UnicodeRanges.All); CustomUnicodeEncoderBase encoder = new CustomUnicodeEncoderBase(UnicodeRanges.All);
var mockWriter = new Mock<TextWriter>(MockBehavior.Strict); StringWriter output = new StringWriter();
mockWriter.Setup(o => o.Write("abc")).Verifiable();
// Act // Act
encoder.Encode("abc", 0, 3, mockWriter.Object); encoder.Encode("abc", 0, 3, output);
// Assert // Assert
mockWriter.Verify(); Assert.Equal("abc", output.ToString());
} }
[Fact] [Fact]

View File

@ -1,20 +1,24 @@
{ {
"dependencies": { "dependencies": {
"Microsoft.Framework.DependencyInjection": "1.0.0-*", "Microsoft.Framework.DependencyInjection": "1.0.0-*",
"Microsoft.Framework.WebEncoders": "1.0.0-*", "Microsoft.Framework.WebEncoders": "1.0.0-*",
"Microsoft.Framework.WebEncoders.Testing": "1.0.0-*", "Microsoft.Framework.WebEncoders.Testing": "1.0.0-*",
"Moq": "4.2.1312.1622", "Newtonsoft.Json": "6.0.6",
"Newtonsoft.Json": "6.0.6", "xunit.runner.aspnet": "2.0.0-aspnet-*"
"xunit.runner.aspnet": "2.0.0-aspnet-*" },
}, "commands": {
"commands": { "test": "xunit.runner.aspnet"
"test": "xunit.runner.aspnet" },
}, "compilationOptions": {
"compilationOptions": { "allowUnsafe": true
"allowUnsafe": "true" },
}, "frameworks": {
"frameworks": { "dnx451": { },
"dnx451": { } "dnxcore50": {
}, "dependencies": {
"resources": "..\\..\\unicode\\UnicodeData.txt" "System.Text.Encoding.Extensions": "4.0.10-beta-*"
}
}
},
"resources": "..\\..\\unicode\\UnicodeData.txt"
} }