public void ListBox_WithMultipleModelValues_GeneratesExpectedValue( IEnumerable<SelectListItem> selectList, string ignoredHtml1, string ignoredHtml2, string expectedHtml) { // Arrange var model = new ModelContainingList { Property1 = { "1", "3" } }; var helper = DefaultTemplatesUtilities.GetHtmlHelper(model); var savedSelected = selectList.Select(item => item.Selected).ToList(); // Act var html = helper.ListBox("Property1", selectList, htmlAttributes: null); // Assert Assert.Equal(expectedHtml, HtmlContentUtilities.HtmlContentToString(html)); Assert.Equal(savedSelected, selectList.Select(item => item.Selected)); }
public void ListBoxFor_WithModelValue_GeneratesExpectedValue( IEnumerable<SelectListItem> selectList, string ignoredHtml1, string expectedHtml, string ignoredHtml2) { // Arrange var model = new ModelContainingList { Property1 = { "2" } }; var helper = DefaultTemplatesUtilities.GetHtmlHelper(model); var savedSelected = selectList.Select(item => item.Selected).ToList(); // Act var html = helper.ListBoxFor(value => value.Property1, selectList, htmlAttributes: null); // Assert Assert.Equal(expectedHtml, html.ToString()); Assert.Equal(savedSelected, selectList.Select(item => item.Selected)); }
public void DropDownListFor_WithIndexerExpression_GeneratesExpectedValue() { // Arrange var model = new ModelContainingList { Property1 = { "0", "1", "2" } }; var helper = DefaultTemplatesUtilities.GetHtmlHelper(model); var selectList = SomeDisabledOneSelectedSelectList; var savedSelected = selectList.Select(item => item.Selected).ToList(); var expectedHtml = "<select id=\"HtmlEncode[[Property1_2_]]\" name=\"HtmlEncode[[Property1[2]]]\"><option value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" + Environment.NewLine + "<option disabled=\"HtmlEncode[[disabled]]\" value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine + "<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine + "<option disabled=\"HtmlEncode[[disabled]]\" value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine + "</select>"; // Act var html = helper.DropDownListFor( value => value.Property1[2], selectList, optionLabel: null, htmlAttributes: null); // Assert Assert.Equal(expectedHtml, HtmlContentUtilities.HtmlContentToString(html)); Assert.Equal(savedSelected, selectList.Select(item => item.Selected)); }
public void DropDownListFor_WithIndexerExpression_GeneratesExpectedValue() { // Arrange var model = new ModelContainingList { Property1 = { "0", "1", "2" } }; var helper = DefaultTemplatesUtilities.GetHtmlHelper(model); var selectList = SomeDisabledOneSelectedSelectList; var savedSelected = selectList.Select(item => item.Selected).ToList(); var expectedHtml = "<select id=\"Property1_2_\" name=\"Property1[2]\"><option value=\"0\">Zero</option>" + Environment.NewLine + "<option disabled=\"disabled\" value=\"1\">One</option>" + Environment.NewLine + "<option selected=\"selected\" value=\"2\">Two</option>" + Environment.NewLine + "<option disabled=\"disabled\" value=\"3\">Three</option>" + Environment.NewLine + "</select>"; // Act var html = helper.DropDownListFor( value => value.Property1[2], selectList, optionLabel: null, htmlAttributes: null); // Assert Assert.Equal(expectedHtml, html.ToString()); Assert.Equal(savedSelected, selectList.Select(item => item.Selected)); }