a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
66 lines
1.9 KiB
C#
66 lines
1.9 KiB
C#
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
|
|
|
|
using Moq;
|
|
using Xunit;
|
|
using Assert = Microsoft.TestCommon.AssertEx;
|
|
|
|
namespace System.Web.Mvc.Test
|
|
{
|
|
public class MvcHttpHandlerTest
|
|
{
|
|
[Fact]
|
|
public void ConstructorDoesNothing()
|
|
{
|
|
new MvcHttpHandler();
|
|
}
|
|
|
|
[Fact]
|
|
public void VerifyAndProcessRequestWithNullHandlerThrows()
|
|
{
|
|
// Arrange
|
|
PublicMvcHttpHandler handler = new PublicMvcHttpHandler();
|
|
|
|
// Act
|
|
Assert.ThrowsArgumentNull(
|
|
delegate { handler.PublicVerifyAndProcessRequest(null, null); },
|
|
"httpHandler");
|
|
}
|
|
|
|
[Fact]
|
|
public void ProcessRequestCallsExecute()
|
|
{
|
|
// Arrange
|
|
PublicMvcHttpHandler handler = new PublicMvcHttpHandler();
|
|
Mock<IHttpHandler> mockTargetHandler = new Mock<IHttpHandler>();
|
|
mockTargetHandler.Setup(h => h.ProcessRequest(It.IsAny<HttpContext>())).Verifiable();
|
|
|
|
// Act
|
|
handler.PublicVerifyAndProcessRequest(mockTargetHandler.Object, null);
|
|
|
|
// Assert
|
|
mockTargetHandler.Verify();
|
|
}
|
|
|
|
private sealed class DummyHttpHandler : IHttpHandler
|
|
{
|
|
bool IHttpHandler.IsReusable
|
|
{
|
|
get { throw new NotImplementedException(); }
|
|
}
|
|
|
|
void IHttpHandler.ProcessRequest(HttpContext context)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
|
|
private sealed class PublicMvcHttpHandler : MvcHttpHandler
|
|
{
|
|
public void PublicVerifyAndProcessRequest(IHttpHandler httpHandler, HttpContextBase httpContext)
|
|
{
|
|
base.VerifyAndProcessRequest(httpHandler, httpContext);
|
|
}
|
|
}
|
|
}
|
|
}
|