Remove Controller.ViewEngine property+unit tests and simplify the Content method
This commit is contained in:
parent
b02dea98e7
commit
0d2a819255
|
|
@ -19,7 +19,6 @@ namespace Microsoft.AspNet.Mvc
|
|||
public class Controller : IActionFilter, IAsyncActionFilter, IOrderedFilter, IDisposable
|
||||
{
|
||||
private DynamicViewData _viewBag;
|
||||
private IViewEngine _viewEngine;
|
||||
|
||||
public IServiceProvider Resolver
|
||||
{
|
||||
|
|
@ -61,25 +60,6 @@ namespace Microsoft.AspNet.Mvc
|
|||
}
|
||||
}
|
||||
|
||||
public IViewEngine ViewEngine
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_viewEngine == null)
|
||||
{
|
||||
_viewEngine =
|
||||
ActionContext?.HttpContext?.RequestServices.GetRequiredService<ICompositeViewEngine>();
|
||||
}
|
||||
|
||||
return _viewEngine;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
_viewEngine = value;
|
||||
}
|
||||
}
|
||||
|
||||
public ModelStateDictionary ModelState
|
||||
{
|
||||
get
|
||||
|
|
@ -186,7 +166,6 @@ namespace Microsoft.AspNet.Mvc
|
|||
{
|
||||
ViewName = viewName,
|
||||
ViewData = ViewData,
|
||||
ViewEngine = _viewEngine,
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -284,18 +263,10 @@ namespace Microsoft.AspNet.Mvc
|
|||
var result = new ContentResult
|
||||
{
|
||||
Content = content,
|
||||
ContentEncoding = contentEncoding,
|
||||
ContentType = contentType
|
||||
};
|
||||
|
||||
if (contentType != null)
|
||||
{
|
||||
result.ContentType = contentType;
|
||||
}
|
||||
|
||||
if (contentEncoding != null)
|
||||
{
|
||||
result.ContentEncoding = contentEncoding;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1238,65 +1238,6 @@ namespace Microsoft.AspNet.Mvc.Test
|
|||
Assert.True(controller.DisposeCalled);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ControllerExpose_ViewEngine()
|
||||
{
|
||||
// Arrange
|
||||
var controller = new Controller();
|
||||
|
||||
var viewEngine = Mock.Of<ICompositeViewEngine>();
|
||||
|
||||
var serviceProvider = new Mock<IServiceProvider>();
|
||||
serviceProvider
|
||||
.Setup(s => s.GetService(It.Is<Type>(t => t == typeof(ICompositeViewEngine))))
|
||||
.Returns(viewEngine);
|
||||
|
||||
var httpContext = new Mock<HttpContext>();
|
||||
httpContext
|
||||
.Setup(c => c.RequestServices)
|
||||
.Returns(serviceProvider.Object);
|
||||
|
||||
controller.ActionContext = new ActionContext(httpContext.Object,
|
||||
Mock.Of<RouteData>(),
|
||||
new ActionDescriptor());
|
||||
|
||||
// Act
|
||||
var innerViewEngine = controller.ViewEngine;
|
||||
|
||||
// Assert
|
||||
Assert.Same(viewEngine, innerViewEngine);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ControllerView_UsesControllerViewEngine()
|
||||
{
|
||||
// Arrange
|
||||
var controller = new Controller();
|
||||
|
||||
var viewEngine = Mock.Of<ICompositeViewEngine>();
|
||||
|
||||
var serviceProvider = new Mock<IServiceProvider>();
|
||||
serviceProvider
|
||||
.Setup(s => s.GetService(It.Is<Type>(t => t == typeof(ICompositeViewEngine))))
|
||||
.Returns(viewEngine);
|
||||
|
||||
var httpContext = new Mock<HttpContext>();
|
||||
httpContext
|
||||
.Setup(c => c.RequestServices)
|
||||
.Returns(serviceProvider.Object);
|
||||
|
||||
controller.ActionContext = new ActionContext(httpContext.Object,
|
||||
Mock.Of<RouteData>(),
|
||||
new ActionDescriptor());
|
||||
|
||||
// Act
|
||||
var unsused = controller.ViewEngine;
|
||||
var result = controller.View();
|
||||
|
||||
// Assert
|
||||
Assert.Same(viewEngine, result.ViewEngine);
|
||||
}
|
||||
|
||||
private static Controller GetController(IModelBinder binder, IValueProvider provider)
|
||||
{
|
||||
var metadataProvider = new DataAnnotationsModelMetadataProvider();
|
||||
|
|
|
|||
Loading…
Reference in New Issue