[Fixes #2085] Using custom HtmlEncoder in unit tests - part 2
This commit is contained in:
parent
5da8ba7769
commit
37e819ce85
|
|
@ -25,21 +25,21 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
return new TheoryData<string, bool, string>
|
||||
{
|
||||
{ "Simple Display Text", false, "Simple Display Text" },
|
||||
{ "Simple Display Text", true, "Simple Display Text" },
|
||||
{ "Simple Display Text", true, "HtmlEncode[[Simple Display Text]]" },
|
||||
{ "<blink>text</blink>", false, "<blink>text</blink>" },
|
||||
{ "<blink>text</blink>", true, "<blink>text</blink>" },
|
||||
{ "<blink>text</blink>", true, "HtmlEncode[[<blink>text</blink>]]" },
|
||||
{ "&'\"", false, "&'\"" },
|
||||
{ "&'\"", true, "&'"" },
|
||||
{ "&'\"", true, "HtmlEncode[[&'\"]]" },
|
||||
{ " ¡ÿĀ", false, " ¡ÿĀ" }, // high ASCII
|
||||
{ " ¡ÿĀ", true, " ¡ÿĀ" },
|
||||
{ " ¡ÿĀ", true, "HtmlEncode[[ ¡ÿĀ]]" },
|
||||
{ "Chinese西雅图Chars", false, "Chinese西雅图Chars" },
|
||||
{ "Chinese西雅图Chars", true, "Chinese西雅图Chars" },
|
||||
{ "Chinese西雅图Chars", true, "HtmlEncode[[Chinese西雅图Chars]]" },
|
||||
{ "UnicodeFormatChar", false, "UnicodeFormatChar" }, // class Cf
|
||||
{ "UnicodeFormatChar", true, "Unicode؃Format؃Char" },
|
||||
{ "UnicodeFormatChar", true, "HtmlEncode[[UnicodeFormatChar]]" },
|
||||
{ "UnicodeῼTitlecaseῼChar", false, "UnicodeῼTitlecaseῼChar" }, // class Lt
|
||||
{ "UnicodeῼTitlecaseῼChar", true, "UnicodeῼTitlecaseῼChar" },
|
||||
{ "UnicodeῼTitlecaseῼChar", true, "HtmlEncode[[UnicodeῼTitlecaseῼChar]]" },
|
||||
{ "UnicodeःCombiningःChar", false, "UnicodeःCombiningःChar" }, // class Mc
|
||||
{ "UnicodeःCombiningःChar", true, "UnicodeःCombiningःChar" },
|
||||
{ "UnicodeःCombiningःChar", true, "HtmlEncode[[UnicodeःCombiningःChar]]" },
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -48,11 +48,11 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
public void ObjectTemplateDisplaysSimplePropertiesOnObjectByDefault()
|
||||
{
|
||||
var expected =
|
||||
"<div class=\"display-label\">Property1</div>" + Environment.NewLine
|
||||
+ "<div class=\"display-field\">Model = p1, ModelType = System.String, PropertyName = Property1," +
|
||||
"<div class=\"HtmlEncode[[display-label]]\">HtmlEncode[[Property1]]</div>" + Environment.NewLine
|
||||
+ "<div class=\"HtmlEncode[[display-field]]\">Model = p1, ModelType = System.String, PropertyName = Property1," +
|
||||
" SimpleDisplayText = p1</div>" + Environment.NewLine
|
||||
+ "<div class=\"display-label\">Property2</div>" + Environment.NewLine
|
||||
+ "<div class=\"display-field\">Model = (null), ModelType = System.String, PropertyName = Property2," +
|
||||
+ "<div class=\"HtmlEncode[[display-label]]\">HtmlEncode[[Property2]]</div>" + Environment.NewLine
|
||||
+ "<div class=\"HtmlEncode[[display-field]]\">Model = (null), ModelType = System.String, PropertyName = Property2," +
|
||||
" SimpleDisplayText = (null)</div>" + Environment.NewLine;
|
||||
|
||||
// Arrange
|
||||
|
|
@ -120,10 +120,10 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
{
|
||||
// Arrange
|
||||
var expected =
|
||||
@"<div class=""display-label"">Property1</div>
|
||||
<div class=""display-field""></div>
|
||||
<div class=""display-label"">Property3</div>
|
||||
<div class=""display-field""></div>
|
||||
@"<div class=""HtmlEncode[[display-label]]"">HtmlEncode[[Property1]]</div>
|
||||
<div class=""HtmlEncode[[display-field]]"">HtmlEncode[[]]</div>
|
||||
<div class=""HtmlEncode[[display-label]]"">HtmlEncode[[Property3]]</div>
|
||||
<div class=""HtmlEncode[[display-field]]"">HtmlEncode[[]]</div>
|
||||
";
|
||||
var model = new DefaultTemplatesUtilities.ObjectWithScaffoldColumn();
|
||||
var viewEngine = new Mock<ICompositeViewEngine>();
|
||||
|
|
@ -144,8 +144,8 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
// 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," +
|
||||
"<div class=\"HtmlEncode[[display-label]]\">HtmlEncode[[Property2]]</div>" + Environment.NewLine +
|
||||
"<div class=\"HtmlEncode[[display-field]]\">Model = (null), ModelType = System.String, PropertyName = Property2," +
|
||||
" SimpleDisplayText = (null)</div>" + Environment.NewLine;
|
||||
|
||||
var model = new DefaultTemplatesUtilities.ObjectTemplateModel { Property1 = "p1", Property2 = null };
|
||||
|
|
@ -187,13 +187,13 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
{
|
||||
var label = string.Format(
|
||||
CultureInfo.InvariantCulture,
|
||||
"<div class=\"display-label\">{0}</div>",
|
||||
"<div class=\"HtmlEncode[[display-label]]\">HtmlEncode[[{0}]]</div>",
|
||||
property);
|
||||
stringBuilder.AppendLine(label);
|
||||
|
||||
var value = string.Format(
|
||||
CultureInfo.InvariantCulture,
|
||||
"<div class=\"display-field\">Model = (null), ModelType = System.String, PropertyName = {0}, " +
|
||||
"<div class=\"HtmlEncode[[display-field]]\">Model = (null), ModelType = System.String, PropertyName = {0}, " +
|
||||
"SimpleDisplayText = (null)</div>",
|
||||
property);
|
||||
stringBuilder.AppendLine(value);
|
||||
|
|
@ -223,7 +223,7 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
var result = DefaultDisplayTemplates.HiddenInputTemplate(html);
|
||||
|
||||
// Assert
|
||||
Assert.Equal("Formatted string", result);
|
||||
Assert.Equal("HtmlEncode[[Formatted string]]", result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -268,7 +268,7 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
var result = helper.Display("Property1");
|
||||
|
||||
// Assert
|
||||
Assert.Equal("ViewData string", result.ToString());
|
||||
Assert.Equal("HtmlEncode[[ViewData string]]", result.ToString());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -287,7 +287,7 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
var result = helper.DisplayFor(m => m.Property1);
|
||||
|
||||
// Assert
|
||||
Assert.Equal("Model string", result.ToString());
|
||||
Assert.Equal("HtmlEncode[[Model string]]", result.ToString());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -305,7 +305,7 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
var result = helper.Display("Property1");
|
||||
|
||||
// Assert
|
||||
Assert.Equal("Model string", result.ToString());
|
||||
Assert.Equal("HtmlEncode[[Model string]]", result.ToString());
|
||||
}
|
||||
|
||||
[Theory]
|
||||
|
|
@ -326,7 +326,7 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
var result = helper.DisplayFor(m => m.Property1);
|
||||
|
||||
// Assert
|
||||
Assert.Empty(result.ToString());
|
||||
Assert.Equal("HtmlEncode[[]]", result.ToString());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
|
|||
|
|
@ -34,8 +34,8 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
{ string.Empty, "__TextBox__ class='text-box single-line'" },
|
||||
{ "EmailAddress", "__TextBox__ class='text-box single-line' type='email'" },
|
||||
{ "emailaddress", "__TextBox__ class='text-box single-line' type='email'" },
|
||||
{ "HiddenInput", "True__Hidden__" }, // Hidden also generates value by default.
|
||||
{ "HIDDENINPUT", "True__Hidden__" },
|
||||
{ "HiddenInput", "HtmlEncode[[True]]__Hidden__" }, // Hidden also generates value by default.
|
||||
{ "HIDDENINPUT", "HtmlEncode[[True]]__Hidden__" },
|
||||
{ "MultilineText", "__TextArea__ class='text-box multi-line'" },
|
||||
{ "multilinetext", "__TextArea__ class='text-box multi-line'" },
|
||||
{ "Password", "__Password__ class='text-box single-line password'" },
|
||||
|
|
@ -91,15 +91,15 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
public void ObjectTemplateEditsSimplePropertiesOnObjectByDefault()
|
||||
{
|
||||
var expected =
|
||||
"<div class=\"editor-label\"><label for=\"Property1\">Property1</label></div>" + Environment.NewLine
|
||||
+ "<div class=\"editor-field\">Model = p1, ModelType = System.String, PropertyName = Property1," +
|
||||
"<div class=\"HtmlEncode[[editor-label]]\"><label for=\"HtmlEncode[[Property1]]\">HtmlEncode[[Property1]]</label></div>" + Environment.NewLine
|
||||
+ "<div class=\"HtmlEncode[[editor-field]]\">Model = p1, ModelType = System.String, PropertyName = Property1," +
|
||||
" SimpleDisplayText = p1 " +
|
||||
"<span class=\"field-validation-valid\" data-valmsg-for=\"Property1\" data-valmsg-replace=\"true\">" +
|
||||
"<span class=\"HtmlEncode[[field-validation-valid]]\" data-valmsg-for=\"HtmlEncode[[Property1]]\" data-valmsg-replace=\"HtmlEncode[[true]]\">" +
|
||||
"</span></div>" + Environment.NewLine
|
||||
+ "<div class=\"editor-label\"><label for=\"Property2\">Property2</label></div>" + Environment.NewLine
|
||||
+ "<div class=\"editor-field\">Model = (null), ModelType = System.String, PropertyName = Property2," +
|
||||
+ "<div class=\"HtmlEncode[[editor-label]]\"><label for=\"HtmlEncode[[Property2]]\">HtmlEncode[[Property2]]</label></div>" + Environment.NewLine
|
||||
+ "<div class=\"HtmlEncode[[editor-field]]\">Model = (null), ModelType = System.String, PropertyName = Property2," +
|
||||
" SimpleDisplayText = (null) " +
|
||||
"<span class=\"field-validation-valid\" data-valmsg-for=\"Property2\" data-valmsg-replace=\"true\">" +
|
||||
"<span class=\"HtmlEncode[[field-validation-valid]]\" data-valmsg-for=\"HtmlEncode[[Property2]]\" data-valmsg-replace=\"HtmlEncode[[true]]\">" +
|
||||
"</span></div>" + Environment.NewLine;
|
||||
|
||||
// Arrange
|
||||
|
|
@ -174,15 +174,15 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
{
|
||||
// Arrange
|
||||
var expected =
|
||||
@"<div class=""editor-label""><label for=""Property1"">Property1</label></div>" +
|
||||
@"<div class=""HtmlEncode[[editor-label]]""><label for=""HtmlEncode[[Property1]]"">HtmlEncode[[Property1]]</label></div>" +
|
||||
Environment.NewLine +
|
||||
@"<div class=""editor-field""><input class=""text-box single-line"" id=""Property1"" name=""Property1"" type=""text"" value="""" /> " +
|
||||
@"<span class=""field-validation-valid"" data-valmsg-for=""Property1"" data-valmsg-replace=""true""></span></div>" +
|
||||
@"<div class=""HtmlEncode[[editor-field]]""><input class=""HtmlEncode[[text-box single-line]]"" id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[text]]"" value="""" /> " +
|
||||
@"<span class=""HtmlEncode[[field-validation-valid]]"" data-valmsg-for=""HtmlEncode[[Property1]]"" data-valmsg-replace=""HtmlEncode[[true]]""></span></div>" +
|
||||
Environment.NewLine +
|
||||
@"<div class=""editor-label""><label for=""Property3"">Property3</label></div>" +
|
||||
@"<div class=""HtmlEncode[[editor-label]]""><label for=""HtmlEncode[[Property3]]"">HtmlEncode[[Property3]]</label></div>" +
|
||||
Environment.NewLine +
|
||||
@"<div class=""editor-field""><input class=""text-box single-line"" id=""Property3"" name=""Property3"" type=""text"" value="""" /> " +
|
||||
@"<span class=""field-validation-valid"" data-valmsg-for=""Property3"" data-valmsg-replace=""true""></span></div>" +
|
||||
@"<div class=""HtmlEncode[[editor-field]]""><input class=""HtmlEncode[[text-box single-line]]"" id=""HtmlEncode[[Property3]]"" name=""HtmlEncode[[Property3]]"" type=""HtmlEncode[[text]]"" value="""" /> " +
|
||||
@"<span class=""HtmlEncode[[field-validation-valid]]"" data-valmsg-for=""HtmlEncode[[Property3]]"" data-valmsg-replace=""HtmlEncode[[true]]""></span></div>" +
|
||||
Environment.NewLine;
|
||||
|
||||
var model = new DefaultTemplatesUtilities.ObjectWithScaffoldColumn();
|
||||
|
|
@ -204,11 +204,11 @@ Environment.NewLine;
|
|||
// Arrange
|
||||
var expected =
|
||||
"Model = p1, ModelType = System.String, PropertyName = Property1, SimpleDisplayText = p1" +
|
||||
"<div class=\"editor-label\"><label for=\"Property2\">Property2</label></div>" +
|
||||
"<div class=\"HtmlEncode[[editor-label]]\"><label for=\"HtmlEncode[[Property2]]\">HtmlEncode[[Property2]]</label></div>" +
|
||||
Environment.NewLine +
|
||||
"<div class=\"editor-field\">" +
|
||||
"<div class=\"HtmlEncode[[editor-field]]\">" +
|
||||
"Model = (null), ModelType = System.String, PropertyName = Property2, SimpleDisplayText = (null) " +
|
||||
"<span class=\"field-validation-valid\" data-valmsg-for=\"Property2\" data-valmsg-replace=\"true\">" +
|
||||
"<span class=\"HtmlEncode[[field-validation-valid]]\" data-valmsg-for=\"HtmlEncode[[Property2]]\" data-valmsg-replace=\"HtmlEncode[[true]]\">" +
|
||||
"</span></div>" +
|
||||
Environment.NewLine;
|
||||
|
||||
|
|
@ -250,15 +250,15 @@ Environment.NewLine;
|
|||
{
|
||||
var label = string.Format(
|
||||
CultureInfo.InvariantCulture,
|
||||
"<div class=\"editor-label\"><label for=\"{0}\">{0}</label></div>",
|
||||
"<div class=\"HtmlEncode[[editor-label]]\"><label for=\"HtmlEncode[[{0}]]\">HtmlEncode[[{0}]]</label></div>",
|
||||
property);
|
||||
stringBuilder.AppendLine(label);
|
||||
|
||||
var value = string.Format(
|
||||
CultureInfo.InvariantCulture,
|
||||
"<div class=\"editor-field\">Model = (null), ModelType = System.String, PropertyName = {0}, " +
|
||||
"<div class=\"HtmlEncode[[editor-field]]\">Model = (null), ModelType = System.String, PropertyName = {0}, " +
|
||||
"SimpleDisplayText = (null) " +
|
||||
"<span class=\"field-validation-valid\" data-valmsg-for=\"{0}\" data-valmsg-replace=\"true\">" +
|
||||
"<span class=\"HtmlEncode[[field-validation-valid]]\" data-valmsg-for=\"HtmlEncode[[{0}]]\" data-valmsg-replace=\"HtmlEncode[[true]]\">" +
|
||||
"</span></div>",
|
||||
property);
|
||||
stringBuilder.AppendLine(value);
|
||||
|
|
@ -277,7 +277,7 @@ Environment.NewLine;
|
|||
{
|
||||
// Arrange
|
||||
var expected =
|
||||
"Formatted string<input id=\"FieldPrefix\" name=\"FieldPrefix\" type=\"hidden\" value=\"Model string\" />";
|
||||
"HtmlEncode[[Formatted string]]<input id=\"HtmlEncode[[FieldPrefix]]\" name=\"HtmlEncode[[FieldPrefix]]\" type=\"HtmlEncode[[hidden]]\" value=\"HtmlEncode[[Model string]]\" />";
|
||||
|
||||
var model = "Model string";
|
||||
var html = DefaultTemplatesUtilities.GetHtmlHelper(model);
|
||||
|
|
@ -298,7 +298,7 @@ Environment.NewLine;
|
|||
public void HiddenInputTemplate_HonoursHideSurroundingHtml()
|
||||
{
|
||||
// Arrange
|
||||
var expected = "<input id=\"FieldPrefix\" name=\"FieldPrefix\" type=\"hidden\" value=\"Model string\" />";
|
||||
var expected = "<input id=\"HtmlEncode[[FieldPrefix]]\" name=\"HtmlEncode[[FieldPrefix]]\" type=\"HtmlEncode[[hidden]]\" value=\"HtmlEncode[[Model string]]\" />";
|
||||
|
||||
var model = "Model string";
|
||||
|
||||
|
|
@ -326,9 +326,9 @@ Environment.NewLine;
|
|||
{
|
||||
// Arrange
|
||||
var expected =
|
||||
"<textarea class=\"text-box multi-line\" id=\"FieldPrefix\" name=\"FieldPrefix\">" +
|
||||
"<textarea class=\"HtmlEncode[[text-box multi-line]]\" id=\"HtmlEncode[[FieldPrefix]]\" name=\"HtmlEncode[[FieldPrefix]]\">" +
|
||||
Environment.NewLine +
|
||||
"Formatted string</textarea>";
|
||||
"HtmlEncode[[Formatted string]]</textarea>";
|
||||
|
||||
var model = "Model string";
|
||||
var html = DefaultTemplatesUtilities.GetHtmlHelper(model);
|
||||
|
|
@ -575,22 +575,22 @@ Environment.NewLine;
|
|||
|
||||
// Assert
|
||||
Assert.Equal(
|
||||
"<input class=\"text-box single-line\" id=\"Property1\" name=\"Property1\" type=\"text\" value=\"ViewData string\" />",
|
||||
"<input class=\"HtmlEncode[[text-box single-line]]\" id=\"HtmlEncode[[Property1]]\" name=\"HtmlEncode[[Property1]]\" type=\"HtmlEncode[[text]]\" value=\"HtmlEncode[[ViewData string]]\" />",
|
||||
result.ToString());
|
||||
}
|
||||
|
||||
// DateTime-local is not special-cased unless using Html5DateRenderingMode.Rfc3339.
|
||||
[Theory]
|
||||
[InlineData("date", "{0:d}", "02/01/2000")]
|
||||
[InlineData("datetime", null, "02/01/2000 03:04:05 +00:00")]
|
||||
[InlineData("datetime-local", null, "02/01/2000 03:04:05 +00:00")]
|
||||
[InlineData("datetime", null, "02/01/2000 03:04:05 +00:00")]
|
||||
[InlineData("datetime-local", null, "02/01/2000 03:04:05 +00:00")]
|
||||
[InlineData("time", "{0:t}", "03:04")]
|
||||
[ReplaceCulture]
|
||||
public void Editor_FindsCorrectDateOrTimeTemplate(string dataTypeName, string editFormatString, string expected)
|
||||
{
|
||||
// Arrange
|
||||
var expectedInput = "<input class=\"text-box single-line\" id=\"FieldPrefix\" name=\"FieldPrefix\" type=\"" +
|
||||
dataTypeName + "\" value=\"" + expected + "\" />";
|
||||
var expectedInput = "<input class=\"HtmlEncode[[text-box single-line]]\" id=\"HtmlEncode[[FieldPrefix]]\" name=\"HtmlEncode[[FieldPrefix]]\" type=\"HtmlEncode[[" +
|
||||
dataTypeName + "]]\" value=\"HtmlEncode[[" + expected + "]]\" />";
|
||||
var offset = TimeSpan.FromHours(0);
|
||||
var model = new DateTimeOffset(
|
||||
year: 2000,
|
||||
|
|
@ -629,15 +629,15 @@ Environment.NewLine;
|
|||
|
||||
[Theory]
|
||||
[InlineData("date", "{0:d}", "2000-01-02")]
|
||||
[InlineData("datetime", null, "2000-01-02T03:04:05.060+00:00")]
|
||||
[InlineData("datetime", null, "2000-01-02T03:04:05.060+00:00")]
|
||||
[InlineData("datetime-local", null, "2000-01-02T03:04:05.060")]
|
||||
[InlineData("time", "{0:t}", "03:04:05.060")]
|
||||
[ReplaceCulture]
|
||||
public void Editor_AppliesRfc3339(string dataTypeName, string editFormatString, string expected)
|
||||
{
|
||||
// Arrange
|
||||
var expectedInput = "<input class=\"text-box single-line\" id=\"FieldPrefix\" name=\"FieldPrefix\" type=\"" +
|
||||
dataTypeName + "\" value=\"" + expected + "\" />";
|
||||
var expectedInput = "<input class=\"HtmlEncode[[text-box single-line]]\" id=\"HtmlEncode[[FieldPrefix]]\" name=\"HtmlEncode[[FieldPrefix]]\" type=\"HtmlEncode[[" +
|
||||
dataTypeName + "]]\" value=\"HtmlEncode[[" + expected + "]]\" />";
|
||||
|
||||
// Place DateTime-local value in current timezone.
|
||||
var offset = string.Equals("", dataTypeName) ? DateTimeOffset.Now.Offset : TimeSpan.FromHours(0);
|
||||
|
|
@ -689,8 +689,8 @@ Environment.NewLine;
|
|||
public void Editor_AppliesNonDefaultEditFormat(string dataTypeName, Html5DateRenderingMode renderingMode)
|
||||
{
|
||||
// Arrange
|
||||
var expectedInput = "<input class=\"text-box single-line\" id=\"FieldPrefix\" name=\"FieldPrefix\" type=\"" +
|
||||
dataTypeName + "\" value=\"Formatted as 2000-01-02T03:04:05.0600000+00:00\" />";
|
||||
var expectedInput = "<input class=\"HtmlEncode[[text-box single-line]]\" id=\"HtmlEncode[[FieldPrefix]]\" name=\"HtmlEncode[[FieldPrefix]]\" type=\"HtmlEncode[[" +
|
||||
dataTypeName + "]]\" value=\"HtmlEncode[[Formatted as 2000-01-02T03:04:05.0600000+00:00]]\" />";
|
||||
var offset = TimeSpan.FromHours(0);
|
||||
var model = new DateTimeOffset(
|
||||
year: 2000,
|
||||
|
|
@ -748,7 +748,7 @@ Environment.NewLine;
|
|||
|
||||
// Assert
|
||||
Assert.Equal(
|
||||
"<input class=\"text-box single-line\" id=\"Property1\" name=\"Property1\" type=\"text\" value=\"Model string\" />",
|
||||
"<input class=\"HtmlEncode[[text-box single-line]]\" id=\"HtmlEncode[[Property1]]\" name=\"HtmlEncode[[Property1]]\" type=\"HtmlEncode[[text]]\" value=\"HtmlEncode[[Model string]]\" />",
|
||||
result.ToString());
|
||||
}
|
||||
|
||||
|
|
@ -768,7 +768,7 @@ Environment.NewLine;
|
|||
|
||||
// Assert
|
||||
Assert.Equal(
|
||||
"<input class=\"text-box single-line\" id=\"Property1\" name=\"Property1\" type=\"text\" value=\"Model string\" />",
|
||||
"<input class=\"HtmlEncode[[text-box single-line]]\" id=\"HtmlEncode[[Property1]]\" name=\"HtmlEncode[[Property1]]\" type=\"HtmlEncode[[text]]\" value=\"HtmlEncode[[Model string]]\" />",
|
||||
result.ToString());
|
||||
}
|
||||
|
||||
|
|
@ -791,7 +791,7 @@ Environment.NewLine;
|
|||
|
||||
// Assert
|
||||
Assert.Equal(
|
||||
"<input class=\"text-box single-line\" id=\"Property1\" name=\"Property1\" type=\"text\" value=\"\" />",
|
||||
"<input class=\"HtmlEncode[[text-box single-line]]\" id=\"HtmlEncode[[Property1]]\" name=\"HtmlEncode[[Property1]]\" type=\"HtmlEncode[[text]]\" value=\"\" />",
|
||||
result.ToString());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ using Microsoft.AspNet.Mvc.ModelBinding.Validation;
|
|||
using Microsoft.AspNet.Routing;
|
||||
using Microsoft.Framework.OptionsModel;
|
||||
using Microsoft.Framework.WebEncoders;
|
||||
using Microsoft.Framework.WebEncoders.Testing;
|
||||
using Moq;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.Rendering
|
||||
|
|
@ -193,7 +194,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
optionsAccessor.Object,
|
||||
provider,
|
||||
urlHelper,
|
||||
new HtmlEncoder());
|
||||
new CommonTestEncoder());
|
||||
}
|
||||
|
||||
// TemplateRenderer will Contextualize this transient service.
|
||||
|
|
@ -201,7 +202,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
htmlGenerator,
|
||||
viewEngine,
|
||||
provider,
|
||||
new HtmlEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new UrlEncoder(),
|
||||
new JavaScriptStringEncoder());
|
||||
if (innerHelperWrapper != null)
|
||||
|
|
@ -216,7 +217,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
htmlGenerator,
|
||||
viewEngine,
|
||||
provider,
|
||||
new HtmlEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new UrlEncoder(),
|
||||
new JavaScriptStringEncoder());
|
||||
var viewContext = new ViewContext(actionContext, Mock.Of<IView>(), viewData, null, new StringWriter());
|
||||
|
|
@ -267,7 +268,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
dataProtectionProvider.Object,
|
||||
additionalDataProvider.Object,
|
||||
optionsAccessor.Object,
|
||||
new HtmlEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
mockDataProtectionOptions.Object);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,8 +17,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void CheckBoxOverridesCalculatedValuesWithValuesFromHtmlAttributes()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input checked=""checked"" id=""Property3"" name=""Property3"" type=""checkbox"" " +
|
||||
@"value=""false"" /><input name=""Property3"" type=""hidden"" value=""false"" />";
|
||||
var expected = @"<input checked=""HtmlEncode[[checked]]"" id=""HtmlEncode[[Property3]]"" name=""HtmlEncode[[Property3]]"" type=""HtmlEncode[[checkbox]]"" " +
|
||||
@"value=""HtmlEncode[[false]]"" /><input name=""HtmlEncode[[Property3]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[false]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetTestModelViewData());
|
||||
|
||||
// Act
|
||||
|
|
@ -34,8 +34,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void CheckBoxExplicitParametersOverrideDictionary_ForValueInModel()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input checked=""checked"" id=""Property3"" name=""Property3"" type=""checkbox"" " +
|
||||
@"value=""false"" /><input name=""Property3"" type=""hidden"" value=""false"" />";
|
||||
var expected = @"<input checked=""HtmlEncode[[checked]]"" id=""HtmlEncode[[Property3]]"" name=""HtmlEncode[[Property3]]"" type=""HtmlEncode[[checkbox]]"" " +
|
||||
@"value=""HtmlEncode[[false]]"" /><input name=""HtmlEncode[[Property3]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[false]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetTestModelViewData());
|
||||
|
||||
// Act
|
||||
|
|
@ -51,8 +51,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void CheckBoxExplicitParametersOverrideDictionary_ForNullModel()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input checked=""checked"" id=""foo"" name=""foo"" type=""checkbox"" value=""false"" />" +
|
||||
@"<input name=""foo"" type=""hidden"" value=""false"" />";
|
||||
var expected = @"<input checked=""HtmlEncode[[checked]]"" id=""HtmlEncode[[foo]]"" name=""HtmlEncode[[foo]]"" type=""HtmlEncode[[checkbox]]"" value=""HtmlEncode[[false]]"" />" +
|
||||
@"<input name=""HtmlEncode[[foo]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[false]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper();
|
||||
|
||||
// Act
|
||||
|
|
@ -81,8 +81,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void CheckBoxCheckedWithOnlyName()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input checked=""checked"" id=""Property1"" name=""Property1"" type=""checkbox"" " +
|
||||
@"value=""true"" /><input name=""Property1"" type=""hidden"" value=""false"" />";
|
||||
var expected = @"<input checked=""HtmlEncode[[checked]]"" id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[checkbox]]"" " +
|
||||
@"value=""HtmlEncode[[true]]"" /><input name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[false]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetTestModelViewData());
|
||||
|
||||
// Act
|
||||
|
|
@ -96,8 +96,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void CheckBoxUsesAttemptedValueFromModelState()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" name=""Property1"" type=""checkbox"" value=""true"" />" +
|
||||
@"<input name=""Property1"" type=""hidden"" value=""false"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[checkbox]]"" value=""HtmlEncode[[true]]"" />" +
|
||||
@"<input name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[false]]"" />";
|
||||
var valueProviderResult = new ValueProviderResult("false", "false", CultureInfo.InvariantCulture);
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetTestModelViewData());
|
||||
helper.ViewData.ModelState.SetModelValue("Property1", valueProviderResult);
|
||||
|
|
@ -113,9 +113,9 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void CheckBoxGeneratesUnobtrusiveValidationAttributes()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input data-val=""true"" data-val-required=""The Name field is required."" id=""Name""" +
|
||||
@" name=""Name"" type=""checkbox"" value=""true"" />" +
|
||||
@"<input name=""Name"" type=""hidden"" value=""false"" />";
|
||||
var expected = @"<input data-val=""HtmlEncode[[true]]"" data-val-required=""HtmlEncode[[The Name field is required.]]"" id=""HtmlEncode[[Name]]""" +
|
||||
@" name=""HtmlEncode[[Name]]"" type=""HtmlEncode[[checkbox]]"" value=""HtmlEncode[[true]]"" />" +
|
||||
@"<input name=""HtmlEncode[[Name]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[false]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetModelWithValidationViewData());
|
||||
|
||||
// Act
|
||||
|
|
@ -129,9 +129,9 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void CheckBoxReplacesUnderscoresInHtmlAttributesWithDashes()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input checked=""checked"" id=""Property1"" name=""Property1"" " +
|
||||
@"Property1-Property3=""Property3ObjValue"" type=""checkbox"" value=""true"" /><input " +
|
||||
@"name=""Property1"" type=""hidden"" value=""false"" />";
|
||||
var expected = @"<input checked=""HtmlEncode[[checked]]"" id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" " +
|
||||
@"Property1-Property3=""HtmlEncode[[Property3ObjValue]]"" type=""HtmlEncode[[checkbox]]"" value=""HtmlEncode[[true]]"" /><input " +
|
||||
@"name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[false]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetTestModelViewData());
|
||||
var htmlAttributes = new { Property1_Property3 = "Property3ObjValue" };
|
||||
|
||||
|
|
@ -146,9 +146,9 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void CheckBoxWithPrefix_ReplaceDotsInIdByDefaultWithUnderscores()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""MyPrefix_Property1"" name=""MyPrefix.Property1"" " +
|
||||
@"Property3=""Property3Value"" type=""checkbox"" value=""true"" /><input " +
|
||||
@"name=""MyPrefix.Property1"" type=""hidden"" value=""false"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[MyPrefix_Property1]]"" name=""HtmlEncode[[MyPrefix.Property1]]"" " +
|
||||
@"Property3=""HtmlEncode[[Property3Value]]"" type=""HtmlEncode[[checkbox]]"" value=""HtmlEncode[[true]]"" /><input " +
|
||||
@"name=""HtmlEncode[[MyPrefix.Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[false]]"" />";
|
||||
var dictionary = new RouteValueDictionary(new { Property3 = "Property3Value" });
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper();
|
||||
helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
|
||||
|
|
@ -164,9 +164,9 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void CheckBoxWithPrefix_ReplacesDotsInIdWithIdDotReplacement()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""MyPrefix!!!Property1"" name=""MyPrefix.Property1"" " +
|
||||
@"Property3=""Property3Value"" type=""checkbox"" value=""true"" /><input " +
|
||||
@"name=""MyPrefix.Property1"" type=""hidden"" value=""false"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[MyPrefix!!!Property1]]"" name=""HtmlEncode[[MyPrefix.Property1]]"" " +
|
||||
@"Property3=""HtmlEncode[[Property3Value]]"" type=""HtmlEncode[[checkbox]]"" value=""HtmlEncode[[true]]"" /><input " +
|
||||
@"name=""HtmlEncode[[MyPrefix.Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[false]]"" />";
|
||||
var dictionary = new Dictionary<string, object> { { "Property3", "Property3Value" } };
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper();
|
||||
helper.IdAttributeDotReplacement = "!!!";
|
||||
|
|
@ -183,9 +183,9 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void CheckBoxWithPrefixAndEmptyName()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""MyPrefix"" name=""MyPrefix"" Property3=""Property3Value"" " +
|
||||
@"type=""checkbox"" value=""true"" /><input name=""MyPrefix"" type=""hidden"" " +
|
||||
@"value=""false"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[MyPrefix]]"" name=""HtmlEncode[[MyPrefix]]"" Property3=""HtmlEncode[[Property3Value]]"" " +
|
||||
@"type=""HtmlEncode[[checkbox]]"" value=""HtmlEncode[[true]]"" /><input name=""HtmlEncode[[MyPrefix]]"" type=""HtmlEncode[[hidden]]"" " +
|
||||
@"value=""HtmlEncode[[false]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(model: false);
|
||||
var attributes = new Dictionary<string, object> { { "Property3", "Property3Value" } };
|
||||
helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
|
||||
|
|
@ -201,9 +201,9 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void CheckBoxWithComplexExpressionsEvaluatesValuesInViewDataDictionary()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input checked=""checked"" id=""ComplexProperty_Property1"" name=""ComplexProperty." +
|
||||
@"Property1"" type=""checkbox"" value=""true"" /><input name=""ComplexProperty.Property1""" +
|
||||
@" type=""hidden"" value=""false"" />";
|
||||
var expected = @"<input checked=""HtmlEncode[[checked]]"" id=""HtmlEncode[[ComplexProperty_Property1]]"" name=""HtmlEncode[[ComplexProperty." +
|
||||
@"Property1]]"" type=""HtmlEncode[[checkbox]]"" value=""HtmlEncode[[true]]"" /><input name=""HtmlEncode[[ComplexProperty.Property1]]""" +
|
||||
@" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[false]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetModelWithValidationViewData());
|
||||
|
||||
// Act
|
||||
|
|
@ -217,8 +217,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void CheckBoxForWithNullContainer_TreatsBooleanAsFalse()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" name=""Property1"" type=""checkbox"" value=""true"" />" +
|
||||
@"<input name=""Property1"" type=""hidden"" value=""false"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[checkbox]]"" value=""HtmlEncode[[true]]"" />" +
|
||||
@"<input name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[false]]"" />";
|
||||
var viewData = GetTestModelViewData();
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(viewData);
|
||||
var valueProviderResult = new ValueProviderResult("false", "false", CultureInfo.InvariantCulture);
|
||||
|
|
@ -233,12 +233,12 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
|
||||
[Theory]
|
||||
[InlineData(false, "")]
|
||||
[InlineData(true, "checked=\"checked\" ")]
|
||||
[InlineData(true, "checked=\"HtmlEncode[[checked]]\" ")]
|
||||
public void CheckBoxForWithNonNullContainer_UsesPropertyValue(bool value, string expectedChecked)
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input {0}id=""Property1"" name=""Property1"" type=""checkbox"" value=""true"" />" +
|
||||
@"<input name=""Property1"" type=""hidden"" value=""false"" />";
|
||||
var expected = @"<input {0}id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[checkbox]]"" value=""HtmlEncode[[true]]"" />" +
|
||||
@"<input name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[false]]"" />";
|
||||
expected = string.Format(expected, expectedChecked);
|
||||
|
||||
var viewData = GetTestModelViewData();
|
||||
|
|
@ -260,8 +260,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void CheckBoxForOverridesCalculatedParametersWithValuesFromHtmlAttributes()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input checked=""checked"" id=""Property3"" name=""Property3"" type=""checkbox"" " +
|
||||
@"value=""false"" /><input name=""Property3"" type=""hidden"" value=""false"" />";
|
||||
var expected = @"<input checked=""HtmlEncode[[checked]]"" id=""HtmlEncode[[Property3]]"" name=""HtmlEncode[[Property3]]"" type=""HtmlEncode[[checkbox]]"" " +
|
||||
@"value=""HtmlEncode[[false]]"" /><input name=""HtmlEncode[[Property3]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[false]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetTestModelViewData());
|
||||
|
||||
// Act
|
||||
|
|
@ -275,9 +275,9 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void CheckBoxForGeneratesUnobtrusiveValidationAttributes()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input data-val=""true"" data-val-required=""The Name field is required."" id=""Name""" +
|
||||
@" name=""Name"" type=""checkbox"" value=""true"" />" +
|
||||
@"<input name=""Name"" type=""hidden"" value=""false"" />";
|
||||
var expected = @"<input data-val=""HtmlEncode[[true]]"" data-val-required=""HtmlEncode[[The Name field is required.]]"" id=""HtmlEncode[[Name]]""" +
|
||||
@" name=""HtmlEncode[[Name]]"" type=""HtmlEncode[[checkbox]]"" value=""HtmlEncode[[true]]"" />" +
|
||||
@"<input name=""HtmlEncode[[Name]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[false]]"" />";
|
||||
var metadataProvider = TestModelMetadataProvider.CreateDefaultProvider();
|
||||
var viewDataDictionary = new ViewDataDictionary<ModelWithValidation>(metadataProvider)
|
||||
{
|
||||
|
|
@ -294,12 +294,12 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
|
||||
[Theory]
|
||||
[InlineData("false", "")]
|
||||
[InlineData("true", "checked=\"checked\" ")]
|
||||
[InlineData("true", "checked=\"HtmlEncode[[checked]]\" ")]
|
||||
public void CheckBoxFor_UsesModelStateAttemptedValue(string attemptedValue, string expectedChecked)
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input {0}id=""Property1"" name=""Property1"" type=""checkbox"" value=""true"" />" +
|
||||
@"<input name=""Property1"" type=""hidden"" value=""false"" />";
|
||||
var expected = @"<input {0}id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[checkbox]]"" value=""HtmlEncode[[true]]"" />" +
|
||||
@"<input name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[false]]"" />";
|
||||
expected = string.Format(expected, expectedChecked);
|
||||
|
||||
var viewData = GetTestModelViewData();
|
||||
|
|
@ -319,9 +319,9 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void CheckBoxFor_WithObjectAttribute_MapsUnderscoresInNamesToDashes()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" name=""Property1"" " +
|
||||
@"Property1-Property3=""Property3ObjValue"" type=""checkbox"" value=""true"" /><input " +
|
||||
@"name=""Property1"" type=""hidden"" value=""false"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" " +
|
||||
@"Property1-Property3=""HtmlEncode[[Property3ObjValue]]"" type=""HtmlEncode[[checkbox]]"" value=""HtmlEncode[[true]]"" /><input " +
|
||||
@"name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[false]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetTestModelViewData());
|
||||
var htmlAttributes = new { Property1_Property3 = "Property3ObjValue" };
|
||||
|
||||
|
|
@ -336,9 +336,9 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void CheckBoxForWith_AttributeDictionary_GeneratesExpectedAttributes()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" name=""Property1"" " +
|
||||
@"Property3=""Property3Value"" type=""checkbox"" value=""true"" /><input " +
|
||||
@"name=""Property1"" type=""hidden"" value=""false"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" " +
|
||||
@"Property3=""HtmlEncode[[Property3Value]]"" type=""HtmlEncode[[checkbox]]"" value=""HtmlEncode[[true]]"" /><input " +
|
||||
@"name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[false]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetTestModelViewData());
|
||||
var attributes = new Dictionary<string, object> { { "Property3", "Property3Value" } };
|
||||
|
||||
|
|
@ -353,9 +353,9 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void CheckBoxForWithPrefix()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""MyPrefix_Property1"" name=""MyPrefix.Property1"" Property3=""PropValue"" " +
|
||||
@"type=""checkbox"" value=""true"" /><input name=""MyPrefix.Property1"" type=""hidden"" " +
|
||||
@"value=""false"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[MyPrefix_Property1]]"" name=""HtmlEncode[[MyPrefix.Property1]]"" Property3=""HtmlEncode[[PropValue]]"" " +
|
||||
@"type=""HtmlEncode[[checkbox]]"" value=""HtmlEncode[[true]]"" /><input name=""HtmlEncode[[MyPrefix.Property1]]"" type=""HtmlEncode[[hidden]]"" " +
|
||||
@"value=""HtmlEncode[[false]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetTestModelViewData());
|
||||
helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
|
||||
var attributes = new Dictionary<string, object> { { "Property3", "PropValue" } };
|
||||
|
|
@ -371,9 +371,9 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void CheckBoxFor_WithComplexExpressions_DoesNotUseValuesFromViewDataDictionary()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""ComplexProperty_Property1"" name=""ComplexProperty." +
|
||||
@"Property1"" type=""checkbox"" value=""true"" /><input name=""ComplexProperty.Property1"" " +
|
||||
@"type=""hidden"" value=""false"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[ComplexProperty_Property1]]"" name=""HtmlEncode[[ComplexProperty." +
|
||||
@"Property1]]"" type=""HtmlEncode[[checkbox]]"" value=""HtmlEncode[[true]]"" /><input name=""HtmlEncode[[ComplexProperty.Property1]]"" " +
|
||||
@"type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[false]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetModelWithValidationViewData());
|
||||
|
||||
// Act
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
var path = "/Path";
|
||||
var queryString = "?query=string";
|
||||
var expectedAction = pathBase + path + queryString;
|
||||
var expectedStartTag = string.Format("<form action=\"{0}\" method=\"post\">", expectedAction);
|
||||
var expectedStartTag = string.Format("<form action=\"HtmlEncode[[{0}]]\" method=\"HtmlEncode[[post]]\">", expectedAction);
|
||||
|
||||
// IUrlHelper should not be used in this scenario.
|
||||
var urlHelper = new Mock<IUrlHelper>(MockBehavior.Strict);
|
||||
|
|
@ -167,7 +167,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
var queryString = "?query=string";
|
||||
var expectedAction = pathBase + path + queryString;
|
||||
var htmlAttributes = new { p1_name = "p1-value" };
|
||||
var expectedStartTag = string.Format("<form action=\"{0}\" method=\"post\"{1}>",
|
||||
var expectedStartTag = string.Format("<form action=\"HtmlEncode[[{0}]]\" method=\"HtmlEncode[[post]]\"{1}>",
|
||||
expectedAction,
|
||||
GetHtmlAttributesAsString(htmlAttributes));
|
||||
|
||||
|
|
@ -219,7 +219,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
// Arrange
|
||||
var expectedAction = "http://localhost/Hello/World";
|
||||
var expectedStartTag = string.Format(
|
||||
"<form action=\"{0}\" method=\"{1}\"{2}>",
|
||||
"<form action=\"HtmlEncode[[{0}]]\" method=\"HtmlEncode[[{1}]]\"{2}>",
|
||||
expectedAction,
|
||||
method.ToString().ToLowerInvariant(),
|
||||
GetHtmlAttributesAsString(htmlAttributes));
|
||||
|
|
@ -261,7 +261,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
// Arrange
|
||||
var expectedAction = "http://localhost/Hello/World";
|
||||
var expectedStartTag = string.Format(
|
||||
"<form action=\"{0}\" method=\"{1}\"{2}>",
|
||||
"<form action=\"HtmlEncode[[{0}]]\" method=\"HtmlEncode[[{1}]]\"{2}>",
|
||||
expectedAction,
|
||||
method.ToString().ToLowerInvariant(),
|
||||
GetHtmlAttributesAsString(htmlAttributes));
|
||||
|
|
@ -320,7 +320,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
var dictionary = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes);
|
||||
return string.Join(
|
||||
string.Empty,
|
||||
dictionary.Select(keyValue => string.Format(" {0}=\"{1}\"", keyValue.Key, keyValue.Value)));
|
||||
dictionary.Select(keyValue => string.Format(" {0}=\"HtmlEncode[[{1}]]\"", keyValue.Key, keyValue.Value)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -18,13 +18,13 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
{
|
||||
get
|
||||
{
|
||||
var expected1 = @"<input baz=""BazValue"" id=""Property1"" name=""Property1"" type=""hidden"" " +
|
||||
@"value=""ModelStateValue"" />";
|
||||
var expected1 = @"<input baz=""HtmlEncode[[BazValue]]"" id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" " +
|
||||
@"value=""HtmlEncode[[ModelStateValue]]"" />";
|
||||
yield return new object[] { new Dictionary<string, object> { { "baz", "BazValue" } }, expected1 };
|
||||
yield return new object[] { new { baz = "BazValue" }, expected1 };
|
||||
|
||||
var expected2 = @"<input foo-baz=""BazValue"" id=""Property1"" name=""Property1"" type=""hidden"" " +
|
||||
@"value=""ModelStateValue"" />";
|
||||
var expected2 = @"<input foo-baz=""HtmlEncode[[BazValue]]"" id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" " +
|
||||
@"value=""HtmlEncode[[ModelStateValue]]"" />";
|
||||
yield return new object[] { new Dictionary<string, object> { { "foo-baz", "BazValue" } }, expected2 };
|
||||
yield return new object[] { new { foo_baz = "BazValue" }, expected2 };
|
||||
}
|
||||
|
|
@ -34,7 +34,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenWithByteArrayValue_GeneratesBase64EncodedValue()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""ProductName"" name=""ProductName"" type=""hidden"" value=""Fys1"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[ProductName]]"" name=""HtmlEncode[[ProductName]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[Fys1]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper();
|
||||
|
||||
// Act
|
||||
|
|
@ -63,7 +63,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenOverridesValueFromAttributesWithArgumentValue()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" name=""Property1"" type=""hidden"" value=""explicit-value"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[explicit-value]]"" />";
|
||||
var attributes = new { value = "attribute-value" };
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithNullModelAndNonNullViewData());
|
||||
helper.ViewData.Clear();
|
||||
|
|
@ -79,8 +79,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenWithArgumentValueAndNullModel_UsesArgumentValue()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" key=""value"" name=""Property1"" type=""hidden"" " +
|
||||
@"value=""test"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" key=""HtmlEncode[[value]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" " +
|
||||
@"value=""HtmlEncode[[test]]"" />";
|
||||
var attributes = new { key = "value" };
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithNullModelAndNonNullViewData());
|
||||
|
||||
|
|
@ -95,8 +95,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenWithNullValueAndNullModel_GeneratesExpectedValue()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input data-key=""value"" id=""Property1"" name=""Property1"" type=""hidden"" " +
|
||||
@"value=""test"" />";
|
||||
var expected = @"<input data-key=""HtmlEncode[[value]]"" id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" " +
|
||||
@"value=""HtmlEncode[[test]]"" />";
|
||||
var attributes = new Dictionary<string, object> { { "data-key", "value" } };
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithNullModelAndNonNullViewData());
|
||||
|
||||
|
|
@ -111,7 +111,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenUsesValuesFromModelState_OverExplicitSpecifiedValueAndPropertyValue()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" name=""Property1"" type=""hidden"" value=""ModelStateValue"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[ModelStateValue]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewData.Model.Property1 = "test-value";
|
||||
|
||||
|
|
@ -126,7 +126,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenUsesExplicitValue_IfModelStateDoesNotHaveProperty()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" name=""Property1"" type=""hidden"" value=""explicit-value"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[explicit-value]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewData.ModelState.Clear();
|
||||
helper.ViewData.Model.Property1 = "property-value";
|
||||
|
|
@ -142,7 +142,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenUsesValueFromViewData_IfModelStateDoesNotHavePropertyAndExplicitValueIsNull()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" name=""Property1"" type=""hidden"" value=""view-data-val"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[view-data-val]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewData.ModelState.Clear();
|
||||
helper.ViewData.Model.Property1 = "property-value";
|
||||
|
|
@ -158,7 +158,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenUsesPropertyValue_IfModelStateAndViewDataDoNotHavePropertyAndExplicitValueIsNull()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" name=""Property1"" type=""hidden"" value=""property-value"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[property-value]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewData.ModelState.Clear();
|
||||
helper.ViewData.Clear();
|
||||
|
|
@ -175,7 +175,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenDoesNotUsesAttributeValue()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" name=""Property1"" type=""hidden"" value="""" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value="""" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewData.ModelState.Clear();
|
||||
helper.ViewData.Clear();
|
||||
|
|
@ -192,7 +192,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenReturnsEmptyValue_IfPropertyIsNotFound()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input baz=""BazValue"" id=""keyNotFound"" name=""keyNotFound"" type=""hidden"" " +
|
||||
var expected = @"<input baz=""HtmlEncode[[BazValue]]"" id=""HtmlEncode[[keyNotFound]]"" name=""HtmlEncode[[keyNotFound]]"" type=""HtmlEncode[[hidden]]"" " +
|
||||
@"value="""" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
var attributes = new Dictionary<string, object> { { "baz", "BazValue" } };
|
||||
|
|
@ -208,8 +208,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenWithPrefix_GeneratesExpectedValue()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""MyPrefix_Property1"" name=""MyPrefix.Property1"" type=""hidden"" " +
|
||||
@"value=""PropValue"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[MyPrefix_Property1]]"" name=""HtmlEncode[[MyPrefix.Property1]]"" type=""HtmlEncode[[hidden]]"" " +
|
||||
@"value=""HtmlEncode[[PropValue]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
|
||||
|
||||
|
|
@ -224,7 +224,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenWithPrefixAndEmptyName_GeneratesExpectedValue()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""MyPrefix"" name=""MyPrefix"" type=""hidden"" value=""fooValue"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[MyPrefix]]"" name=""HtmlEncode[[MyPrefix]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[fooValue]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
|
||||
|
||||
|
|
@ -239,8 +239,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenUsesPrefixName_ToLookupPropertyValueInModelState()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""MyPrefix$Property1"" name=""MyPrefix.Property1"" type=""hidden"" " +
|
||||
@"value=""modelstate-with-prefix"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[MyPrefix$Property1]]"" name=""HtmlEncode[[MyPrefix.Property1]]"" type=""HtmlEncode[[hidden]]"" " +
|
||||
@"value=""HtmlEncode[[modelstate-with-prefix]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
|
||||
helper.IdAttributeDotReplacement = "$";
|
||||
|
|
@ -260,8 +260,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenUsesPrefixName_ToLookupPropertyValueInViewData()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""MyPrefix$Property1"" name=""MyPrefix.Property1"" type=""hidden"" " +
|
||||
@"value=""vdd-with-prefix"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[MyPrefix$Property1]]"" name=""HtmlEncode[[MyPrefix.Property1]]"" type=""HtmlEncode[[hidden]]"" " +
|
||||
@"value=""HtmlEncode[[vdd-with-prefix]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
|
||||
helper.IdAttributeDotReplacement = "$";
|
||||
|
|
@ -297,8 +297,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenWithViewDataErrors_GeneratesExpectedValue()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input baz=""BazValue"" class=""input-validation-error some-class"" id=""Property1""" +
|
||||
@" name=""Property1"" type=""hidden"" value=""ModelStateValue"" />";
|
||||
var expected = @"<input baz=""HtmlEncode[[BazValue]]"" class=""HtmlEncode[[input-validation-error some-class]]"" id=""HtmlEncode[[Property1]]""" +
|
||||
@" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[ModelStateValue]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithErrors());
|
||||
var attributes = new Dictionary<string, object>
|
||||
{
|
||||
|
|
@ -317,8 +317,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenGeneratesUnobtrusiveValidation()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input data-val=""true"" data-val-required=""The Property2 field is required."" " +
|
||||
@"id=""Property2"" name=""Property2"" type=""hidden"" value="""" />";
|
||||
var expected = @"<input data-val=""HtmlEncode[[true]]"" data-val-required=""HtmlEncode[[The Property2 field is required.]]"" " +
|
||||
@"id=""HtmlEncode[[Property2]]"" name=""HtmlEncode[[Property2]]"" type=""HtmlEncode[[hidden]]"" value="""" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
|
||||
// Act
|
||||
|
|
@ -335,22 +335,22 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
yield return new object[]
|
||||
{
|
||||
"Property3[height]",
|
||||
@"<input data-test=""val"" id=""Property3_height_"" name=""Property3[height]"" type=""hidden"" " +
|
||||
@"value=""Prop3Value"" />",
|
||||
@"<input data-test=""HtmlEncode[[val]]"" id=""HtmlEncode[[Property3_height_]]"" name=""HtmlEncode[[Property3[height]]]"" type=""HtmlEncode[[hidden]]"" " +
|
||||
@"value=""HtmlEncode[[Prop3Value]]"" />",
|
||||
};
|
||||
|
||||
yield return new object[]
|
||||
{
|
||||
"Property4.Property5",
|
||||
@"<input data-test=""val"" id=""Property4_Property5"" name=""Property4.Property5"" " +
|
||||
@"type=""hidden"" value=""Prop5Value"" />",
|
||||
@"<input data-test=""HtmlEncode[[val]]"" id=""HtmlEncode[[Property4_Property5]]"" name=""HtmlEncode[[Property4.Property5]]"" " +
|
||||
@"type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[Prop5Value]]"" />",
|
||||
};
|
||||
|
||||
yield return new object[]
|
||||
{
|
||||
"Property4.Property6[0]",
|
||||
@"<input data-test=""val"" id=""Property4_Property6_0_"" name=""Property4.Property6[0]"" " +
|
||||
@"type=""hidden"" value=""Prop6Value"" />",
|
||||
@"<input data-test=""HtmlEncode[[val]]"" id=""HtmlEncode[[Property4_Property6_0_]]"" name=""HtmlEncode[[Property4.Property6[0]]]"" " +
|
||||
@"type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[Prop6Value]]"" />",
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -381,15 +381,15 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
yield return new object[]
|
||||
{
|
||||
"Property4.Property5",
|
||||
@"<input data-test=""val"" id=""Property4$$Property5"" name=""Property4.Property5"" " +
|
||||
@"type=""hidden"" value=""Prop5Value"" />",
|
||||
@"<input data-test=""HtmlEncode[[val]]"" id=""HtmlEncode[[Property4$$Property5]]"" name=""HtmlEncode[[Property4.Property5]]"" " +
|
||||
@"type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[Prop5Value]]"" />",
|
||||
};
|
||||
|
||||
yield return new object[]
|
||||
{
|
||||
"Property4.Property6[0]",
|
||||
@"<input data-test=""val"" id=""Property4$$Property6$$0$$"" name=""Property4.Property6[0]"" " +
|
||||
@"type=""hidden"" value=""Prop6Value"" />",
|
||||
@"<input data-test=""HtmlEncode[[val]]"" id=""HtmlEncode[[Property4$$Property6$$0$$]]"" name=""HtmlEncode[[Property4.Property6[0]]]"" " +
|
||||
@"type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[Prop6Value]]"" />",
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -418,7 +418,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenForWithByteArrayValue_GeneratesBase64EncodedValue()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Bytes"" name=""Bytes"" type=""hidden"" value=""Fys1"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Bytes]]"" name=""HtmlEncode[[Bytes]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[Fys1]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewData.Model.Bytes = new byte[] { 23, 43, 53 };
|
||||
|
||||
|
|
@ -448,7 +448,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenFor_UsesModelStateValueOverPropertyValue()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" name=""Property1"" type=""hidden"" value=""ModelStateValue"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[ModelStateValue]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewData.Model.Property1 = "DefaultValue";
|
||||
|
||||
|
|
@ -463,7 +463,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenFor_UsesPropertyValueIfModelStateDoesNotHaveKey()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" name=""Property1"" type=""hidden"" value=""PropertyValue"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[PropertyValue]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewData.ModelState.Clear();
|
||||
helper.ViewData.Model.Property1 = "PropertyValue";
|
||||
|
|
@ -479,7 +479,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenForDoesNotUseValueFromViewDataDictionary_IfModelStateAndPropertyValueIsNull()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" name=""Property1"" type=""hidden"" value="""" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value="""" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewData.Model.Property1 = null;
|
||||
helper.ViewData.ModelState.Clear();
|
||||
|
|
@ -495,7 +495,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenForWithAttributesDictionaryAndNullModel_GeneratesExpectedValue()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" key=""value"" name=""Property1"" type=""hidden"" value="""" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" key=""HtmlEncode[[value]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value="""" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithNullModelAndNonNullViewData());
|
||||
var attributes = new Dictionary<string, object> { { "key", "value" } };
|
||||
|
||||
|
|
@ -511,8 +511,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenForWithPrefix_GeneratesExpectedValue()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""MyPrefix_Property1"" name=""MyPrefix.Property1"" type=""hidden"" " +
|
||||
@"value=""propValue"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[MyPrefix_Property1]]"" name=""HtmlEncode[[MyPrefix.Property1]]"" type=""HtmlEncode[[hidden]]"" " +
|
||||
@"value=""HtmlEncode[[propValue]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewData.Model.Property1 = "propValue";
|
||||
helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
|
||||
|
|
@ -528,8 +528,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenForWithPrefix_UsesPrefixWhenLookingUpModelStateValues()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""MyPrefix$Property1"" name=""MyPrefix.Property1"" type=""hidden"" " +
|
||||
@"value=""modelstate-with-prefix"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[MyPrefix$Property1]]"" name=""HtmlEncode[[MyPrefix.Property1]]"" type=""HtmlEncode[[hidden]]"" " +
|
||||
@"value=""HtmlEncode[[modelstate-with-prefix]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewData.Model.Property1 = "propValue";
|
||||
helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
|
||||
|
|
@ -550,8 +550,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenForWithViewDataErrors_GeneratesExpectedValue()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input baz=""BazValue"" class=""input-validation-error some-class"" id=""Property1"" " +
|
||||
@"name=""Property1"" type=""hidden"" value=""ModelStateValue"" />";
|
||||
var expected = @"<input baz=""HtmlEncode[[BazValue]]"" class=""HtmlEncode[[input-validation-error some-class]]"" id=""HtmlEncode[[Property1]]"" " +
|
||||
@"name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[ModelStateValue]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithErrors());
|
||||
var attributes = new Dictionary<string, object>
|
||||
{
|
||||
|
|
@ -570,8 +570,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenFor_GeneratesUnobtrusiveValidationAttributes()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input data-val=""true"" data-val-required=""The Property2 field is required."" " +
|
||||
@"id=""Property2"" name=""Property2"" type=""hidden"" value="""" />";
|
||||
var expected = @"<input data-val=""HtmlEncode[[true]]"" data-val-required=""HtmlEncode[[The Property2 field is required.]]"" " +
|
||||
@"id=""HtmlEncode[[Property2]]"" name=""HtmlEncode[[Property2]]"" type=""HtmlEncode[[hidden]]"" value="""" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithErrors());
|
||||
|
||||
// Act
|
||||
|
|
@ -591,23 +591,23 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
{
|
||||
{
|
||||
model => model.Property3["key"],
|
||||
@"<input data-val=""true"" id=""Property3_key_"" name=""Property3[key]"" " +
|
||||
@"type=""hidden"" value=""ModelProp3Val"" />"
|
||||
@"<input data-val=""HtmlEncode[[true]]"" id=""HtmlEncode[[Property3_key_]]"" name=""HtmlEncode[[Property3[key]]]"" " +
|
||||
@"type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[ModelProp3Val]]"" />"
|
||||
},
|
||||
{
|
||||
model => model.Property4.Property5,
|
||||
@"<input data-val=""true"" id=""Property4_Property5"" name=""Property4.Property5"" " +
|
||||
@"type=""hidden"" value=""ModelProp5Val"" />"
|
||||
@"<input data-val=""HtmlEncode[[true]]"" id=""HtmlEncode[[Property4_Property5]]"" name=""HtmlEncode[[Property4.Property5]]"" " +
|
||||
@"type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[ModelProp5Val]]"" />"
|
||||
},
|
||||
{
|
||||
model => model.Property4.Property6[0],
|
||||
@"<input data-val=""true"" id=""Property4_Property6_0_"" name=""Property4.Property6[0]"" " +
|
||||
@"type=""hidden"" value=""ModelProp6Val"" />"
|
||||
@"<input data-val=""HtmlEncode[[true]]"" id=""HtmlEncode[[Property4_Property6_0_]]"" name=""HtmlEncode[[Property4.Property6[0]]]"" " +
|
||||
@"type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[ModelProp6Val]]"" />"
|
||||
},
|
||||
{
|
||||
model => localModel.Property4.Property5,
|
||||
@"<input data-val=""true"" id=""localModel_Property4_Property5"" " +
|
||||
@"name=""localModel.Property4.Property5"" type=""hidden"" value=""local-value"" />"
|
||||
@"<input data-val=""HtmlEncode[[true]]"" id=""HtmlEncode[[localModel_Property4_Property5]]"" " +
|
||||
@"name=""HtmlEncode[[localModel.Property4.Property5]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[local-value]]"" />"
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
@ -650,18 +650,18 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
{
|
||||
{
|
||||
model => model.Property3["key"],
|
||||
@"<input data-val=""true"" id=""pre_Property3_key_"" name=""pre.Property3[key]"" " +
|
||||
@"type=""hidden"" value=""Prop3Val"" />"
|
||||
@"<input data-val=""HtmlEncode[[true]]"" id=""HtmlEncode[[pre_Property3_key_]]"" name=""HtmlEncode[[pre.Property3[key]]]"" " +
|
||||
@"type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[Prop3Val]]"" />"
|
||||
},
|
||||
{
|
||||
model => model.Property4.Property5,
|
||||
@"<input data-val=""true"" id=""pre_Property4_Property5"" name=""pre.Property4.Property5"" " +
|
||||
@"type=""hidden"" value=""Prop5Val"" />"
|
||||
@"<input data-val=""HtmlEncode[[true]]"" id=""HtmlEncode[[pre_Property4_Property5]]"" name=""HtmlEncode[[pre.Property4.Property5]]"" " +
|
||||
@"type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[Prop5Val]]"" />"
|
||||
},
|
||||
{
|
||||
model => model.Property4.Property6[0],
|
||||
@"<input data-val=""true"" id=""pre_Property4_Property6_0_"" " +
|
||||
@"name=""pre.Property4.Property6[0]"" type=""hidden"" value=""Prop6Val"" />"
|
||||
@"<input data-val=""HtmlEncode[[true]]"" id=""HtmlEncode[[pre_Property4_Property6_0_]]"" " +
|
||||
@"name=""HtmlEncode[[pre.Property4.Property6[0]]]"" type=""HtmlEncode[[hidden]]"" value=""HtmlEncode[[Prop6Val]]"" />"
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
@ -694,7 +694,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void HiddenFor_DoesNotUseAttributeValue()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" name=""Property1"" type=""hidden"" value="""" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[hidden]]"" value="""" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithNullModelAndNonNullViewData());
|
||||
var attributes = new Dictionary<string, object>
|
||||
{
|
||||
|
|
|
|||
|
|
@ -43,8 +43,8 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
var labelForResult = helper.LabelFor(m => m.Property1);
|
||||
|
||||
// Assert
|
||||
Assert.Equal("<label for=\"Property1\">Property1</label>", labelResult.ToString());
|
||||
Assert.Equal("<label for=\"Property1\">Property1</label>", labelForResult.ToString());
|
||||
Assert.Equal("<label for=\"HtmlEncode[[Property1]]\">HtmlEncode[[Property1]]</label>", labelResult.ToString());
|
||||
Assert.Equal("<label for=\"HtmlEncode[[Property1]]\">HtmlEncode[[Property1]]</label>", labelForResult.ToString());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -58,8 +58,8 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
var labelForResult = helper.LabelFor(m => m.Inner.Id);
|
||||
|
||||
// Assert
|
||||
Assert.Equal("<label for=\"Inner_Id\">Id</label>", labelResult.ToString());
|
||||
Assert.Equal("<label for=\"Inner_Id\">Id</label>", labelForResult.ToString());
|
||||
Assert.Equal("<label for=\"HtmlEncode[[Inner_Id]]\">HtmlEncode[[Id]]</label>", labelResult.ToString());
|
||||
Assert.Equal("<label for=\"HtmlEncode[[Inner_Id]]\">HtmlEncode[[Id]]</label>", labelForResult.ToString());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -83,9 +83,9 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
var labelForModelResult = helper.LabelForModel();
|
||||
|
||||
// Assert
|
||||
Assert.Equal("<label for=\"\">" + propertyName + "</label>", labelResult.ToString());
|
||||
Assert.Equal("<label for=\"\">" + propertyName + "</label>", labelForResult.ToString());
|
||||
Assert.Equal("<label for=\"\">" + propertyName + "</label>", labelForModelResult.ToString());
|
||||
Assert.Equal("<label for=\"\">HtmlEncode[[" + propertyName + "]]</label>", labelResult.ToString());
|
||||
Assert.Equal("<label for=\"\">HtmlEncode[[" + propertyName + "]]</label>", labelForResult.ToString());
|
||||
Assert.Equal("<label for=\"\">HtmlEncode[[" + propertyName + "]]</label>", labelForModelResult.ToString());
|
||||
}
|
||||
|
||||
// If the metadata is for a type (not property), then Label(expression) will evaluate the expression
|
||||
|
|
@ -100,7 +100,7 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
var labelResult = helper.Label(expression: "value");
|
||||
|
||||
// Assert
|
||||
Assert.Equal("<label for=\"value\">value</label>", labelResult.ToString());
|
||||
Assert.Equal("<label for=\"HtmlEncode[[value]]\">HtmlEncode[[value]]</label>", labelResult.ToString());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -146,9 +146,9 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
var labelForModelResult = helper.LabelForModel();
|
||||
|
||||
// Assert
|
||||
Assert.Equal("<label for=\"\">" + displayName + "</label>", labelResult.ToString());
|
||||
Assert.Equal("<label for=\"\">" + displayName + "</label>", labelForResult.ToString());
|
||||
Assert.Equal("<label for=\"\">" + displayName + "</label>", labelForModelResult.ToString());
|
||||
Assert.Equal("<label for=\"\">HtmlEncode[[" + displayName + "]]</label>", labelResult.ToString());
|
||||
Assert.Equal("<label for=\"\">HtmlEncode[[" + displayName + "]]</label>", labelForResult.ToString());
|
||||
Assert.Equal("<label for=\"\">HtmlEncode[[" + displayName + "]]</label>", labelForModelResult.ToString());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -197,8 +197,8 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
var labelForResult = helper.LabelFor(m => m.Property1);
|
||||
|
||||
// Assert
|
||||
Assert.Equal("<label for=\"Property1\">" + displayName + "</label>", labelResult.ToString());
|
||||
Assert.Equal("<label for=\"Property1\">" + displayName + "</label>", labelForResult.ToString());
|
||||
Assert.Equal("<label for=\"HtmlEncode[[Property1]]\">HtmlEncode[[" + displayName + "]]</label>", labelResult.ToString());
|
||||
Assert.Equal("<label for=\"HtmlEncode[[Property1]]\">HtmlEncode[[" + displayName + "]]</label>", labelForResult.ToString());
|
||||
}
|
||||
|
||||
[Theory]
|
||||
|
|
@ -219,7 +219,7 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
|
||||
// Assert
|
||||
// Label() falls back to expression name when DisplayName and PropertyName are null.
|
||||
Assert.Equal("<label for=\"" + expectedId + "\">" + expectedText + "</label>", result.ToString());
|
||||
Assert.Equal("<label for=\"HtmlEncode[[" + expectedId + "]]\">HtmlEncode[[" + expectedText + "]]</label>", result.ToString());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -247,7 +247,7 @@ namespace Microsoft.AspNet.Mvc.Core
|
|||
var result = helper.LabelFor(model => unknownKey);
|
||||
|
||||
// Assert
|
||||
Assert.Equal("<label for=\"unknownKey\">unknownKey</label>", result.ToString());
|
||||
Assert.Equal("<label for=\"HtmlEncode[[unknownKey]]\">HtmlEncode[[unknownKey]]</label>", result.ToString());
|
||||
}
|
||||
|
||||
private sealed class InnerClass
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
object htmlAttributes)
|
||||
{
|
||||
//Arrange
|
||||
string expectedLink = string.Format(@"<a href=""{0}{1}{2}{3}{4}{5}""{6}>Details</a>",
|
||||
string expectedLink = string.Format(@"<a href=""HtmlEncode[[{0}{1}{2}{3}{4}{5}]]""{6}>HtmlEncode[[Details]]</a>",
|
||||
protocol,
|
||||
hostname,
|
||||
controller,
|
||||
|
|
@ -53,6 +53,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
GetRouteValuesAsString(routeValues),
|
||||
fragment,
|
||||
GetHtmlAttributesAsString(htmlAttributes));
|
||||
expectedLink = expectedLink.Replace("HtmlEncode[[]]", "");
|
||||
|
||||
var urlHelper = new Mock<IUrlHelper>();
|
||||
urlHelper.Setup(h => h.Action(It.IsAny<UrlActionContext>()))
|
||||
|
|
@ -111,12 +112,13 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
object htmlAttributes)
|
||||
{
|
||||
//Arrange
|
||||
string expectedLink = string.Format(@"<a href=""{0}{1}{2}{3}""{4}>Details</a>",
|
||||
string expectedLink = string.Format(@"<a href=""HtmlEncode[[{0}{1}{2}{3}]]""{4}>HtmlEncode[[Details]]</a>",
|
||||
protocol,
|
||||
hostname,
|
||||
GetRouteValuesAsString(routeValues),
|
||||
fragment,
|
||||
GetHtmlAttributesAsString(htmlAttributes));
|
||||
expectedLink = expectedLink.Replace("HtmlEncode[[]]", "");
|
||||
|
||||
var urlHelper = new Mock<IUrlHelper>();
|
||||
urlHelper
|
||||
|
|
@ -153,7 +155,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
private string GetHtmlAttributesAsString(object routeValues)
|
||||
{
|
||||
var dict = TypeHelper.ObjectToDictionary(routeValues);
|
||||
return string.Join(string.Empty, dict.Select(kvp => string.Format(" {0}=\"{1}\"", kvp.Key, kvp.Value.ToString())));
|
||||
return string.Join(string.Empty, dict.Select(kvp => string.Format(" {0}=\"HtmlEncode[[{1}]]\"", kvp.Key, kvp.Value.ToString())));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -43,8 +43,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
object attributes)
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" name=""Property1"" test-key=""test-value"" type=""password"" " +
|
||||
@"value=""attribute-value"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" test-key=""HtmlEncode[[test-value]]"" type=""HtmlEncode[[password]]"" " +
|
||||
@"value=""HtmlEncode[[attribute-value]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(vdd);
|
||||
|
||||
// Act
|
||||
|
|
@ -60,8 +60,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
object attributes)
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" name=""Property1"" test-key=""test-value"" type=""password"" " +
|
||||
@"value=""explicit-value"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" test-key=""HtmlEncode[[test-value]]"" type=""HtmlEncode[[password]]"" " +
|
||||
@"value=""HtmlEncode[[explicit-value]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(vdd);
|
||||
|
||||
// Act
|
||||
|
|
@ -75,8 +75,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void PasswordWithPrefix_GeneratesExpectedValue()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""MyPrefix_Property1"" name=""MyPrefix.Property1"" type=""password"" " +
|
||||
@"value=""explicit-value"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[MyPrefix_Property1]]"" name=""HtmlEncode[[MyPrefix.Property1]]"" type=""HtmlEncode[[password]]"" " +
|
||||
@"value=""HtmlEncode[[explicit-value]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
|
||||
|
||||
|
|
@ -91,8 +91,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void PasswordWithPrefix_UsesIdDotReplacementToken()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""MyPrefix$Property1"" name=""MyPrefix.Property1"" type=""password"" " +
|
||||
@"value=""explicit-value"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[MyPrefix$Property1]]"" name=""HtmlEncode[[MyPrefix.Property1]]"" type=""HtmlEncode[[password]]"" " +
|
||||
@"value=""HtmlEncode[[explicit-value]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
|
||||
helper.IdAttributeDotReplacement = "$";
|
||||
|
|
@ -108,7 +108,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void PasswordWithPrefixAndEmptyName_GeneratesExpectedValue()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""MyPrefix"" name=""MyPrefix"" type=""password"" value=""explicit-value"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[MyPrefix]]"" name=""HtmlEncode[[MyPrefix]]"" type=""HtmlEncode[[password]]"" value=""HtmlEncode[[explicit-value]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
|
||||
var name = string.Empty;
|
||||
|
|
@ -137,8 +137,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void Password_UsesModelStateErrors_ButDoesNotUseModelOrViewDataOrModelStateForValueAttribute()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input class=""input-validation-error some-class"" id=""Property1""" +
|
||||
@" name=""Property1"" test-key=""test-value"" type=""password"" />";
|
||||
var expected = @"<input class=""HtmlEncode[[input-validation-error some-class]]"" id=""HtmlEncode[[Property1]]""" +
|
||||
@" name=""HtmlEncode[[Property1]]"" test-key=""HtmlEncode[[test-value]]"" type=""HtmlEncode[[password]]"" />";
|
||||
var vdd = GetViewDataWithErrors();
|
||||
vdd.Model.Property1 = "property-value";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(vdd);
|
||||
|
|
@ -159,8 +159,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void PasswordGeneratesUnobtrusiveValidation()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input data-val=""true"" data-val-required=""The Property2 field is required."" " +
|
||||
@"id=""Property2"" name=""Property2"" type=""password"" />";
|
||||
var expected = @"<input data-val=""HtmlEncode[[true]]"" data-val-required=""HtmlEncode[[The Property2 field is required.]]"" " +
|
||||
@"id=""HtmlEncode[[Property2]]"" name=""HtmlEncode[[Property2]]"" type=""HtmlEncode[[password]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
|
||||
// Act
|
||||
|
|
@ -177,15 +177,15 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
yield return new object[]
|
||||
{
|
||||
"Property4.Property5",
|
||||
@"<input data-test=""val"" id=""Property4$$Property5"" name=""Property4.Property5"" " +
|
||||
@"type=""password"" />",
|
||||
@"<input data-test=""HtmlEncode[[val]]"" id=""HtmlEncode[[Property4$$Property5]]"" name=""HtmlEncode[[Property4.Property5]]"" " +
|
||||
@"type=""HtmlEncode[[password]]"" />",
|
||||
};
|
||||
|
||||
yield return new object[]
|
||||
{
|
||||
"Property4.Property6[0]",
|
||||
@"<input data-test=""val"" id=""Property4$$Property6$$0$$"" name=""Property4.Property6[0]"" " +
|
||||
@"type=""password"" />",
|
||||
@"<input data-test=""HtmlEncode[[val]]"" id=""HtmlEncode[[Property4$$Property6$$0$$]]"" name=""HtmlEncode[[Property4.Property6[0]]]"" " +
|
||||
@"type=""HtmlEncode[[password]]"" />",
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -213,8 +213,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
object htmlAttributes)
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""Property1"" name=""Property1"" test-key=""test-value"" type=""password"" " +
|
||||
@"value=""attribute-value"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[Property1]]"" name=""HtmlEncode[[Property1]]"" test-key=""HtmlEncode[[test-value]]"" type=""HtmlEncode[[password]]"" " +
|
||||
@"value=""HtmlEncode[[attribute-value]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewData.Model.Property1 = "test";
|
||||
|
||||
|
|
@ -229,7 +229,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void PasswordForWithPrefix_GeneratesExpectedValue()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input id=""MyPrefix_Property1"" name=""MyPrefix.Property1"" type=""password"" />";
|
||||
var expected = @"<input id=""HtmlEncode[[MyPrefix_Property1]]"" name=""HtmlEncode[[MyPrefix.Property1]]"" type=""HtmlEncode[[password]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithModelStateAndModelAndViewDataValues());
|
||||
helper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
|
||||
|
||||
|
|
@ -244,8 +244,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void PasswordFor_UsesModelStateErrors_ButDoesNotUseModelOrViewDataOrModelStateForValueAttribute()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input baz=""BazValue"" class=""input-validation-error some-class"" id=""Property1"" " +
|
||||
@"name=""Property1"" type=""password"" />";
|
||||
var expected = @"<input baz=""HtmlEncode[[BazValue]]"" class=""HtmlEncode[[input-validation-error some-class]]"" id=""HtmlEncode[[Property1]]"" " +
|
||||
@"name=""HtmlEncode[[Property1]]"" type=""HtmlEncode[[password]]"" />";
|
||||
var vdd = GetViewDataWithErrors();
|
||||
vdd.Model.Property1 = "prop1-value";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(vdd);
|
||||
|
|
@ -266,8 +266,8 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void PasswordFor_GeneratesUnobtrusiveValidationAttributes()
|
||||
{
|
||||
// Arrange
|
||||
var expected = @"<input data-val=""true"" data-val-required=""The Property2 field is required."" " +
|
||||
@"id=""Property2"" name=""Property2"" type=""password"" />";
|
||||
var expected = @"<input data-val=""HtmlEncode[[true]]"" data-val-required=""HtmlEncode[[The Property2 field is required.]]"" " +
|
||||
@"id=""HtmlEncode[[Property2]]"" name=""HtmlEncode[[Property2]]"" type=""HtmlEncode[[password]]"" />";
|
||||
var helper = DefaultTemplatesUtilities.GetHtmlHelper(GetViewDataWithErrors());
|
||||
|
||||
// Act
|
||||
|
|
@ -285,18 +285,18 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
{
|
||||
{
|
||||
model => model.Property3["key"],
|
||||
@"<input data-val=""true"" id=""pre_Property3_key_"" name=""pre.Property3[key]"" " +
|
||||
@"type=""password"" value=""attr-value"" />"
|
||||
@"<input data-val=""HtmlEncode[[true]]"" id=""HtmlEncode[[pre_Property3_key_]]"" name=""HtmlEncode[[pre.Property3[key]]]"" " +
|
||||
@"type=""HtmlEncode[[password]]"" value=""HtmlEncode[[attr-value]]"" />"
|
||||
},
|
||||
{
|
||||
model => model.Property4.Property5,
|
||||
@"<input data-val=""true"" id=""pre_Property4_Property5"" name=""pre.Property4.Property5"" " +
|
||||
@"type=""password"" value=""attr-value"" />"
|
||||
@"<input data-val=""HtmlEncode[[true]]"" id=""HtmlEncode[[pre_Property4_Property5]]"" name=""HtmlEncode[[pre.Property4.Property5]]"" " +
|
||||
@"type=""HtmlEncode[[password]]"" value=""HtmlEncode[[attr-value]]"" />"
|
||||
},
|
||||
{
|
||||
model => model.Property4.Property6[0],
|
||||
@"<input data-val=""true"" id=""pre_Property4_Property6_0_"" " +
|
||||
@"name=""pre.Property4.Property6[0]"" type=""password"" value=""attr-value"" />"
|
||||
@"<input data-val=""HtmlEncode[[true]]"" id=""HtmlEncode[[pre_Property4_Property6_0_]]"" " +
|
||||
@"name=""HtmlEncode[[pre.Property4.Property6[0]]]"" type=""HtmlEncode[[password]]"" value=""HtmlEncode[[attr-value]]"" />"
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,93 +69,93 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
{
|
||||
{
|
||||
BasicSelectList,
|
||||
"<select id=\"Property1\" name=\"Property1\"><option value=\"0\">Zero</option>" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" name=\"HtmlEncode[[Property1]]\"><option value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" +
|
||||
Environment.NewLine +
|
||||
"<option value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<option value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</select>",
|
||||
"<select id=\"Property1\" name=\"Property1\"><option value=\"0\">Zero</option>" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" name=\"HtmlEncode[[Property1]]\"><option value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" +
|
||||
Environment.NewLine +
|
||||
"<option value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</select>"
|
||||
},
|
||||
{
|
||||
SomeDisabledOneSelectedSelectList,
|
||||
"<select id=\"Property1\" name=\"Property1\"><option value=\"0\">Zero</option>" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" name=\"HtmlEncode[[Property1]]\"><option value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" +
|
||||
Environment.NewLine +
|
||||
"<option disabled=\"disabled\" selected=\"selected\" value=\"1\">One</option>" +
|
||||
"<option disabled=\"HtmlEncode[[disabled]]\" selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" +
|
||||
Environment.NewLine +
|
||||
"<option value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option disabled=\"disabled\" value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"<option disabled=\"HtmlEncode[[disabled]]\" value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</select>",
|
||||
"<select id=\"Property1\" name=\"Property1\"><option value=\"0\">Zero</option>" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" name=\"HtmlEncode[[Property1]]\"><option value=\"HtmlEncode[[0]]\">HtmlEncode[[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 +
|
||||
"<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>"
|
||||
},
|
||||
{
|
||||
SomeGroupedSomeSelectedSelectList,
|
||||
"<select id=\"Property1\" name=\"Property1\"><optgroup label=\"Group One\">" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" name=\"HtmlEncode[[Property1]]\"><optgroup label=\"HtmlEncode[[Group One]]\">" +
|
||||
Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"0\">Zero</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"<optgroup label=\"Group Two\">" + Environment.NewLine +
|
||||
"<option value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<optgroup label=\"HtmlEncode[[Group Two]]\">" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"<option value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</select>",
|
||||
"<select id=\"Property1\" name=\"Property1\"><optgroup label=\"Group One\">" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" name=\"HtmlEncode[[Property1]]\"><optgroup label=\"HtmlEncode[[Group One]]\">" +
|
||||
Environment.NewLine +
|
||||
"<option value=\"0\">Zero</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"<optgroup label=\"Group Two\">" + Environment.NewLine +
|
||||
"<option value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<optgroup label=\"HtmlEncode[[Group Two]]\">" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"<option value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</select>"
|
||||
},
|
||||
{
|
||||
OneGroupSomeSelectedSelectList,
|
||||
"<select id=\"Property1\" name=\"Property1\"><optgroup label=\"Group One\">" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" name=\"HtmlEncode[[Property1]]\"><optgroup label=\"HtmlEncode[[Group One]]\">" +
|
||||
Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"0\">Zero</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<option value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"</select>",
|
||||
"<select id=\"Property1\" name=\"Property1\"><optgroup label=\"Group One\">" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" name=\"HtmlEncode[[Property1]]\"><optgroup label=\"HtmlEncode[[Group One]]\">" +
|
||||
Environment.NewLine +
|
||||
"<option value=\"0\">Zero</option>" + Environment.NewLine +
|
||||
"<option value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"</select>"
|
||||
},
|
||||
{
|
||||
OneDisabledGroupAllSelectedSelectList,
|
||||
"<select id=\"Property1\" name=\"Property1\"><optgroup disabled=\"disabled\" label=\"Disabled Group\">" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" name=\"HtmlEncode[[Property1]]\"><optgroup disabled=\"HtmlEncode[[disabled]]\" label=\"HtmlEncode[[Disabled Group]]\">" +
|
||||
Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"0\">Zero</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"</select>",
|
||||
"<select id=\"Property1\" name=\"Property1\"><optgroup disabled=\"disabled\" label=\"Disabled Group\">" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" name=\"HtmlEncode[[Property1]]\"><optgroup disabled=\"HtmlEncode[[disabled]]\" label=\"HtmlEncode[[Disabled Group]]\">" +
|
||||
Environment.NewLine +
|
||||
"<option value=\"0\">Zero</option>" + Environment.NewLine +
|
||||
"<option value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"</select>"
|
||||
},
|
||||
|
|
@ -172,131 +172,131 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
{
|
||||
{
|
||||
BasicSelectList,
|
||||
"<select id=\"Property1\" multiple=\"multiple\" name=\"Property1\"><option value=\"0\">Zero</option>" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" multiple=\"HtmlEncode[[multiple]]\" name=\"HtmlEncode[[Property1]]\"><option value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" +
|
||||
Environment.NewLine +
|
||||
"<option value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<option value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</select>",
|
||||
"<select id=\"Property1\" multiple=\"multiple\" name=\"Property1\"><option value=\"0\">Zero</option>" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" multiple=\"HtmlEncode[[multiple]]\" name=\"HtmlEncode[[Property1]]\"><option value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" +
|
||||
Environment.NewLine +
|
||||
"<option value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</select>",
|
||||
"<select id=\"Property1\" multiple=\"multiple\" name=\"Property1\"><option value=\"0\">Zero</option>" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" multiple=\"HtmlEncode[[multiple]]\" name=\"HtmlEncode[[Property1]]\"><option value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" +
|
||||
Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<option value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</select>"
|
||||
},
|
||||
{
|
||||
SomeDisabledOneSelectedSelectList,
|
||||
"<select id=\"Property1\" multiple=\"multiple\" name=\"Property1\"><option value=\"0\">Zero</option>" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" multiple=\"HtmlEncode[[multiple]]\" name=\"HtmlEncode[[Property1]]\"><option value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" +
|
||||
Environment.NewLine +
|
||||
"<option disabled=\"disabled\" selected=\"selected\" value=\"1\">One</option>" +
|
||||
"<option disabled=\"HtmlEncode[[disabled]]\" selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" +
|
||||
Environment.NewLine +
|
||||
"<option value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option disabled=\"disabled\" value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"<option disabled=\"HtmlEncode[[disabled]]\" value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</select>",
|
||||
"<select id=\"Property1\" multiple=\"multiple\" name=\"Property1\"><option value=\"0\">Zero</option>" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" multiple=\"HtmlEncode[[multiple]]\" name=\"HtmlEncode[[Property1]]\"><option value=\"HtmlEncode[[0]]\">HtmlEncode[[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 +
|
||||
"<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>",
|
||||
"<select id=\"Property1\" multiple=\"multiple\" name=\"Property1\"><option value=\"0\">Zero</option>" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" multiple=\"HtmlEncode[[multiple]]\" name=\"HtmlEncode[[Property1]]\"><option value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" +
|
||||
Environment.NewLine +
|
||||
"<option disabled=\"disabled\" selected=\"selected\" value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<option value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option disabled=\"disabled\" selected=\"selected\" value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option disabled=\"HtmlEncode[[disabled]]\" selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"<option disabled=\"HtmlEncode[[disabled]]\" selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</select>"
|
||||
},
|
||||
{
|
||||
SomeGroupedSomeSelectedSelectList,
|
||||
"<select id=\"Property1\" multiple=\"multiple\" name=\"Property1\"><optgroup label=\"Group One\">" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" multiple=\"HtmlEncode[[multiple]]\" name=\"HtmlEncode[[Property1]]\"><optgroup label=\"HtmlEncode[[Group One]]\">" +
|
||||
Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"0\">Zero</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"<optgroup label=\"Group Two\">" + Environment.NewLine +
|
||||
"<option value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<optgroup label=\"HtmlEncode[[Group Two]]\">" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"<option value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</select>",
|
||||
"<select id=\"Property1\" multiple=\"multiple\" name=\"Property1\"><optgroup label=\"Group One\">" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" multiple=\"HtmlEncode[[multiple]]\" name=\"HtmlEncode[[Property1]]\"><optgroup label=\"HtmlEncode[[Group One]]\">" +
|
||||
Environment.NewLine +
|
||||
"<option value=\"0\">Zero</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"<optgroup label=\"Group Two\">" + Environment.NewLine +
|
||||
"<option value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<optgroup label=\"HtmlEncode[[Group Two]]\">" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"<option value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</select>",
|
||||
"<select id=\"Property1\" multiple=\"multiple\" name=\"Property1\"><optgroup label=\"Group One\">" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" multiple=\"HtmlEncode[[multiple]]\" name=\"HtmlEncode[[Property1]]\"><optgroup label=\"HtmlEncode[[Group One]]\">" +
|
||||
Environment.NewLine +
|
||||
"<option value=\"0\">Zero</option>" + Environment.NewLine +
|
||||
"<option value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"<optgroup label=\"Group Two\">" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<optgroup label=\"HtmlEncode[[Group Two]]\">" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</select>"
|
||||
},
|
||||
{
|
||||
OneGroupSomeSelectedSelectList,
|
||||
"<select id=\"Property1\" multiple=\"multiple\" name=\"Property1\"><optgroup label=\"Group One\">" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" multiple=\"HtmlEncode[[multiple]]\" name=\"HtmlEncode[[Property1]]\"><optgroup label=\"HtmlEncode[[Group One]]\">" +
|
||||
Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"0\">Zero</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<option value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"</select>",
|
||||
"<select id=\"Property1\" multiple=\"multiple\" name=\"Property1\"><optgroup label=\"Group One\">" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" multiple=\"HtmlEncode[[multiple]]\" name=\"HtmlEncode[[Property1]]\"><optgroup label=\"HtmlEncode[[Group One]]\">" +
|
||||
Environment.NewLine +
|
||||
"<option value=\"0\">Zero</option>" + Environment.NewLine +
|
||||
"<option value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"</select>",
|
||||
"<select id=\"Property1\" multiple=\"multiple\" name=\"Property1\"><optgroup label=\"Group One\">" +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" multiple=\"HtmlEncode[[multiple]]\" name=\"HtmlEncode[[Property1]]\"><optgroup label=\"HtmlEncode[[Group One]]\">" +
|
||||
Environment.NewLine +
|
||||
"<option value=\"0\">Zero</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<option value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"</select>"
|
||||
},
|
||||
{
|
||||
OneDisabledGroupAllSelectedSelectList,
|
||||
"<select id=\"Property1\" multiple=\"multiple\" name=\"Property1\">" +
|
||||
"<optgroup disabled=\"disabled\" label=\"Disabled Group\">" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"0\">Zero</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" multiple=\"HtmlEncode[[multiple]]\" name=\"HtmlEncode[[Property1]]\">" +
|
||||
"<optgroup disabled=\"HtmlEncode[[disabled]]\" label=\"HtmlEncode[[Disabled Group]]\">" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"</select>",
|
||||
"<select id=\"Property1\" multiple=\"multiple\" name=\"Property1\">" +
|
||||
"<optgroup disabled=\"disabled\" label=\"Disabled Group\">" + Environment.NewLine +
|
||||
"<option value=\"0\">Zero</option>" + Environment.NewLine +
|
||||
"<option value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" multiple=\"HtmlEncode[[multiple]]\" name=\"HtmlEncode[[Property1]]\">" +
|
||||
"<optgroup disabled=\"HtmlEncode[[disabled]]\" label=\"HtmlEncode[[Disabled Group]]\">" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"</select>",
|
||||
"<select id=\"Property1\" multiple=\"multiple\" name=\"Property1\">" +
|
||||
"<optgroup disabled=\"disabled\" label=\"Disabled Group\">" + Environment.NewLine +
|
||||
"<option value=\"0\">Zero</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"1\">One</option>" + Environment.NewLine +
|
||||
"<option value=\"2\">Two</option>" + Environment.NewLine +
|
||||
"<option selected=\"selected\" value=\"3\">Three</option>" + Environment.NewLine +
|
||||
"<select id=\"HtmlEncode[[Property1]]\" multiple=\"HtmlEncode[[multiple]]\" name=\"HtmlEncode[[Property1]]\">" +
|
||||
"<optgroup disabled=\"HtmlEncode[[disabled]]\" label=\"HtmlEncode[[Disabled Group]]\">" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[0]]\">HtmlEncode[[Zero]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[1]]\">HtmlEncode[[One]]</option>" + Environment.NewLine +
|
||||
"<option value=\"HtmlEncode[[2]]\">HtmlEncode[[Two]]</option>" + Environment.NewLine +
|
||||
"<option selected=\"HtmlEncode[[selected]]\" value=\"HtmlEncode[[3]]\">HtmlEncode[[Three]]</option>" + Environment.NewLine +
|
||||
"</optgroup>" + Environment.NewLine +
|
||||
"</select>"
|
||||
},
|
||||
|
|
@ -476,11 +476,11 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
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>" +
|
||||
"<select id=\"HtmlEncode[[Property1_2_]]\" name=\"HtmlEncode[[Property1[2]]]\"><option value=\"HtmlEncode[[0]]\">HtmlEncode[[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 +
|
||||
"<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
|
||||
|
|
@ -504,10 +504,10 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
var selectList = SomeDisabledOneSelectedSelectList;
|
||||
var savedSelected = selectList.Select(item => item.Selected).ToList();
|
||||
var expectedHtml =
|
||||
"<select id=\"unrelated\" name=\"unrelated\"><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 id=\"HtmlEncode[[unrelated]]\" name=\"HtmlEncode[[unrelated]]\"><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
|
||||
|
|
@ -638,11 +638,11 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
var selectList = SomeDisabledOneSelectedSelectList;
|
||||
var savedSelected = selectList.Select(item => item.Selected).ToList();
|
||||
var expectedHtml =
|
||||
"<select id=\"unrelated\" multiple=\"multiple\" name=\"unrelated\"><option value=\"0\">Zero</option>" +
|
||||
"<select id=\"HtmlEncode[[unrelated]]\" multiple=\"HtmlEncode[[multiple]]\" name=\"HtmlEncode[[unrelated]]\"><option value=\"HtmlEncode[[0]]\">HtmlEncode[[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 +
|
||||
"<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
|
||||
|
|
|
|||
|
|
@ -23,29 +23,29 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
{ "attribute-name", "attribute-value" },
|
||||
};
|
||||
|
||||
var basicDiv = "<div class=\"validation-summary-valid\" data-valmsg-summary=\"true\">" +
|
||||
var basicDiv = "<div class=\"HtmlEncode[[validation-summary-valid]]\" data-valmsg-summary=\"HtmlEncode[[true]]\">" +
|
||||
"<ul><li style=\"display:none\"></li>" + Environment.NewLine +
|
||||
"</ul></div>";
|
||||
var divWithAttributes = "<div attribute-name=\"attribute-value\" " +
|
||||
"class=\"validation-summary-valid wood smoke\" data-valmsg-summary=\"true\"><ul>" +
|
||||
var divWithAttributes = "<div attribute-name=\"HtmlEncode[[attribute-value]]\" " +
|
||||
"class=\"HtmlEncode[[validation-summary-valid wood smoke]]\" data-valmsg-summary=\"HtmlEncode[[true]]\"><ul>" +
|
||||
"<li style=\"display:none\"></li>" + Environment.NewLine +
|
||||
"</ul></div>";
|
||||
var divWithMessage = "<div class=\"validation-summary-valid\" data-valmsg-summary=\"true\">" +
|
||||
"<span>This is my message</span>" + Environment.NewLine +
|
||||
var divWithMessage = "<div class=\"HtmlEncode[[validation-summary-valid]]\" data-valmsg-summary=\"HtmlEncode[[true]]\">" +
|
||||
"<span>HtmlEncode[[This is my message]]</span>" + Environment.NewLine +
|
||||
"<ul><li style=\"display:none\"></li>" + Environment.NewLine +
|
||||
"</ul></div>";
|
||||
var divWithH3Message = "<div class=\"validation-summary-valid\" data-valmsg-summary=\"true\">" +
|
||||
"<h3>This is my message</h3>" + Environment.NewLine +
|
||||
var divWithH3Message = "<div class=\"HtmlEncode[[validation-summary-valid]]\" data-valmsg-summary=\"HtmlEncode[[true]]\">" +
|
||||
"<h3>HtmlEncode[[This is my message]]</h3>" + Environment.NewLine +
|
||||
"<ul><li style=\"display:none\"></li>" + Environment.NewLine +
|
||||
"</ul></div>";
|
||||
var divWithMessageAndAttributes = "<div attribute-name=\"attribute-value\" " +
|
||||
"class=\"validation-summary-valid wood smoke\" data-valmsg-summary=\"true\">" +
|
||||
"<span>This is my message</span>" + Environment.NewLine +
|
||||
var divWithMessageAndAttributes = "<div attribute-name=\"HtmlEncode[[attribute-value]]\" " +
|
||||
"class=\"HtmlEncode[[validation-summary-valid wood smoke]]\" data-valmsg-summary=\"HtmlEncode[[true]]\">" +
|
||||
"<span>HtmlEncode[[This is my message]]</span>" + Environment.NewLine +
|
||||
"<ul><li style=\"display:none\"></li>" + Environment.NewLine +
|
||||
"</ul></div>";
|
||||
var divWithH3MessageAndAttributes = "<div attribute-name=\"attribute-value\" " +
|
||||
"class=\"validation-summary-valid wood smoke\" data-valmsg-summary=\"true\">" +
|
||||
"<h3>This is my message</h3>" + Environment.NewLine +
|
||||
var divWithH3MessageAndAttributes = "<div attribute-name=\"HtmlEncode[[attribute-value]]\" " +
|
||||
"class=\"HtmlEncode[[validation-summary-valid wood smoke]]\" data-valmsg-summary=\"HtmlEncode[[true]]\">" +
|
||||
"<h3>HtmlEncode[[This is my message]]</h3>" + Environment.NewLine +
|
||||
"<ul><li style=\"display:none\"></li>" + Environment.NewLine +
|
||||
"</ul></div>";
|
||||
|
||||
|
|
@ -72,14 +72,14 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
{
|
||||
get
|
||||
{
|
||||
var basicDiv = "<div class=\"validation-summary-errors\"><ul>" +
|
||||
var basicDiv = "<div class=\"HtmlEncode[[validation-summary-errors]]\"><ul>" +
|
||||
"<li style=\"display:none\"></li>" + Environment.NewLine +
|
||||
"</ul></div>";
|
||||
var divWithError = "<div class=\"validation-summary-errors\"><ul>" +
|
||||
"<li>This is my validation message</li>" + Environment.NewLine +
|
||||
var divWithError = "<div class=\"HtmlEncode[[validation-summary-errors]]\"><ul>" +
|
||||
"<li>HtmlEncode[[This is my validation message]]</li>" + Environment.NewLine +
|
||||
"</ul></div>";
|
||||
var divWithErrorAndSummary = "<div class=\"validation-summary-errors\" data-valmsg-summary=\"true\"><ul>" +
|
||||
"<li>This is my validation message</li>" + Environment.NewLine +
|
||||
var divWithErrorAndSummary = "<div class=\"HtmlEncode[[validation-summary-errors]]\" data-valmsg-summary=\"HtmlEncode[[true]]\"><ul>" +
|
||||
"<li>HtmlEncode[[This is my validation message]]</li>" + Environment.NewLine +
|
||||
"</ul></div>";
|
||||
|
||||
return new TheoryData<bool, bool, string, string>
|
||||
|
|
@ -97,25 +97,25 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
{
|
||||
get
|
||||
{
|
||||
var basicDiv = "<div class=\"validation-summary-errors\"><ul>" +
|
||||
var basicDiv = "<div class=\"HtmlEncode[[validation-summary-errors]]\"><ul>" +
|
||||
"<li style=\"display:none\"></li>" + Environment.NewLine +
|
||||
"</ul></div>";
|
||||
var divWithRootError = "<div class=\"validation-summary-errors\"><ul>" +
|
||||
"<li>This is an error for the model root.</li>" + Environment.NewLine +
|
||||
"<li>This is another error for the model root.</li>" + Environment.NewLine +
|
||||
var divWithRootError = "<div class=\"HtmlEncode[[validation-summary-errors]]\"><ul>" +
|
||||
"<li>HtmlEncode[[This is an error for the model root.]]</li>" + Environment.NewLine +
|
||||
"<li>HtmlEncode[[This is another error for the model root.]]</li>" + Environment.NewLine +
|
||||
"</ul></div>";
|
||||
var divWithProperty3Error = "<div class=\"validation-summary-errors\"><ul>" +
|
||||
"<li>This is an error for Property3.</li>" + Environment.NewLine +
|
||||
var divWithProperty3Error = "<div class=\"HtmlEncode[[validation-summary-errors]]\"><ul>" +
|
||||
"<li>HtmlEncode[[This is an error for Property3.]]</li>" + Environment.NewLine +
|
||||
"</ul></div>";
|
||||
var divWithAllErrors = "<div class=\"validation-summary-errors\" data-valmsg-summary=\"true\"><ul>" +
|
||||
"<li>This is an error for Property3.Property2.</li>" + Environment.NewLine +
|
||||
"<li>This is an error for Property3.OrderedProperty3.</li>" + Environment.NewLine +
|
||||
"<li>This is an error for Property3.OrderedProperty2.</li>" + Environment.NewLine +
|
||||
"<li>This is an error for Property3.</li>" + Environment.NewLine +
|
||||
"<li>This is an error for Property2.</li>" + Environment.NewLine +
|
||||
"<li>This is another error for Property2.</li>" + Environment.NewLine +
|
||||
"<li>This is an error for the model root.</li>" + Environment.NewLine +
|
||||
"<li>This is another error for the model root.</li>" + Environment.NewLine +
|
||||
var divWithAllErrors = "<div class=\"HtmlEncode[[validation-summary-errors]]\" data-valmsg-summary=\"HtmlEncode[[true]]\"><ul>" +
|
||||
"<li>HtmlEncode[[This is an error for Property3.Property2.]]</li>" + Environment.NewLine +
|
||||
"<li>HtmlEncode[[This is an error for Property3.OrderedProperty3.]]</li>" + Environment.NewLine +
|
||||
"<li>HtmlEncode[[This is an error for Property3.OrderedProperty2.]]</li>" + Environment.NewLine +
|
||||
"<li>HtmlEncode[[This is an error for Property3.]]</li>" + Environment.NewLine +
|
||||
"<li>HtmlEncode[[This is an error for Property2.]]</li>" + Environment.NewLine +
|
||||
"<li>HtmlEncode[[This is another error for Property2.]]</li>" + Environment.NewLine +
|
||||
"<li>HtmlEncode[[This is an error for the model root.]]</li>" + Environment.NewLine +
|
||||
"<li>HtmlEncode[[This is another error for the model root.]]</li>" + Environment.NewLine +
|
||||
"</ul></div>";
|
||||
|
||||
return new TheoryData<bool, string, string>
|
||||
|
|
@ -304,18 +304,18 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
public void ValidationSummary_ErrorsInModelUsingOrder_SortsErrorsAsExpected()
|
||||
{
|
||||
// Arrange
|
||||
var expected = "<div class=\"validation-summary-errors\" data-valmsg-summary=\"true\"><ul>" +
|
||||
"<li>This is an error for OrderedProperty3.</li>" + Environment.NewLine +
|
||||
"<li>This is an error for OrderedProperty2.</li>" + Environment.NewLine +
|
||||
"<li>This is another error for OrderedProperty2.</li>" + Environment.NewLine +
|
||||
"<li>This is yet-another error for OrderedProperty2.</li>" + Environment.NewLine +
|
||||
"<li>This is an error for OrderedProperty1.</li>" + Environment.NewLine +
|
||||
"<li>This is an error for Property3.</li>" + Environment.NewLine +
|
||||
"<li>This is an error for Property2.</li>" + Environment.NewLine +
|
||||
"<li>This is another error for Property2.</li>" + Environment.NewLine +
|
||||
"<li>This is an error for Property1.</li>" + Environment.NewLine +
|
||||
"<li>This is another error for Property1.</li>" + Environment.NewLine +
|
||||
"<li>This is an error for LastProperty.</li>" + Environment.NewLine +
|
||||
var expected = "<div class=\"HtmlEncode[[validation-summary-errors]]\" data-valmsg-summary=\"HtmlEncode[[true]]\"><ul>" +
|
||||
"<li>HtmlEncode[[This is an error for OrderedProperty3.]]</li>" + Environment.NewLine +
|
||||
"<li>HtmlEncode[[This is an error for OrderedProperty2.]]</li>" + Environment.NewLine +
|
||||
"<li>HtmlEncode[[This is another error for OrderedProperty2.]]</li>" + Environment.NewLine +
|
||||
"<li>HtmlEncode[[This is yet-another error for OrderedProperty2.]]</li>" + Environment.NewLine +
|
||||
"<li>HtmlEncode[[This is an error for OrderedProperty1.]]</li>" + Environment.NewLine +
|
||||
"<li>HtmlEncode[[This is an error for Property3.]]</li>" + Environment.NewLine +
|
||||
"<li>HtmlEncode[[This is an error for Property2.]]</li>" + Environment.NewLine +
|
||||
"<li>HtmlEncode[[This is another error for Property2.]]</li>" + Environment.NewLine +
|
||||
"<li>HtmlEncode[[This is an error for Property1.]]</li>" + Environment.NewLine +
|
||||
"<li>HtmlEncode[[This is another error for Property1.]]</li>" + Environment.NewLine +
|
||||
"<li>HtmlEncode[[This is an error for LastProperty.]]</li>" + Environment.NewLine +
|
||||
"</ul></div>";
|
||||
|
||||
var model = new OrderedModel();
|
||||
|
|
|
|||
Loading…
Reference in New Issue