/test/System.Web.Mvc.Test/Html/Test/InputExtensionsTest.cs
C# | 1303 lines | 784 code | 253 blank | 266 comment | 0 complexity | d7bfdd0d6e55a161f673ca228ee2d29d MD5 | raw file
- using System.ComponentModel.DataAnnotations;
- using System.Data.Linq;
- using System.Web.Mvc.Test;
- using System.Web.Routing;
- using Microsoft.Web.UnitTestUtil;
- using Xunit;
- using Assert = Microsoft.TestCommon.AssertEx;
- namespace System.Web.Mvc.Html.Test
- {
- public class InputExtensionsTest
- {
- // CheckBox
- [Fact]
- public void CheckBoxDictionaryOverridesImplicitParameters()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- // Act
- MvcHtmlString html = helper.CheckBox("baz", new { @checked = "checked", value = "false" });
- // Assert
- Assert.Equal(@"<input checked=""checked"" id=""baz"" name=""baz"" type=""checkbox"" value=""false"" />" +
- @"<input name=""baz"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxExplicitParametersOverrideDictionary()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper();
- // Act
- MvcHtmlString html = helper.CheckBox("foo", true /* isChecked */, new { @checked = "unchecked", value = "false" });
- // Assert
- Assert.Equal(@"<input checked=""checked"" id=""foo"" name=""foo"" type=""checkbox"" value=""false"" />" +
- @"<input name=""foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxShouldNotCopyAttributesForHidden()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper();
- // Act
- MvcHtmlString html = helper.CheckBox("foo", true /* isChecked */, new { id = "myID" });
- // Assert
- Assert.Equal(@"<input checked=""checked"" id=""myID"" name=""foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxWithEmptyNameThrows()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- // Act & Assert
- Assert.ThrowsArgumentNullOrEmpty(
- delegate { helper.CheckBox(String.Empty); },
- "name");
- }
- [Fact]
- public void CheckBoxWithInvalidBooleanThrows()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- // Act & Assert
- Assert.Throws<FormatException>(
- delegate { helper.CheckBox("bar"); },
- "String was not recognized as a valid Boolean.");
- }
- [Fact]
- public void CheckBoxCheckedWithOnlyName()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper();
- // Act
- MvcHtmlString html = helper.CheckBox("foo", true /* isChecked */);
- // Assert
- Assert.Equal(@"<input checked=""checked"" id=""foo"" name=""foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxShouldRespectModelStateAttemptedValue()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- helper.ViewData.ModelState.SetModelValue("foo", HtmlHelperTest.GetValueProviderResult("false", "false"));
- // Act
- MvcHtmlString html = helper.CheckBox("foo");
- // Assert
- Assert.Equal(@"<input id=""foo"" name=""foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxWithOnlyName()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- // Act
- MvcHtmlString html = helper.CheckBox("foo");
- // Assert
- Assert.Equal(@"<input checked=""checked"" id=""foo"" name=""foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxWithOnlyName_Unobtrusive()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- helper.ViewContext.ClientValidationEnabled = true;
- helper.ViewContext.UnobtrusiveJavaScriptEnabled = true;
- helper.ViewContext.FormContext = new FormContext();
- helper.ClientValidationRuleFactory = (name, metadata) => new[] { new ModelClientValidationRule { ValidationType = "type", ErrorMessage = "error" } };
- // Act
- MvcHtmlString html = helper.CheckBox("foo");
- // Assert
- Assert.Equal(@"<input checked=""checked"" data-val=""true"" data-val-type=""error"" id=""foo"" name=""foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxWithNameAndObjectAttribute()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- // Act
- MvcHtmlString html = helper.CheckBox("foo", _attributesObjectDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazObjValue"" checked=""checked"" id=""foo"" name=""foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxWithNameAndObjectAttributeWithUnderscores()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- // Act
- MvcHtmlString html = helper.CheckBox("foo", _attributesObjectUnderscoresDictionary);
- // Assert
- Assert.Equal(@"<input checked=""checked"" foo-baz=""BazObjValue"" id=""foo"" name=""foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxWithObjectAttribute()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper();
- // Act
- MvcHtmlString html = helper.CheckBox("foo", false /* isChecked */, _attributesObjectDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazObjValue"" id=""foo"" name=""foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxWithObjectAttributeWithUnderscores()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper();
- // Act
- MvcHtmlString html = helper.CheckBox("foo", false /* isChecked */, _attributesObjectUnderscoresDictionary);
- // Assert
- Assert.Equal(@"<input foo-baz=""BazObjValue"" id=""foo"" name=""foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxWithAttributeDictionary()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper();
- // Act
- MvcHtmlString html = helper.CheckBox("foo", false /* isChecked */, _attributesDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazValue"" id=""foo"" name=""foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxWithPrefix()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper();
- helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
- // Act
- MvcHtmlString html = helper.CheckBox("foo", false /* isChecked */, _attributesDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazValue"" id=""MyPrefix_foo"" name=""MyPrefix.foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""MyPrefix.foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxWithPrefixAndEmptyName()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper();
- helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
- // Act
- MvcHtmlString html = helper.CheckBox("", false /* isChecked */, _attributesDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazValue"" id=""MyPrefix"" name=""MyPrefix"" type=""checkbox"" value=""true"" />" +
- @"<input name=""MyPrefix"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- // CheckBoxFor
- [Fact]
- public void CheckBoxForWitNullExpressionThrows()
- {
- // Arrange
- HtmlHelper<FooBarBazModel> helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- // Act & Assert
- Assert.ThrowsArgumentNull(
- () => helper.CheckBoxFor(null),
- "expression");
- }
- [Fact]
- public void CheckBoxForWithInvalidBooleanThrows()
- {
- // Arrange
- HtmlHelper<FooBarBazModel> helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- // Act & Assert
- Assert.Throws<FormatException>(
- () => helper.CheckBoxFor(m => m.bar), // "bar" in ViewData isn't a valid boolean
- "String was not recognized as a valid Boolean.");
- }
- [Fact]
- public void CheckBoxForDictionaryOverridesImplicitParameters()
- {
- // Arrange
- HtmlHelper<FooBarBazModel> helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- // Act
- MvcHtmlString html = helper.CheckBoxFor(m => m.baz, new { @checked = "checked", value = "false" });
- // Assert
- Assert.Equal(@"<input checked=""checked"" id=""baz"" name=""baz"" type=""checkbox"" value=""false"" />" +
- @"<input name=""baz"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxForShouldNotCopyAttributesForHidden()
- {
- // Arrange
- HtmlHelper<FooBarBazModel> helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- // Act
- MvcHtmlString html = helper.CheckBoxFor(m => m.foo, new { id = "myID" });
- // Assert
- Assert.Equal(@"<input checked=""checked"" id=""myID"" name=""foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxForCheckedWithOnlyName()
- {
- // Arrange
- HtmlHelper<FooBarBazModel> helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- // Act
- MvcHtmlString html = helper.CheckBoxFor(m => m.foo);
- // Assert
- Assert.Equal(@"<input checked=""checked"" id=""foo"" name=""foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxForCheckedWithOnlyName_Unobtrusive()
- {
- // Arrange
- HtmlHelper<FooBarBazModel> helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- helper.ViewContext.ClientValidationEnabled = true;
- helper.ViewContext.UnobtrusiveJavaScriptEnabled = true;
- helper.ViewContext.FormContext = new FormContext();
- helper.ClientValidationRuleFactory = (name, metadata) => new[] { new ModelClientValidationRule { ValidationType = "type", ErrorMessage = "error" } };
- // Act
- MvcHtmlString html = helper.CheckBoxFor(m => m.foo);
- // Assert
- Assert.Equal(@"<input checked=""checked"" data-val=""true"" data-val-type=""error"" id=""foo"" name=""foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxForShouldRespectModelStateAttemptedValue()
- {
- // Arrange
- HtmlHelper<FooBarBazModel> helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- helper.ViewContext.ViewData.ModelState.SetModelValue("foo", HtmlHelperTest.GetValueProviderResult("false", "false"));
- // Act
- MvcHtmlString html = helper.CheckBoxFor(m => m.foo);
- // Assert
- Assert.Equal(@"<input id=""foo"" name=""foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxForWithObjectAttribute()
- {
- // Arrange
- HtmlHelper<FooBarBazModel> helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- // Act
- MvcHtmlString html = helper.CheckBoxFor(m => m.foo, _attributesObjectDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazObjValue"" checked=""checked"" id=""foo"" name=""foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxForWithObjectAttributeWithUnderscores()
- {
- // Arrange
- HtmlHelper<FooBarBazModel> helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- // Act
- MvcHtmlString html = helper.CheckBoxFor(m => m.foo, _attributesObjectUnderscoresDictionary);
- // Assert
- Assert.Equal(@"<input checked=""checked"" foo-baz=""BazObjValue"" id=""foo"" name=""foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxForWithAttributeDictionary()
- {
- // Arrange
- HtmlHelper<FooBarBazModel> helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- // Act
- MvcHtmlString html = helper.CheckBoxFor(m => m.foo, _attributesDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazValue"" checked=""checked"" id=""foo"" name=""foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- [Fact]
- public void CheckBoxForWithPrefix()
- {
- // Arrange
- HtmlHelper<FooBarBazModel> helper = MvcHelper.GetHtmlHelper(GetCheckBoxViewData());
- helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
- // Act
- MvcHtmlString html = helper.CheckBoxFor(m => m.foo, _attributesDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazValue"" id=""MyPrefix_foo"" name=""MyPrefix.foo"" type=""checkbox"" value=""true"" />" +
- @"<input name=""MyPrefix.foo"" type=""hidden"" value=""false"" />",
- html.ToHtmlString());
- }
- // Culture tests
- [Fact]
- public void InputHelpersUseCurrentCultureToConvertValueParameter()
- {
- // Arrange
- DateTime dt = new DateTime(1900, 1, 1, 0, 0, 0);
- HtmlHelper helper = MvcHelper.GetHtmlHelper(new ViewDataDictionary { { "foo", dt } });
- var tests = new[]
- {
- // Hidden(name)
- new
- {
- Html = @"<input id=""foo"" name=""foo"" type=""hidden"" value=""1900/01/01 12:00:00 AM"" />",
- Action = new Func<MvcHtmlString>(() => helper.Hidden("foo"))
- },
- // Hidden(name, value)
- new
- {
- Html = @"<input id=""foo"" name=""foo"" type=""hidden"" value=""1900/01/01 12:00:00 AM"" />",
- Action = new Func<MvcHtmlString>(() => helper.Hidden("foo", dt))
- },
- // Hidden(name, value, htmlAttributes)
- new
- {
- Html = @"<input id=""foo"" name=""foo"" type=""hidden"" value=""1900/01/01 12:00:00 AM"" />",
- Action = new Func<MvcHtmlString>(() => helper.Hidden("foo", dt, null))
- },
- // Hidden(name, value, htmlAttributes)
- new
- {
- Html = @"<input id=""foo"" name=""foo"" type=""hidden"" value=""1900/01/01 12:00:00 AM"" />",
- Action = new Func<MvcHtmlString>(() => helper.Hidden("foo", dt, new RouteValueDictionary()))
- },
- // RadioButton(name, value)
- new
- {
- Html = @"<input checked=""checked"" id=""foo"" name=""foo"" type=""radio"" value=""1900/01/01 12:00:00 AM"" />",
- Action = new Func<MvcHtmlString>(() => helper.RadioButton("foo", dt))
- },
- // RadioButton(name, value, isChecked)
- new
- {
- Html = @"<input id=""foo"" name=""foo"" type=""radio"" value=""1900/01/01 12:00:00 AM"" />",
- Action = new Func<MvcHtmlString>(() => helper.RadioButton("foo", dt, false))
- },
- // RadioButton(name, value, htmlAttributes)
- new
- {
- Html = @"<input checked=""checked"" id=""foo"" name=""foo"" type=""radio"" value=""1900/01/01 12:00:00 AM"" />",
- Action = new Func<MvcHtmlString>(() => helper.RadioButton("foo", dt, null))
- },
- // RadioButton(name, value)
- new
- {
- Html = @"<input checked=""checked"" id=""foo"" name=""foo"" type=""radio"" value=""1900/01/01 12:00:00 AM"" />",
- Action = new Func<MvcHtmlString>(() => helper.RadioButton("foo", dt, new RouteValueDictionary()))
- },
- // RadioButton(name, value, isChecked, htmlAttributes)
- new
- {
- Html = @"<input id=""foo"" name=""foo"" type=""radio"" value=""1900/01/01 12:00:00 AM"" />",
- Action = new Func<MvcHtmlString>(() => helper.RadioButton("foo", dt, false, null))
- },
- // RadioButton(name, value, isChecked, htmlAttributes)
- new
- {
- Html = @"<input id=""foo"" name=""foo"" type=""radio"" value=""1900/01/01 12:00:00 AM"" />",
- Action = new Func<MvcHtmlString>(() => helper.RadioButton("foo", dt, false, new RouteValueDictionary()))
- },
- // TextBox(name)
- new
- {
- Html = @"<input id=""foo"" name=""foo"" type=""text"" value=""1900/01/01 12:00:00 AM"" />",
- Action = new Func<MvcHtmlString>(() => helper.TextBox("foo"))
- },
- // TextBox(name, value)
- new
- {
- Html = @"<input id=""foo"" name=""foo"" type=""text"" value=""1900/01/01 12:00:00 AM"" />",
- Action = new Func<MvcHtmlString>(() => helper.TextBox("foo", dt))
- },
- // TextBox(name, value, hmtlAttributes)
- new
- {
- Html = @"<input id=""foo"" name=""foo"" type=""text"" value=""1900/01/01 12:00:00 AM"" />",
- Action = new Func<MvcHtmlString>(() => helper.TextBox("foo", dt, (object)null))
- },
- // TextBox(name, value, hmtlAttributes)
- new
- {
- Html = @"<input id=""foo"" name=""foo"" type=""text"" value=""1900/01/01 12:00:00 AM"" />",
- Action = new Func<MvcHtmlString>(() => helper.TextBox("foo", dt, new RouteValueDictionary()))
- }
- };
- // Act && Assert
- using (HtmlHelperTest.ReplaceCulture("en-ZA", "en-US"))
- {
- foreach (var test in tests)
- {
- Assert.Equal(test.Html, test.Action().ToHtmlString());
- }
- }
- }
- // Hidden
- [Fact]
- public void HiddenWithByteArrayValueRendersBase64EncodedValue()
- {
- // Arrange
- HtmlHelper htmlHelper = MvcHelper.GetHtmlHelper();
- // Act
- MvcHtmlString result = htmlHelper.Hidden("ProductName", ByteArrayModelBinderTest.Base64TestBytes);
- // Assert
- Assert.Equal("<input id=\"ProductName\" name=\"ProductName\" type=\"hidden\" value=\"Fys1\" />", result.ToHtmlString());
- }
- [Fact]
- public void HiddenWithBinaryArrayValueRendersBase64EncodedValue()
- {
- // Arrange
- HtmlHelper htmlHelper = MvcHelper.GetHtmlHelper();
- // Act
- MvcHtmlString result = htmlHelper.Hidden("ProductName", new Binary(new byte[] { 23, 43, 53 }));
- // Assert
- Assert.Equal("<input id=\"ProductName\" name=\"ProductName\" type=\"hidden\" value=\"Fys1\" />", result.ToHtmlString());
- }
- [Fact]
- public void HiddenWithEmptyNameThrows()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- // Act & Assert
- Assert.ThrowsArgumentNullOrEmpty(
- delegate { helper.Hidden(String.Empty); },
- "name");
- }
- [Fact]
- public void HiddenWithExplicitValue()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- // Act
- MvcHtmlString html = helper.Hidden("foo", "DefaultFoo", null);
- // Assert
- Assert.Equal(@"<input id=""foo"" name=""foo"" type=""hidden"" value=""DefaultFoo"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenWithExplicitValueAndAttributesDictionary()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- // Act
- MvcHtmlString html = helper.Hidden("foo", "DefaultFoo", _attributesDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazValue"" id=""foo"" name=""foo"" type=""hidden"" value=""DefaultFoo"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenWithExplicitValueAndAttributesObject()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- // Act
- MvcHtmlString html = helper.Hidden("foo", "DefaultFoo", _attributesObjectDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazObjValue"" id=""foo"" name=""foo"" type=""hidden"" value=""DefaultFoo"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenWithExplicitValueAndAttributesObjectWithUnderscores()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- // Act
- MvcHtmlString html = helper.Hidden("foo", "DefaultFoo", _attributesObjectUnderscoresDictionary);
- // Assert
- Assert.Equal(@"<input foo-baz=""BazObjValue"" id=""foo"" name=""foo"" type=""hidden"" value=""DefaultFoo"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenWithExplicitValueNull()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- // Act
- MvcHtmlString html = helper.Hidden("foo", (string)null /* value */, (object)null /* htmlAttributes */);
- // Assert
- Assert.Equal(@"<input id=""foo"" name=""foo"" type=""hidden"" value=""ViewDataFoo"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenWithImplicitValue()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- // Act
- MvcHtmlString html = helper.Hidden("foo");
- // Assert
- Assert.Equal(@"<input id=""foo"" name=""foo"" type=""hidden"" value=""ViewDataFoo"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenWithImplicitValueAndAttributesDictionary()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- // Act
- MvcHtmlString html = helper.Hidden("foo", null, _attributesDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazValue"" id=""foo"" name=""foo"" type=""hidden"" value=""ViewDataFoo"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenWithImplicitValueAndAttributesDictionaryReturnsEmptyValueIfNotFound()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- // Act
- MvcHtmlString html = helper.Hidden("keyNotFound", null, _attributesDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazValue"" id=""keyNotFound"" name=""keyNotFound"" type=""hidden"" value="""" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenWithImplicitValueAndAttributesObject()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- // Act
- MvcHtmlString html = helper.Hidden("foo", null, _attributesObjectDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazObjValue"" id=""foo"" name=""foo"" type=""hidden"" value=""ViewDataFoo"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenWithNameAndValue()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- // Act
- MvcHtmlString html = helper.Hidden("foo", "fooValue");
- // Assert
- Assert.Equal(@"<input id=""foo"" name=""foo"" type=""hidden"" value=""fooValue"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenWithPrefix()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
- // Act
- MvcHtmlString html = helper.Hidden("foo", "fooValue");
- // Assert
- Assert.Equal(@"<input id=""MyPrefix_foo"" name=""MyPrefix.foo"" type=""hidden"" value=""fooValue"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenWithPrefixAndEmptyName()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
- // Act
- MvcHtmlString html = helper.Hidden("", "fooValue");
- // Assert
- Assert.Equal(@"<input id=""MyPrefix"" name=""MyPrefix"" type=""hidden"" value=""fooValue"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenWithNullNameThrows()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- // Act & Assert
- Assert.ThrowsArgumentNullOrEmpty(
- delegate { helper.Hidden(null /* name */); },
- "name");
- }
- [Fact]
- public void HiddenWithViewDataErrors()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewDataWithErrors());
- // Act
- MvcHtmlString html = helper.Hidden("foo", null, _attributesObjectDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazObjValue"" class=""input-validation-error"" id=""foo"" name=""foo"" type=""hidden"" value=""AttemptedValueFoo"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenWithViewDataErrorsAndCustomClass()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewDataWithErrors());
- // Act
- MvcHtmlString html = helper.Hidden("foo", null, new { @class = "foo-class" });
- // Assert
- Assert.Equal(@"<input class=""input-validation-error foo-class"" id=""foo"" name=""foo"" type=""hidden"" value=""AttemptedValueFoo"" />", html.ToHtmlString());
- }
- // HiddenFor
- [Fact]
- public void HiddenForWithNullExpressionThrows()
- {
- // Arrange
- HtmlHelper<HiddenModel> helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- // Act & Assert
- Assert.ThrowsArgumentNull(
- () => helper.HiddenFor<HiddenModel, object>(null),
- "expression"
- );
- }
- [Fact]
- public void HiddenForWithStringValue()
- {
- // Arrange
- HtmlHelper<HiddenModel> helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- helper.ViewData.Model.foo = "DefaultFoo";
- // Act
- MvcHtmlString html = helper.HiddenFor(m => m.foo);
- // Assert
- Assert.Equal(@"<input id=""foo"" name=""foo"" type=""hidden"" value=""DefaultFoo"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenForWithByteArrayValueRendersBase64EncodedValue()
- {
- // Arrange
- HtmlHelper<HiddenModel> helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- helper.ViewData.Model.bytes = ByteArrayModelBinderTest.Base64TestBytes;
- // Act
- MvcHtmlString result = helper.HiddenFor(m => m.bytes);
- // Assert
- Assert.Equal("<input id=\"bytes\" name=\"bytes\" type=\"hidden\" value=\"Fys1\" />", result.ToHtmlString());
- }
- [Fact]
- public void HiddenForWithBinaryValueRendersBase64EncodedValue()
- {
- // Arrange
- HtmlHelper<HiddenModel> helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- helper.ViewData.Model.binary = new Binary(new byte[] { 23, 43, 53 });
- // Act
- MvcHtmlString result = helper.HiddenFor(m => m.binary);
- // Assert
- Assert.Equal("<input id=\"binary\" name=\"binary\" type=\"hidden\" value=\"Fys1\" />", result.ToHtmlString());
- }
- [Fact]
- public void HiddenForWithAttributesDictionary()
- {
- // Arrange
- HtmlHelper<HiddenModel> helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- helper.ViewData.Model.foo = "DefaultFoo";
- // Act
- MvcHtmlString html = helper.HiddenFor(m => m.foo, _attributesDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazValue"" id=""foo"" name=""foo"" type=""hidden"" value=""DefaultFoo"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenForWithAttributesObject()
- {
- // Arrange
- HtmlHelper<HiddenModel> helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- helper.ViewData.Model.foo = "DefaultFoo";
- // Act
- MvcHtmlString html = helper.HiddenFor(m => m.foo, _attributesObjectDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazObjValue"" id=""foo"" name=""foo"" type=""hidden"" value=""DefaultFoo"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenForWithAttributesObjectWithUnderscores()
- {
- // Arrange
- HtmlHelper<HiddenModel> helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- helper.ViewData.Model.foo = "DefaultFoo";
- // Act
- MvcHtmlString html = helper.HiddenFor(m => m.foo, _attributesObjectUnderscoresDictionary);
- // Assert
- Assert.Equal(@"<input foo-baz=""BazObjValue"" id=""foo"" name=""foo"" type=""hidden"" value=""DefaultFoo"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenForWithPrefix()
- {
- // Arrange
- HtmlHelper<HiddenModel> helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- helper.ViewData.Model.foo = "fooValue";
- helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
- // Act
- MvcHtmlString html = helper.HiddenFor(m => m.foo);
- // Assert
- Assert.Equal(@"<input id=""MyPrefix_foo"" name=""MyPrefix.foo"" type=""hidden"" value=""fooValue"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenForWithPrefixAndEmptyName()
- {
- // Arrange
- HtmlHelper<HiddenModel> helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
- // Act
- MvcHtmlString html = helper.HiddenFor(m => m);
- // Assert
- Assert.Equal(@"<input id=""MyPrefix"" name=""MyPrefix"" type=""hidden"" value=""{ foo = (null) }"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenForWithViewDataErrors()
- {
- // Arrange
- HtmlHelper<HiddenModel> helper = MvcHelper.GetHtmlHelper(GetHiddenViewDataWithErrors());
- // Act
- MvcHtmlString html = helper.HiddenFor(m => m.foo, _attributesObjectDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazObjValue"" class=""input-validation-error"" id=""foo"" name=""foo"" type=""hidden"" value=""AttemptedValueFoo"" />", html.ToHtmlString());
- }
- [Fact]
- public void HiddenForWithViewDataErrorsAndCustomClass()
- {
- // Arrange
- HtmlHelper<HiddenModel> helper = MvcHelper.GetHtmlHelper(GetHiddenViewDataWithErrors());
- // Act
- MvcHtmlString html = helper.HiddenFor(m => m.foo, new { @class = "foo-class" });
- // Assert
- Assert.Equal(@"<input class=""input-validation-error foo-class"" id=""foo"" name=""foo"" type=""hidden"" value=""AttemptedValueFoo"" />", html.ToHtmlString());
- }
- // Password
- [Fact]
- public void PasswordWithEmptyNameThrows()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act & Assert
- Assert.ThrowsArgumentNullOrEmpty(
- delegate { helper.Password(String.Empty); },
- "name");
- }
- [Fact]
- public void PasswordDictionaryOverridesImplicitParameters()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act
- MvcHtmlString html = helper.Password("foo", "Some Value", new { type = "fooType" });
- // Assert
- Assert.Equal(@"<input id=""foo"" name=""foo"" type=""fooType"" value=""Some Value"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordExplicitParametersOverrideDictionary()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act
- MvcHtmlString html = helper.Password("foo", "Some Value", new { value = "Another Value", name = "bar" });
- // Assert
- Assert.Equal(@"<input id=""foo"" name=""foo"" type=""password"" value=""Some Value"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordWithExplicitValue()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act
- MvcHtmlString html = helper.Password("foo", "DefaultFoo", (object)null);
- // Assert
- Assert.Equal(@"<input id=""foo"" name=""foo"" type=""password"" value=""DefaultFoo"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordWithExplicitValue_Unobtrusive()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- helper.ViewContext.ClientValidationEnabled = true;
- helper.ViewContext.UnobtrusiveJavaScriptEnabled = true;
- helper.ViewContext.FormContext = new FormContext();
- helper.ClientValidationRuleFactory = (name, metadata) => new[] { new ModelClientValidationRule { ValidationType = "type", ErrorMessage = "error" } };
- // Act
- MvcHtmlString html = helper.Password("foo", "DefaultFoo", (object)null);
- // Assert
- Assert.Equal(@"<input data-val=""true"" data-val-type=""error"" id=""foo"" name=""foo"" type=""password"" value=""DefaultFoo"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordWithExplicitValueAndAttributesDictionary()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act
- MvcHtmlString html = helper.Password("foo", "DefaultFoo", _attributesDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazValue"" id=""foo"" name=""foo"" type=""password"" value=""DefaultFoo"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordWithExplicitValueAndAttributesObject()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act
- MvcHtmlString html = helper.Password("foo", "DefaultFoo", _attributesObjectDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazObjValue"" id=""foo"" name=""foo"" type=""password"" value=""DefaultFoo"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordWithExplicitValueNull()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act
- MvcHtmlString html = helper.Password("foo", (string)null /* value */, (object)null);
- // Assert
- Assert.Equal(@"<input id=""foo"" name=""foo"" type=""password"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordWithImplicitValue()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act
- MvcHtmlString html = helper.Password("foo");
- // Assert
- Assert.Equal(@"<input id=""foo"" name=""foo"" type=""password"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordWithImplicitValueAndAttributesDictionary()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act
- MvcHtmlString html = helper.Password("foo", null, _attributesDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazValue"" id=""foo"" name=""foo"" type=""password"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordWithImplicitValueAndAttributesDictionaryReturnsEmptyValueIfNotFound()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act
- MvcHtmlString html = helper.Password("keyNotFound", null, _attributesDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazValue"" id=""keyNotFound"" name=""keyNotFound"" type=""password"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordWithImplicitValueAndAttributesObject()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act
- MvcHtmlString html = helper.Password("foo", null, _attributesObjectDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazObjValue"" id=""foo"" name=""foo"" type=""password"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordWithImplicitValueAndAttributesObjectWithUnderscores()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act
- MvcHtmlString html = helper.Password("foo", null, _attributesObjectUnderscoresDictionary);
- // Assert
- Assert.Equal(@"<input foo-baz=""BazObjValue"" id=""foo"" name=""foo"" type=""password"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordWithNameAndValue()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- // Act
- MvcHtmlString html = helper.Password("foo", "fooValue");
- // Assert
- Assert.Equal(@"<input id=""foo"" name=""foo"" type=""password"" value=""fooValue"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordWithPrefix()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
- // Act
- MvcHtmlString html = helper.Password("foo", "fooValue");
- // Assert
- Assert.Equal(@"<input id=""MyPrefix_foo"" name=""MyPrefix.foo"" type=""password"" value=""fooValue"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordWithPrefixAndEmptyName()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetHiddenViewData());
- helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
- // Act
- MvcHtmlString html = helper.Password("", "fooValue");
- // Assert
- Assert.Equal(@"<input id=""MyPrefix"" name=""MyPrefix"" type=""password"" value=""fooValue"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordWithNullNameThrows()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act & Assert
- Assert.ThrowsArgumentNullOrEmpty(
- delegate { helper.Password(null /* name */); },
- "name");
- }
- [Fact]
- public void PasswordWithViewDataErrors()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetPasswordViewDataWithErrors());
- // Act
- MvcHtmlString html = helper.Password("foo", null, _attributesObjectDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazObjValue"" class=""input-validation-error"" id=""foo"" name=""foo"" type=""password"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordWithViewDataErrorsAndCustomClass()
- {
- // Arrange
- HtmlHelper helper = MvcHelper.GetHtmlHelper(GetPasswordViewDataWithErrors());
- // Act
- MvcHtmlString html = helper.Password("foo", null, new { @class = "foo-class" });
- // Assert
- Assert.Equal(@"<input class=""input-validation-error foo-class"" id=""foo"" name=""foo"" type=""password"" />", html.ToHtmlString());
- }
- // PasswordFor
- [Fact]
- public void PasswordForWithNullExpressionThrows()
- {
- // Arrange
- HtmlHelper<FooModel> helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act & Assert
- Assert.ThrowsArgumentNull(
- () => helper.PasswordFor<FooModel, object>(null),
- "expression");
- }
- [Fact]
- public void PasswordForDictionaryOverridesImplicitParameters()
- {
- // Arrange
- HtmlHelper<FooModel> helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act
- MvcHtmlString html = helper.PasswordFor(m => m.foo, new { type = "fooType" });
- // Assert
- Assert.Equal(@"<input id=""foo"" name=""foo"" type=""fooType"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordForExpressionNameOverridesDictionary()
- {
- // Arrange
- HtmlHelper<FooModel> helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act
- MvcHtmlString html = helper.PasswordFor(m => m.foo, new { name = "bar" });
- // Assert
- Assert.Equal(@"<input id=""foo"" name=""foo"" type=""password"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordForWithImplicitValue()
- {
- // Arrange
- HtmlHelper<FooModel> helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act
- MvcHtmlString html = helper.PasswordFor(m => m.foo);
- // Assert
- Assert.Equal(@"<input id=""foo"" name=""foo"" type=""password"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordForWithImplicitValue_Unobtrusive()
- {
- // Arrange
- HtmlHelper<FooModel> helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- helper.ViewContext.ClientValidationEnabled = true;
- helper.ViewContext.UnobtrusiveJavaScriptEnabled = true;
- helper.ViewContext.FormContext = new FormContext();
- helper.ClientValidationRuleFactory = (name, metadata) => new[] { new ModelClientValidationRule { ValidationType = "type", ErrorMessage = "error" } };
- // Act
- MvcHtmlString html = helper.PasswordFor(m => m.foo);
- // Assert
- Assert.Equal(@"<input data-val=""true"" data-val-type=""error"" id=""foo"" name=""foo"" type=""password"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordForWithDeepValueWithNullModel_Unobtrusive()
- { // Dev10 Bug #936192
- // Arrange
- HtmlHelper<DeepContainerModel> helper = MvcHelper.GetHtmlHelper(new ViewDataDictionary<DeepContainerModel>());
- helper.ViewContext.ClientValidationEnabled = true;
- helper.ViewContext.UnobtrusiveJavaScriptEnabled = true;
- helper.ViewContext.FormContext = new FormContext();
- // Act
- MvcHtmlString html = helper.PasswordFor(m => m.contained.foo);
- // Assert
- Assert.Equal(@"<input data-val=""true"" data-val-required=""The foo field is required."" id=""contained_foo"" name=""contained.foo"" type=""password"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordForWithAttributesDictionary()
- {
- // Arrange
- HtmlHelper<FooModel> helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act
- MvcHtmlString html = helper.PasswordFor(m => m.foo, _attributesDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazValue"" id=""foo"" name=""foo"" type=""password"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordForWithAttributesObject()
- {
- // Arrange
- HtmlHelper<FooModel> helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act
- MvcHtmlString html = helper.PasswordFor(m => m.foo, _attributesObjectDictionary);
- // Assert
- Assert.Equal(@"<input baz=""BazObjValue"" id=""foo"" name=""foo"" type=""password"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordForWithAttributesObjectWithUnderscores()
- {
- // Arrange
- HtmlHelper<FooModel> helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- // Act
- MvcHtmlString html = helper.PasswordFor(m => m.foo, _attributesObjectUnderscoresDictionary);
- // Assert
- Assert.Equal(@"<input foo-baz=""BazObjValue"" id=""foo"" name=""foo"" type=""password"" />", html.ToHtmlString());
- }
- [Fact]
- public void PasswordForWithPrefix()
- {
- // Arrange
- HtmlHelper<FooModel> helper = MvcHelper.GetHtmlHelper(GetPasswordViewData());
- helper.ViewContext.ViewData.TemplateInfo.Ht