Add `Model` assessor to `ViewResult` for MVC5 portability.

#3495
This commit is contained in:
N. Taylor Mullen 2015-12-14 15:49:12 -08:00
parent 1126d47b3e
commit 29ea696c5a
2 changed files with 32 additions and 0 deletions

View File

@ -28,6 +28,11 @@ namespace Microsoft.AspNet.Mvc
/// </remarks>
public string ViewName { get; set; }
/// <summary>
/// Gets the view data model.
/// </summary>
public object Model => ViewData?.Model;
/// <summary>
/// Gets or sets the <see cref="ViewDataDictionary"/> for this result.
/// </summary>

View File

@ -24,6 +24,33 @@ namespace Microsoft.AspNet.Mvc
// and ViewExecutorTest for more comprehensive tests.
public class ViewResultTest
{
[Fact]
public void Model_NullWhenViewDataIsNull()
{
// Arrange
var viewResult = new ViewResult();
// Act & Assert
Assert.Null(viewResult.Model);
}
[Fact]
public void Model_ExposesViewDataModel()
{
// Arrange
var customModel = new object();
var viewResult = new ViewResult
{
ViewData = new ViewDataDictionary(new EmptyModelMetadataProvider())
{
Model = customModel
},
};
// Act & Assert
Assert.Same(customModel, viewResult.Model);
}
[Fact]
public async Task ExecuteResultAsync_Throws_IfViewCouldNotBeFound_MessageUsesGetViewLocations()
{