public void does_not_restore_value_for_password_field() { stateDictionary.Add("Password", new ModelState() { Value = new ValueProviderResult("foo", "foo", CultureInfo.CurrentCulture) }); var target = new ValidationBehavior(() => stateDictionary); expression = x => x.Password; var passwordField = new Password(expression.GetNameFor(), expression.GetMemberExpression(), new List<IBehaviorMarker> { target }); var element = passwordField.ToString().ShouldHaveHtmlNode("Password"); element.ShouldHaveAttribute(HtmlAttribute.Value).WithValue(""); }
public void handles_checkboxes_correctly() { stateDictionary.AddModelError("Done", "Foo"); stateDictionary["Done"].Value = new ValueProviderResult(new[] { "true", "false" }, "true", CultureInfo.CurrentCulture); var target = new ValidationBehavior(() => stateDictionary); expression = x => x.Done; var checkbox = new CheckBox(expression.GetNameFor(), expression.GetMemberExpression(), new List<IBehaviorMarker> { target }); var element = checkbox.ToString().ShouldHaveHtmlNode("Done"); element.ShouldHaveAttribute("checked").WithValue("checked"); element.ShouldHaveAttribute("value").WithValue("true"); }
public void element_with_error_renders_with_attempted_value() { stateDictionary.AddModelError("Price", "Something bad happened"); stateDictionary["Price"].Value = new ValueProviderResult("bad value", "bad value", CultureInfo.CurrentCulture); var target = new ValidationBehavior(() => stateDictionary); expression = x => x.Price; var textbox = new TextBox(expression.GetNameFor(), expression.GetMemberExpression(), new List<IBehaviorMarker> { target }); var element = textbox.ToString().ShouldHaveHtmlNode("Price"); element.ShouldHaveAttribute(HtmlAttribute.Value).WithValue("bad value"); }
protected void Establish_context(Expression<Func<FakeModel, object>> member) { behavior = new RequiredCssClassBehavior<RequiredAttribute>(); element = new TextBox(member.GetNameFor(), member.GetMemberExpression(), null); }
protected void Establish_context(Expression<Func<FakeModel, object>> member, string requiredClass) { behavior = requiredClass == null ? new RequiredCssClassBehavior() : new RequiredCssClassBehavior(requiredClass); element = new TextBox(member.GetNameFor(), member.GetMemberExpression(), null); }
public void restore_checked_from_radio_set() { stateDictionary.Add("Selection", new ModelState { Value = new ValueProviderResult((int)FakeEnum.Two, "2", CultureInfo.CurrentCulture) }); var target = new ValidationBehavior(() => stateDictionary); expression = x => x.Selection; var html = new RadioSet(expression.GetNameFor(), expression.GetMemberExpression(), new List<IBehaviorMarker> { target }).Options<FakeEnum>().ToString(); var element = html.ShouldHaveHtmlNode("Selection"); var options = element.ShouldHaveChildNodesCount(8); RadioSetTests.VerifyOption("Selection", (int)FakeEnum.Zero, FakeEnum.Zero, options[0], options[1],false); RadioSetTests.VerifyOption("Selection", (int)FakeEnum.One, FakeEnum.One, options[2], options[3],false); RadioSetTests.VerifyOption("Selection", (int)FakeEnum.Two, FakeEnum.Two, options[4], options[5],true); RadioSetTests.VerifyOption("Selection", (int)FakeEnum.Three, FakeEnum.Three, options[6], options[7],false); }
protected void Establish_context(Expression<Func<FakeModel, object>> member, string dateClass, string numberClass) { behavior = new TypeCssClassBehavior(numberClass, dateClass); element = new TextBox(member.GetNameFor(), member.GetMemberExpression(), null); }