public void ObjectTemplateWithHiddenHtml() { string expected = "Model = propValue1, ModelType = System.String, PropertyName = Property1, HtmlFieldName = Property1, TemplateName = (null), Mode = ReadOnly, AdditionalViewData = (null)"; // Arrange ObjectTemplateModel model = new ObjectTemplateModel(); HtmlHelper html = MakeHtmlHelper <ObjectTemplateModel>(model); Mock <ModelMetadataProvider> provider = new Mock <ModelMetadataProvider>(); Func <object> accessor = () => model; Mock <ModelMetadata> metadata = new Mock <ModelMetadata>(provider.Object, null, accessor, typeof(ObjectTemplateModel), null); ModelMetadata prop1Metadata = new ModelMetadata(provider.Object, typeof(ObjectTemplateModel), () => "propValue1", typeof(string), "Property1") { HideSurroundingHtml = true }; html.ViewData.ModelMetadata = metadata.Object; metadata.Setup(p => p.Properties).Returns(() => new[] { prop1Metadata }); // Act string result = DefaultDisplayTemplates.ObjectTemplate(html, SpyCallback); // Assert Assert.Equal(expected, result); }
public void ObjectTemplate_HonoursHideSurroundingHtml() { // Arrange var expected = "Model = p1, ModelType = System.String, PropertyName = Property1, SimpleDisplayText = p1" + "<div class=\"display-label\">Property2</div>" + Environment.NewLine + "<div class=\"display-field\">Model = (null), ModelType = System.String, PropertyName = Property2," + " SimpleDisplayText = (null)</div>" + Environment.NewLine; var model = new DefaultTemplatesUtilities.ObjectTemplateModel { Property1 = "p1", Property2 = null }; var html = DefaultTemplatesUtilities.GetHtmlHelper(model); var metadata = html.ViewData.ModelMetadata.Properties.First(m => string.Equals(m.PropertyName, "Property1")); metadata.HideSurroundingHtml = true; // Act var result = DefaultDisplayTemplates.ObjectTemplate(html); // Assert Assert.Equal(expected, result); }