// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information. using System.Web.WebPages.Html; using Xunit; using Assert = Microsoft.TestCommon.AssertEx; namespace System.Web.WebPages.Test { public class HtmlHelperTest { [Fact] public void ValidationInputCssClassNameThrowsWhenAssignedNull() { // Act and Assert Assert.ThrowsArgumentNull(() => HtmlHelper.ValidationInputCssClassName = null, "value"); } [Fact] public void ValidationSummaryClassNameThrowsWhenAssignedNull() { // Act and Assert Assert.ThrowsArgumentNull(() => HtmlHelper.ValidationSummaryClass = null, "value"); } [Fact] public void EncodeObject() { // Arrange HtmlHelper htmlHelper = HtmlHelperFactory.Create(); object text = "
" as object; // Act string encodedHtml = htmlHelper.Encode(text); // Assert Assert.Equal(encodedHtml, "<br />"); } [Fact] public void EncodeObjectNull() { // Arrange HtmlHelper htmlHelper = HtmlHelperFactory.Create(); object text = null; // Act string encodedHtml = htmlHelper.Encode(text); // Assert Assert.Equal(String.Empty, encodedHtml); } [Fact] public void EncodeString() { // Arrange HtmlHelper htmlHelper = HtmlHelperFactory.Create(); var text = "
"; // Act string encodedHtml = htmlHelper.Encode(text); // Assert Assert.Equal(encodedHtml, "<br />"); } [Fact] public void EncodeStringNull() { // Arrange HtmlHelper htmlHelper = HtmlHelperFactory.Create(); string text = null; // Act string encodedHtml = htmlHelper.Encode(text); // Assert Assert.Equal("", encodedHtml); } [Fact] public void RawAllowsNullValue() { // Arrange HtmlHelper htmlHelper = HtmlHelperFactory.Create(); // Act IHtmlString markupHtml = htmlHelper.Raw(null); // Assert Assert.Equal(null, markupHtml.ToString()); Assert.Equal(null, markupHtml.ToHtmlString()); } [Fact] public void RawAllowsNullObjectValue() { // Arrange HtmlHelper htmlHelper = HtmlHelperFactory.Create(); // Act IHtmlString markupHtml = htmlHelper.Raw((object)null); // Assert Assert.Equal(null, markupHtml.ToString()); Assert.Equal(null, markupHtml.ToHtmlString()); } [Fact] public void RawAllowsEmptyValue() { // Arrange HtmlHelper htmlHelper = HtmlHelperFactory.Create(); // Act IHtmlString markupHtml = htmlHelper.Raw(""); // Assert Assert.Equal("", markupHtml.ToString()); Assert.Equal("", markupHtml.ToHtmlString()); } [Fact] public void RawReturnsWrapperMarkup() { // Arrange HtmlHelper htmlHelper = HtmlHelperFactory.Create(); string markup = "bold"; // Act IHtmlString markupHtml = htmlHelper.Raw(markup); // Assert Assert.Equal("bold", markupHtml.ToString()); Assert.Equal("bold", markupHtml.ToHtmlString()); } [Fact] public void RawReturnsWrapperMarkupOfObject() { // Arrange HtmlHelper htmlHelper = HtmlHelperFactory.Create(); ObjectWithWrapperMarkup obj = new ObjectWithWrapperMarkup(); // Act IHtmlString markupHtml = htmlHelper.Raw(obj); // Assert Assert.Equal("boldFromObject", markupHtml.ToString()); Assert.Equal("boldFromObject", markupHtml.ToHtmlString()); } private class ObjectWithWrapperMarkup { public override string ToString() { return "boldFromObject"; } } } }