From daf341df3563d65b06b21087b9d2e6922b4f06e9 Mon Sep 17 00:00:00 2001 From: Doug Bunting Date: Fri, 16 Feb 2018 16:26:38 -0800 Subject: [PATCH] Add more tests of #7033 scenarios --- .../Rendering/HtmlHelperDisplayTextTest.cs | 33 ++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/test/Microsoft.AspNetCore.Mvc.ViewFeatures.Test/Rendering/HtmlHelperDisplayTextTest.cs b/test/Microsoft.AspNetCore.Mvc.ViewFeatures.Test/Rendering/HtmlHelperDisplayTextTest.cs index 822e66caf2..b6c9367656 100644 --- a/test/Microsoft.AspNetCore.Mvc.ViewFeatures.Test/Rendering/HtmlHelperDisplayTextTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.ViewFeatures.Test/Rendering/HtmlHelperDisplayTextTest.cs @@ -305,10 +305,28 @@ namespace Microsoft.AspNetCore.Mvc.Rendering var helper = DefaultTemplatesUtilities.GetHtmlHelper(model); // Act - var result = helper.DisplayTextFor(m => m); + var result = helper.DisplayText(expression: string.Empty); + var forResult = helper.DisplayTextFor(m => m); // Assert Assert.Equal("Value One", result); + Assert.Equal("Value One", forResult); + } + + [Fact] + public void DisplayTextFor_EnumDisplayAttribute_WhenPresentOnProperty() + { + // Arrange + var model = new EnumWithDisplayAttributeContainer { EnumValue = EnumWithDisplayAttribute.Value1 }; + var helper = DefaultTemplatesUtilities.GetHtmlHelper(model); + + // Act + var result = helper.DisplayText(expression: nameof(EnumWithDisplayAttributeContainer.EnumValue)); + var forResult = helper.DisplayTextFor(m => m.EnumValue); + + // Assert + Assert.Equal("Value One", result); + Assert.Equal("Value One", forResult); } [Fact] @@ -319,10 +337,12 @@ namespace Microsoft.AspNetCore.Mvc.Rendering var helper = DefaultTemplatesUtilities.GetHtmlHelper(model); // Act - var result = helper.DisplayTextFor(m => m); + var result = helper.DisplayText(expression: null); + var forResult = helper.DisplayTextFor(m => m); // Assert Assert.Equal("Value1", result); + Assert.Equal("Value1", forResult); } // ModelMetadata.SimpleDisplayText returns ToString() result if that method has been overridden. @@ -345,15 +365,20 @@ namespace Microsoft.AspNetCore.Mvc.Rendering } } - public enum EnumWithDisplayAttribute + private enum EnumWithDisplayAttribute { [Display(Name = "Value One")] Value1 } - public enum EnumWithoutDisplayAttribute + private enum EnumWithoutDisplayAttribute { Value1 } + + private class EnumWithDisplayAttributeContainer + { + public EnumWithDisplayAttribute EnumValue { get; set; } + } } }