From 5da8ba776967ed7386af821b18ce0d86f93dcfed Mon Sep 17 00:00:00 2001 From: Ajay Bhargav Baaskaran Date: Fri, 17 Apr 2015 17:18:25 -0700 Subject: [PATCH] [Fixes #2085] Using custom HtmlEncoder in unit tests --- .../OptionTagHelper.cs | 4 + .../AntiXsrf/AntiForgeryWorkerTest.cs | 21 +++-- .../ValidateAntiForgeryTokenAttributeTest.cs | 4 +- .../Rendering/HtmlHelperFormExtensionsTest.cs | 32 +++---- .../Rendering/TagBuilderTest.cs | 25 ++++-- .../project.json | 1 + .../RazorPageActivatorTest.cs | 10 +-- .../RazorPageTest.cs | 52 +++++------ .../RazorViewTest.cs | 87 +++++++++---------- .../project.json | 1 + .../AnchorTagHelperTest.cs | 5 +- .../FormTagHelperTest.cs | 12 +-- .../InputTagHelperTest.cs | 20 ++--- .../LabelTagHelperTest.cs | 18 ++-- .../LinkTagHelperTest.cs | 25 +++--- .../OptionTagHelperTest.cs | 15 ++-- .../ScriptTagHelperTest.cs | 27 +++--- .../SelectTagHelperTest.cs | 18 ++-- .../TagHelperOutputExtensionsTest.cs | 16 ++-- .../TestableHtmlGenerator.cs | 8 +- .../TextAreaTagHelperTest.cs | 18 ++-- .../ValidationMessageTagHelperTest.cs | 8 +- .../project.json | 1 + 23 files changed, 229 insertions(+), 199 deletions(-) diff --git a/src/Microsoft.AspNet.Mvc.TagHelpers/OptionTagHelper.cs b/src/Microsoft.AspNet.Mvc.TagHelpers/OptionTagHelper.cs index e55ed3761c..2e26a0586b 100644 --- a/src/Microsoft.AspNet.Mvc.TagHelpers/OptionTagHelper.cs +++ b/src/Microsoft.AspNet.Mvc.TagHelpers/OptionTagHelper.cs @@ -78,6 +78,10 @@ namespace Microsoft.AspNet.Mvc.TagHelpers { selected = selectedValues.Contains(Value); } + else if (output.IsContentModified) + { + selected = encodedValues.Contains(output.Content.GetContent()); + } else { var childContent = await context.GetChildContentAsync(); diff --git a/test/Microsoft.AspNet.Mvc.Core.Test/AntiXsrf/AntiForgeryWorkerTest.cs b/test/Microsoft.AspNet.Mvc.Core.Test/AntiXsrf/AntiForgeryWorkerTest.cs index 4d4950b7ef..bce2d80372 100644 --- a/test/Microsoft.AspNet.Mvc.Core.Test/AntiXsrf/AntiForgeryWorkerTest.cs +++ b/test/Microsoft.AspNet.Mvc.Core.Test/AntiXsrf/AntiForgeryWorkerTest.cs @@ -8,7 +8,7 @@ using System.Threading.Tasks; using Microsoft.AspNet.Http; using Microsoft.AspNet.Http.Collections; using Microsoft.AspNet.Mvc.Rendering; -using Microsoft.Framework.WebEncoders; +using Microsoft.Framework.WebEncoders.Testing; using Moq; using Xunit; @@ -36,7 +36,7 @@ namespace Microsoft.AspNet.Mvc.Core.Test tokenStore: null, generator: null, validator: null, - htmlEncoder: new HtmlEncoder()); + htmlEncoder: new CommonTestEncoder()); // Act & assert var ex = @@ -68,7 +68,7 @@ namespace Microsoft.AspNet.Mvc.Core.Test tokenStore: null, generator: null, validator: null, - htmlEncoder: new HtmlEncoder()); + htmlEncoder: new CommonTestEncoder()); // Act & assert var ex = Assert.Throws( @@ -98,7 +98,7 @@ namespace Microsoft.AspNet.Mvc.Core.Test tokenStore: null, generator: null, validator: null, - htmlEncoder: new HtmlEncoder()); + htmlEncoder: new CommonTestEncoder()); // Act & assert var ex = Assert.Throws(() => worker.GetFormInputElement(mockHttpContext.Object)); @@ -127,7 +127,7 @@ namespace Microsoft.AspNet.Mvc.Core.Test tokenStore: null, generator: null, validator: null, - htmlEncoder: new HtmlEncoder()); + htmlEncoder: new CommonTestEncoder()); // Act & assert var ex = Assert.Throws(() => worker.GetTokens(mockHttpContext.Object, "cookie-token")); @@ -154,7 +154,8 @@ namespace Microsoft.AspNet.Mvc.Core.Test var inputElement = worker.GetFormInputElement(context.HttpContext.Object); // Assert - Assert.Equal(@"", + Assert.Equal(@"", inputElement.ToString(TagRenderMode.SelfClosing)); context.TokenStore.Verify(); } @@ -184,7 +185,8 @@ namespace Microsoft.AspNet.Mvc.Core.Test var inputElement = worker.GetFormInputElement(context.HttpContext.Object); // Assert - Assert.Equal(@"", + Assert.Equal(@"", inputElement.ToString(TagRenderMode.SelfClosing)); context.TokenStore.Verify(); } @@ -206,7 +208,8 @@ namespace Microsoft.AspNet.Mvc.Core.Test var inputElement = worker.GetFormInputElement(context.HttpContext.Object); // Assert - Assert.Equal(@"", + Assert.Equal(@"", inputElement.ToString(TagRenderMode.SelfClosing)); } @@ -415,7 +418,7 @@ namespace Microsoft.AspNet.Mvc.Core.Test tokenStore: context.TokenStore != null ? context.TokenStore.Object : null, generator: context.TokenProvider != null ? context.TokenProvider.Object : null, validator: context.TokenProvider != null ? context.TokenProvider.Object : null, - htmlEncoder: new HtmlEncoder()); + htmlEncoder: new CommonTestEncoder()); } private Mock GetHttpContext(bool setupResponse = true) diff --git a/test/Microsoft.AspNet.Mvc.Core.Test/AntiXsrf/ValidateAntiForgeryTokenAttributeTest.cs b/test/Microsoft.AspNet.Mvc.Core.Test/AntiXsrf/ValidateAntiForgeryTokenAttributeTest.cs index 1cd336a7ac..d7a9fc85a9 100644 --- a/test/Microsoft.AspNet.Mvc.Core.Test/AntiXsrf/ValidateAntiForgeryTokenAttributeTest.cs +++ b/test/Microsoft.AspNet.Mvc.Core.Test/AntiXsrf/ValidateAntiForgeryTokenAttributeTest.cs @@ -4,7 +4,7 @@ using Microsoft.AspNet.DataProtection; using Microsoft.Framework.DependencyInjection; using Microsoft.Framework.OptionsModel; -using Microsoft.Framework.WebEncoders; +using Microsoft.Framework.WebEncoders.Testing; using Moq; using Xunit; @@ -44,7 +44,7 @@ namespace Microsoft.AspNet.Mvc.Core.Test dataProtectionProvider.Object, additionalDataProvider.Object, optionsAccessor.Object, - new HtmlEncoder(), + new CommonTestEncoder(), mockDataProtectionOptions.Object); } } diff --git a/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/HtmlHelperFormExtensionsTest.cs b/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/HtmlHelperFormExtensionsTest.cs index 2dce1621b7..fd99ffa643 100644 --- a/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/HtmlHelperFormExtensionsTest.cs +++ b/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/HtmlHelperFormExtensionsTest.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.IO; -using Microsoft.Framework.WebEncoders; +using Microsoft.Framework.WebEncoders.Testing; using Moq; using Xunit; @@ -276,7 +276,7 @@ namespace Microsoft.AspNet.Mvc.Rendering public void BeginFormWithNoParameters_CallsHtmlGeneratorWithExpectedValues() { // Arrange - var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new HtmlEncoder()); + var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new NullTestEncoder()); var htmlGenerator = new Mock(MockBehavior.Strict); var htmlHelper = DefaultTemplatesUtilities.GetHtmlHelper(htmlGenerator.Object); htmlGenerator @@ -310,7 +310,7 @@ namespace Microsoft.AspNet.Mvc.Rendering public void BeginFormWithMethodParameter_CallsHtmlGeneratorWithExpectedValues(FormMethod method) { // Arrange - var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new HtmlEncoder()); + var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new NullTestEncoder()); var htmlGenerator = new Mock(MockBehavior.Strict); var htmlHelper = DefaultTemplatesUtilities.GetHtmlHelper(htmlGenerator.Object); htmlGenerator @@ -346,7 +346,7 @@ namespace Microsoft.AspNet.Mvc.Rendering object htmlAttributes) { // Arrange - var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new HtmlEncoder()); + var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new NullTestEncoder()); var htmlGenerator = new Mock(MockBehavior.Strict); var htmlHelper = DefaultTemplatesUtilities.GetHtmlHelper(htmlGenerator.Object); htmlGenerator @@ -380,7 +380,7 @@ namespace Microsoft.AspNet.Mvc.Rendering public void BeginFormWithRouteValuesParameter_CallsHtmlGeneratorWithExpectedValues(object routeValues) { // Arrange - var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new HtmlEncoder()); + var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new NullTestEncoder()); var htmlGenerator = new Mock(MockBehavior.Strict); var htmlHelper = DefaultTemplatesUtilities.GetHtmlHelper(htmlGenerator.Object); htmlGenerator @@ -416,7 +416,7 @@ namespace Microsoft.AspNet.Mvc.Rendering string controllerName) { // Arrange - var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new HtmlEncoder()); + var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new NullTestEncoder()); var htmlGenerator = new Mock(MockBehavior.Strict); var htmlHelper = DefaultTemplatesUtilities.GetHtmlHelper(htmlGenerator.Object); htmlGenerator @@ -453,7 +453,7 @@ namespace Microsoft.AspNet.Mvc.Rendering object routeValues) { // Arrange - var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new HtmlEncoder()); + var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new NullTestEncoder()); var htmlGenerator = new Mock(MockBehavior.Strict); var htmlHelper = DefaultTemplatesUtilities.GetHtmlHelper(htmlGenerator.Object); htmlGenerator @@ -490,7 +490,7 @@ namespace Microsoft.AspNet.Mvc.Rendering FormMethod method) { // Arrange - var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new HtmlEncoder()); + var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new NullTestEncoder()); var htmlGenerator = new Mock(MockBehavior.Strict); var htmlHelper = DefaultTemplatesUtilities.GetHtmlHelper(htmlGenerator.Object); htmlGenerator @@ -528,7 +528,7 @@ namespace Microsoft.AspNet.Mvc.Rendering FormMethod method) { // Arrange - var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new HtmlEncoder()); + var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new NullTestEncoder()); var htmlGenerator = new Mock(MockBehavior.Strict); var htmlHelper = DefaultTemplatesUtilities.GetHtmlHelper(htmlGenerator.Object); htmlGenerator @@ -566,7 +566,7 @@ namespace Microsoft.AspNet.Mvc.Rendering object htmlAttributes) { // Arrange - var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new HtmlEncoder()); + var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new NullTestEncoder()); var htmlGenerator = new Mock(MockBehavior.Strict); var htmlHelper = DefaultTemplatesUtilities.GetHtmlHelper(htmlGenerator.Object); htmlGenerator @@ -600,7 +600,7 @@ namespace Microsoft.AspNet.Mvc.Rendering public void BeginRouteFormWithRouteValuesParameter_CallsHtmlGeneratorWithExpectedValues(object routeValues) { // Arrange - var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new HtmlEncoder()); + var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new NullTestEncoder()); var htmlGenerator = new Mock(MockBehavior.Strict); var htmlHelper = DefaultTemplatesUtilities.GetHtmlHelper(htmlGenerator.Object); htmlGenerator @@ -633,7 +633,7 @@ namespace Microsoft.AspNet.Mvc.Rendering public void BeginRouteFormWithRouteNameParameter_CallsHtmlGeneratorWithExpectedValues(string routeName) { // Arrange - var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new HtmlEncoder()); + var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new NullTestEncoder()); var htmlGenerator = new Mock(MockBehavior.Strict); var htmlHelper = DefaultTemplatesUtilities.GetHtmlHelper(htmlGenerator.Object); htmlGenerator @@ -668,7 +668,7 @@ namespace Microsoft.AspNet.Mvc.Rendering object routeValues) { // Arrange - var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new HtmlEncoder()); + var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new NullTestEncoder()); var htmlGenerator = new Mock(MockBehavior.Strict); var htmlHelper = DefaultTemplatesUtilities.GetHtmlHelper(htmlGenerator.Object); htmlGenerator @@ -703,7 +703,7 @@ namespace Microsoft.AspNet.Mvc.Rendering FormMethod method) { // Arrange - var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new HtmlEncoder()); + var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new NullTestEncoder()); var htmlGenerator = new Mock(MockBehavior.Strict); var htmlHelper = DefaultTemplatesUtilities.GetHtmlHelper(htmlGenerator.Object); htmlGenerator @@ -739,7 +739,7 @@ namespace Microsoft.AspNet.Mvc.Rendering FormMethod method) { // Arrange - var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new HtmlEncoder()); + var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new NullTestEncoder()); var htmlGenerator = new Mock(MockBehavior.Strict); var htmlHelper = DefaultTemplatesUtilities.GetHtmlHelper(htmlGenerator.Object); htmlGenerator @@ -775,7 +775,7 @@ namespace Microsoft.AspNet.Mvc.Rendering object htmlAttributes) { // Arrange - var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new HtmlEncoder()); + var tagBuilder = new TagBuilder(tagName: "form", htmlEncoder: new NullTestEncoder()); var htmlGenerator = new Mock(MockBehavior.Strict); var htmlHelper = DefaultTemplatesUtilities.GetHtmlHelper(htmlGenerator.Object); htmlGenerator diff --git a/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/TagBuilderTest.cs b/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/TagBuilderTest.cs index a271f1f023..14137e826c 100644 --- a/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/TagBuilderTest.cs +++ b/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/TagBuilderTest.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using Microsoft.AspNet.Mvc.Rendering; -using Microsoft.Framework.WebEncoders; +using Microsoft.Framework.WebEncoders.Testing; using Xunit; namespace Microsoft.AspNet.Mvc.Core.Rendering @@ -29,7 +29,7 @@ namespace Microsoft.AspNet.Mvc.Core.Rendering public void MergeAttribute_IgnoresCase(bool replaceExisting, string expectedKey, string expectedValue) { // Arrange - var tagBuilder = new TagBuilder("p", new HtmlEncoder()); + var tagBuilder = new TagBuilder("p", new NullTestEncoder()); tagBuilder.Attributes.Add("Hello", "World"); // Act @@ -44,7 +44,7 @@ namespace Microsoft.AspNet.Mvc.Core.Rendering public void AddCssClass_IgnoresCase() { // Arrange - var tagBuilder = new TagBuilder("p", new HtmlEncoder()); + var tagBuilder = new TagBuilder("p", new NullTestEncoder()); tagBuilder.Attributes.Add("ClaSs", "btn"); // Act @@ -59,7 +59,7 @@ namespace Microsoft.AspNet.Mvc.Core.Rendering public void GenerateId_IgnoresCase() { // Arrange - var tagBuilder = new TagBuilder("p", new HtmlEncoder()); + var tagBuilder = new TagBuilder("p", new NullTestEncoder()); tagBuilder.Attributes.Add("ID", "something"); // Act @@ -75,7 +75,7 @@ namespace Microsoft.AspNet.Mvc.Core.Rendering public void ToString_IgnoresIdAttributeCase(TagRenderMode renderingMode, string expectedOutput) { // Arrange - var tagBuilder = new TagBuilder("p", new HtmlEncoder()); + var tagBuilder = new TagBuilder("p", new NullTestEncoder()); // An empty value id attribute should not be rendered via ToString. tagBuilder.Attributes.Add("ID", string.Empty); @@ -92,7 +92,7 @@ namespace Microsoft.AspNet.Mvc.Core.Rendering public void ToHtmlString_IgnoresIdAttributeCase(TagRenderMode renderingMode, string expectedOutput) { // Arrange - var tagBuilder = new TagBuilder("p", new HtmlEncoder()); + var tagBuilder = new TagBuilder("p", new NullTestEncoder()); // An empty value id attribute should not be rendered via ToHtmlString. tagBuilder.Attributes.Add("ID", string.Empty); @@ -103,5 +103,18 @@ namespace Microsoft.AspNet.Mvc.Core.Rendering // Assert Assert.Equal(expectedOutput, value.ToString()); } + + [Fact] + public void SetInnerText_HtmlEncodesValue() + { + // Arrange + var tagBuilder = new TagBuilder("p", new CommonTestEncoder()); + + // Act + tagBuilder.SetInnerText("TestValue"); + + // Assert + Assert.Equal("HtmlEncode[[TestValue]]", tagBuilder.InnerHtml); + } } } \ No newline at end of file diff --git a/test/Microsoft.AspNet.Mvc.Core.Test/project.json b/test/Microsoft.AspNet.Mvc.Core.Test/project.json index 4cc46e2ded..05db42ac65 100644 --- a/test/Microsoft.AspNet.Mvc.Core.Test/project.json +++ b/test/Microsoft.AspNet.Mvc.Core.Test/project.json @@ -8,6 +8,7 @@ "Microsoft.AspNet.Mvc.Xml": "6.0.0-*", "Microsoft.AspNet.Testing": "1.0.0-*", "Microsoft.Framework.Logging.Testing": "1.0.0-*", + "Microsoft.Framework.WebEncoders.Testing": "1.0.0-*", "Moq": "4.2.1312.1622", "xunit.runner.aspnet": "2.0.0-aspnet-*" }, diff --git a/test/Microsoft.AspNet.Mvc.Razor.Test/RazorPageActivatorTest.cs b/test/Microsoft.AspNet.Mvc.Razor.Test/RazorPageActivatorTest.cs index 3c56982005..e600c3a911 100644 --- a/test/Microsoft.AspNet.Mvc.Razor.Test/RazorPageActivatorTest.cs +++ b/test/Microsoft.AspNet.Mvc.Razor.Test/RazorPageActivatorTest.cs @@ -9,8 +9,8 @@ using Microsoft.AspNet.Http; using Microsoft.AspNet.Mvc.ModelBinding; using Microsoft.AspNet.Mvc.Rendering; using Microsoft.AspNet.Routing; -using Microsoft.Framework.DependencyInjection; using Microsoft.Framework.WebEncoders; +using Microsoft.Framework.WebEncoders.Testing; using Moq; using Xunit; @@ -27,7 +27,7 @@ namespace Microsoft.AspNet.Mvc.Razor var myService = new MyService(); var helper = Mock.Of>(); - var htmlEncoder = new HtmlEncoder(); + var htmlEncoder = new CommonTestEncoder(); var serviceProvider = new Mock(); serviceProvider.Setup(p => p.GetService(typeof(MyService))) .Returns(myService); @@ -96,7 +96,7 @@ namespace Microsoft.AspNet.Mvc.Razor var myService = new MyService(); var helper = Mock.Of>(); - var htmlEncoder = new HtmlEncoder(); + var htmlEncoder = new CommonTestEncoder(); var serviceProvider = new Mock(); serviceProvider.Setup(p => p.GetService(typeof(MyService))) .Returns(myService); @@ -134,7 +134,7 @@ namespace Microsoft.AspNet.Mvc.Razor var instance = new TestRazorPage(); var myService = new MyService(); var helper = Mock.Of>(); - var htmlEncoder = new HtmlEncoder(); + var htmlEncoder = new CommonTestEncoder(); var serviceProvider = new Mock(); serviceProvider.Setup(p => p.GetService(typeof(MyService))) .Returns(myService); @@ -172,7 +172,7 @@ namespace Microsoft.AspNet.Mvc.Razor var instance = new DoesNotDeriveFromRazorPageOfTButHasModelProperty(); var myService = new MyService(); var helper = Mock.Of>(); - var htmlEncoder = new HtmlEncoder(); + var htmlEncoder = new CommonTestEncoder(); var serviceProvider = new Mock(); serviceProvider.Setup(p => p.GetService(typeof(MyService))) .Returns(myService); diff --git a/test/Microsoft.AspNet.Mvc.Razor.Test/RazorPageTest.cs b/test/Microsoft.AspNet.Mvc.Razor.Test/RazorPageTest.cs index a21082d863..3850fd19ff 100644 --- a/test/Microsoft.AspNet.Mvc.Razor.Test/RazorPageTest.cs +++ b/test/Microsoft.AspNet.Mvc.Razor.Test/RazorPageTest.cs @@ -11,7 +11,7 @@ using Microsoft.AspNet.Mvc.Rendering; using Microsoft.AspNet.PageExecutionInstrumentation; using Microsoft.AspNet.Razor.Runtime.TagHelpers; using Microsoft.AspNet.Testing; -using Microsoft.Framework.WebEncoders; +using Microsoft.Framework.WebEncoders.Testing; using Moq; using Xunit; @@ -30,7 +30,7 @@ namespace Microsoft.AspNet.Mvc.Razor var viewContext = CreateViewContext(); var page = CreatePage(v => { - v.HtmlEncoder = new HtmlEncoder(); + v.HtmlEncoder = new CommonTestEncoder(); v.Write("Hello Prefix"); v.StartTagHelperWritingScope(); v.Write("Hello from Output"); @@ -44,7 +44,8 @@ namespace Microsoft.AspNet.Mvc.Razor var pageOutput = page.Output.ToString(); // Assert - Assert.Equal("Hello PrefixFrom Scope: Hello from OutputHello from view context writer", pageOutput); + Assert.Equal("HtmlEncode[[Hello Prefix]]HtmlEncode[[From Scope: HtmlEncode[[Hello from Output]]" + + "Hello from view context writer]]", pageOutput); } [Fact] @@ -54,7 +55,7 @@ namespace Microsoft.AspNet.Mvc.Razor var viewContext = CreateViewContext(); var page = CreatePage(v => { - v.HtmlEncoder = new HtmlEncoder(); + v.HtmlEncoder = new CommonTestEncoder(); v.Write("Hello Prefix"); v.StartTagHelperWritingScope(); v.Write("Hello In Scope"); @@ -67,7 +68,7 @@ namespace Microsoft.AspNet.Mvc.Razor var pageOutput = page.Output.ToString(); // Assert - Assert.Equal("Hello PrefixFrom Scope: Hello In Scope", pageOutput); + Assert.Equal("HtmlEncode[[Hello Prefix]]HtmlEncode[[From Scope: HtmlEncode[[Hello In Scope]]]]", pageOutput); } [Fact] @@ -77,7 +78,7 @@ namespace Microsoft.AspNet.Mvc.Razor var viewContext = CreateViewContext(); var page = CreatePage(v => { - v.HtmlEncoder = new HtmlEncoder(); + v.HtmlEncoder = new CommonTestEncoder(); v.Write("Hello Prefix"); v.StartTagHelperWritingScope(); v.Write("Hello In Scope Pre Nest"); @@ -97,7 +98,8 @@ namespace Microsoft.AspNet.Mvc.Razor var pageOutput = page.Output.ToString(); // Assert - Assert.Equal("Hello PrefixFrom Scopes: Hello In Scope Pre NestHello In Scope Post NestHello In Nested Scope", pageOutput); + Assert.Equal("HtmlEncode[[Hello Prefix]]HtmlEncode[[From Scopes: HtmlEncode[[Hello In Scope Pre Nest]]" + + "HtmlEncode[[Hello In Scope Post Nest]]HtmlEncode[[Hello In Nested Scope]]]]", pageOutput); } [Fact] @@ -148,14 +150,14 @@ namespace Microsoft.AspNet.Mvc.Razor // Act var page = CreatePage(v => { - v.HtmlEncoder = new HtmlEncoder(); + v.HtmlEncoder = new CommonTestEncoder(); v.StartTagHelperWritingScope(); v.Write("Hello World!"); var returnValue = v.EndTagHelperWritingScope(); // Assert var content = Assert.IsType(returnValue); - Assert.Equal("Hello World!", content.GetContent()); + Assert.Equal("HtmlEncode[[Hello World!]]", content.GetContent()); }); await page.ExecuteAsync(); } @@ -169,7 +171,7 @@ namespace Microsoft.AspNet.Mvc.Razor // Act var page = CreatePage(v => { - v.HtmlEncoder = new HtmlEncoder(); + v.HtmlEncoder = new CommonTestEncoder(); v.StartTagHelperWritingScope(new RazorTextWriter(TextWriter.Null, Encoding.UTF8)); v.Write("Hello "); v.Write("World!"); @@ -177,8 +179,8 @@ namespace Microsoft.AspNet.Mvc.Razor // Assert var content = Assert.IsType(returnValue); - Assert.Equal("Hello World!", content.GetContent()); - Assert.Equal(new[] { "Hello ", "World!" }, content.AsArray()); + Assert.Equal("HtmlEncode[[Hello ]]HtmlEncode[[World!]]", content.GetContent()); + Assert.Equal(new[] { "HtmlEncode[[Hello ]]", "HtmlEncode[[World!]]" }, content.AsArray()); }, viewContext); await page.ExecuteAsync(); } @@ -545,7 +547,7 @@ namespace Microsoft.AspNet.Mvc.Razor .Verifiable(); var page = CreatePage(v => { - v.HtmlEncoder = new HtmlEncoder(); + v.HtmlEncoder = new CommonTestEncoder(); v.Write(v.Href("url")); }); var services = new Mock(); @@ -558,7 +560,7 @@ namespace Microsoft.AspNet.Mvc.Razor // Assert var actual = page.RenderedContent; - Assert.Equal(expected, actual); + Assert.Equal($"HtmlEncode[[{expected}]]", actual); helper.Verify(); } @@ -649,7 +651,7 @@ namespace Microsoft.AspNet.Mvc.Razor // Arrange var page = CreatePage(p => { - p.HtmlEncoder = new HtmlEncoder(); + p.HtmlEncoder = new CommonTestEncoder(); p.WriteAttribute("href", new PositionTagged("prefix", 0), new PositionTagged("suffix", 34), @@ -787,7 +789,7 @@ namespace Microsoft.AspNet.Mvc.Razor content: "Hello World!", postContent: null, postElement: null), - "

Hello World!

" + "

Hello World!

" }, { GetTagHelperOutput( @@ -799,7 +801,7 @@ namespace Microsoft.AspNet.Mvc.Razor content: "Hello World!", postContent: null, postElement: null), - "

Hello World!

" + "

Hello World!

" }, { GetTagHelperOutput( @@ -811,7 +813,7 @@ namespace Microsoft.AspNet.Mvc.Razor content: "Hello World!", postContent: null, postElement: null), - "

" + "

" }, { GetTagHelperOutput( @@ -823,7 +825,7 @@ namespace Microsoft.AspNet.Mvc.Razor content: "Hello World!", postContent: null, postElement: null), - "

" + "

" }, { GetTagHelperOutput( @@ -955,7 +957,7 @@ namespace Microsoft.AspNet.Mvc.Razor content: null, postContent: null, postElement: null), - "Before" + "Before" }, { GetTagHelperOutput( @@ -1015,7 +1017,7 @@ namespace Microsoft.AspNet.Mvc.Razor content: null, postContent: null, postElement: "After"), - "After" + "After" }, { GetTagHelperOutput( @@ -1051,7 +1053,7 @@ namespace Microsoft.AspNet.Mvc.Razor content: "Test", postContent: "World!", postElement: "After"), - "BeforeHelloTestWorld!After" + "BeforeHelloTestWorld!After" }, { GetTagHelperOutput( @@ -1125,7 +1127,7 @@ namespace Microsoft.AspNet.Mvc.Razor // Act var page = CreatePage(p => { - p.HtmlEncoder = new HtmlEncoder(); + p.HtmlEncoder = new CommonTestEncoder(); p.WriteTagHelperAsync(tagHelperExecutionContext).Wait(); }, context); await page.ExecuteAsync(); @@ -1167,7 +1169,7 @@ namespace Microsoft.AspNet.Mvc.Razor // Act var page = CreatePage(p => { - p.HtmlEncoder = new HtmlEncoder(); + p.HtmlEncoder = new CommonTestEncoder(); p.WriteTagHelperAsync(tagHelperExecutionContext).Wait(); }, context); await page.ExecuteAsync(); @@ -1224,7 +1226,7 @@ namespace Microsoft.AspNet.Mvc.Razor // Act var page = CreatePage(p => { - p.HtmlEncoder = new HtmlEncoder(); + p.HtmlEncoder = new CommonTestEncoder(); p.WriteTagHelperToAsync(writer, tagHelperExecutionContext).Wait(); }, context); await page.ExecuteAsync(); diff --git a/test/Microsoft.AspNet.Mvc.Razor.Test/RazorViewTest.cs b/test/Microsoft.AspNet.Mvc.Razor.Test/RazorViewTest.cs index 2b0cede161..c44e574f60 100644 --- a/test/Microsoft.AspNet.Mvc.Razor.Test/RazorViewTest.cs +++ b/test/Microsoft.AspNet.Mvc.Razor.Test/RazorViewTest.cs @@ -9,7 +9,7 @@ using System.Threading.Tasks; using Microsoft.AspNet.Http; using Microsoft.AspNet.Mvc.ModelBinding; using Microsoft.AspNet.PageExecutionInstrumentation; -using Microsoft.Framework.WebEncoders; +using Microsoft.Framework.WebEncoders.Testing; using Moq; using Xunit; @@ -31,7 +31,7 @@ namespace Microsoft.AspNet.Mvc.Razor var page = new TestableRazorPage(v => { actual = v.Output; - v.HtmlEncoder = new HtmlEncoder(); + v.HtmlEncoder = new CommonTestEncoder(); v.Write("Hello world"); }); var view = new RazorView(Mock.Of(), @@ -48,7 +48,7 @@ namespace Microsoft.AspNet.Mvc.Razor // Assert Assert.NotSame(expected, actual); Assert.IsAssignableFrom(actual); - Assert.Equal("Hello world", viewContext.Writer.ToString()); + Assert.Equal("HtmlEncode[[Hello world]]", viewContext.Writer.ToString()); } [Fact] @@ -167,10 +167,10 @@ namespace Microsoft.AspNet.Mvc.Razor public async Task RenderAsync_AsPartial_ExecutesLayout_ButNotViewStartPages() { // Arrange - var htmlEncoder = new HtmlEncoder(); - var expected = string.Join(htmlEncoder.HtmlEncode(Environment.NewLine), - "layout-content", - "page-content"); + var htmlEncoder = new CommonTestEncoder(); + var expected = string.Join(Environment.NewLine, + "HtmlEncode[[layout-content", + "]]HtmlEncode[[page-content]]"); var page = new TestableRazorPage(v => { v.HtmlEncoder = htmlEncoder; @@ -364,11 +364,11 @@ namespace Microsoft.AspNet.Mvc.Razor public async Task RenderAsync_ExecutesLayoutPages() { // Arrange - var htmlEncoder = new HtmlEncoder(); + var htmlEncoder = new CommonTestEncoder(); var htmlEncodedNewLine = htmlEncoder.HtmlEncode(Environment.NewLine); - var expected = "layout-content" + - htmlEncodedNewLine + - "head-content" + + var expected = "HtmlEncode[[layout-content" + + Environment.NewLine + + "]]head-content" + htmlEncodedNewLine + "body-content" + htmlEncodedNewLine + @@ -468,7 +468,7 @@ namespace Microsoft.AspNet.Mvc.Razor "layout-section-content", "page-section-content"); - var htmlEncoder = new HtmlEncoder(); + var htmlEncoder = new CommonTestEncoder(); var page = new TestableRazorPage(v => { v.HtmlEncoder = htmlEncoder; @@ -531,7 +531,7 @@ namespace Microsoft.AspNet.Mvc.Razor "layout-section-content", "page-section-content"); - var htmlEncoder = new HtmlEncoder(); + var htmlEncoder = new CommonTestEncoder(); var page = new TestableRazorPage(v => { v.HtmlEncoder = htmlEncoder; @@ -583,7 +583,7 @@ namespace Microsoft.AspNet.Mvc.Razor public async Task RenderAsync_WithNestedSections_ThrowsIfSectionsWereDefinedButNotRendered() { // Arrange - var htmlEncoder = new HtmlEncoder(); + var htmlEncoder = new CommonTestEncoder(); var page = new TestableRazorPage(v => { v.HtmlEncoder = htmlEncoder; @@ -641,7 +641,7 @@ namespace Microsoft.AspNet.Mvc.Razor public async Task RenderAsync_WithNestedSectionsOfTheSameName_ThrowsIfSectionsWereDefinedButNotRendered() { // Arrange - var htmlEncoder = new HtmlEncoder(); + var htmlEncoder = new CommonTestEncoder(); var page = new TestableRazorPage(v => { v.HtmlEncoder = htmlEncoder; @@ -735,15 +735,14 @@ namespace Microsoft.AspNet.Mvc.Razor public async Task RenderAsync_ExecutesNestedLayoutPages() { // Arrange - var htmlEncoder = new HtmlEncoder(); - var htmlEncodedNewLine = htmlEncoder.HtmlEncode(Environment.NewLine); - var expected = "layout-2" + - htmlEncodedNewLine + - "bar-content" + + var htmlEncoder = new CommonTestEncoder(); + var expected = "HtmlEncode[[layout-2" + Environment.NewLine + - "layout-1" + - htmlEncodedNewLine + - "foo-content" + + "]]bar-content" + + Environment.NewLine + + "HtmlEncode[[layout-1" + + Environment.NewLine + + "]]foo-content" + Environment.NewLine + "body-content"; @@ -797,15 +796,15 @@ namespace Microsoft.AspNet.Mvc.Razor public async Task RenderAsync_ExecutesNestedLayoutsWithNestedSections() { // Arrange - var htmlEncoder = new HtmlEncoder(); - var htmlEncodedNewLine = htmlEncoder.HtmlEncode(Environment.NewLine); - var expected = "BaseLayout" + - htmlEncodedNewLine + - "NestedLayout" + - htmlEncodedNewLine + - "BodyContent" + + var htmlEncoder = new CommonTestEncoder(); + var expected = "HtmlEncode[[BaseLayout" + + Environment.NewLine + + "]]HtmlEncode[[NestedLayout" + + Environment.NewLine + + "]]BodyContent" + "foo-content" + Environment.NewLine + + "HtmlEncode[[]]" + Environment.NewLine; var page = new TestableRazorPage(v => @@ -860,10 +859,10 @@ namespace Microsoft.AspNet.Mvc.Razor public async Task RenderAsync_DoesNotCopyContentOnceRazorTextWriterIsNoLongerBuffering() { // Arrange - var htmlEncoder = new HtmlEncoder(); - var expected = "layout-1" + - htmlEncoder.HtmlEncode(Environment.NewLine) + - "body content" + + var htmlEncoder = new CommonTestEncoder(); + var expected = "HtmlEncode[[layout-1" + + Environment.NewLine + + "]]body content" + Environment.NewLine + "section-content-1" + Environment.NewLine + @@ -912,10 +911,10 @@ namespace Microsoft.AspNet.Mvc.Razor public async Task FlushAsync_DoesNotThrowWhenInvokedInsideOfASection() { // Arrange - var htmlEncoder = new HtmlEncoder(); - var expected = "layout-1" + - htmlEncoder.HtmlEncode(Environment.NewLine) + - "section-content-1" + + var htmlEncoder = new CommonTestEncoder(); + var expected = "HtmlEncode[[layout-1" + + Environment.NewLine + + "]]section-content-1" + Environment.NewLine + "section-content-2"; @@ -993,7 +992,7 @@ namespace Microsoft.AspNet.Mvc.Razor var page = new TestableRazorPage(v => { v.Path = "/Views/TestPath/Test.cshtml"; - v.HtmlEncoder = new HtmlEncoder(); + v.HtmlEncoder = new CommonTestEncoder(); v.DefineSection("foo", async writer => { writer.WriteLine("foo-content"); @@ -1004,7 +1003,7 @@ namespace Microsoft.AspNet.Mvc.Razor }); var layoutPage = new TestableRazorPage(v => { - v.HtmlEncoder = new HtmlEncoder(); + v.HtmlEncoder = new CommonTestEncoder(); v.Write("layout-1" + Environment.NewLine); v.Write(v.RenderSection("foo")); v.DefineSection("bar", writer => writer.WriteLineAsync("bar-content")); @@ -1066,7 +1065,7 @@ namespace Microsoft.AspNet.Mvc.Razor var page = new TestableRazorPage(v => { - v.HtmlEncoder = new HtmlEncoder(); + v.HtmlEncoder = new CommonTestEncoder(); v.Layout = "Layout"; Assert.Same(pageWriter, v.Output); Assert.Same(pageContext, v.PageExecutionContext); @@ -1075,7 +1074,7 @@ namespace Microsoft.AspNet.Mvc.Razor var layout = new TestableRazorPage(v => { - v.HtmlEncoder = new HtmlEncoder(); + v.HtmlEncoder = new CommonTestEncoder(); Assert.Same(layoutWriter, v.Output); Assert.Same(layoutContext, v.PageExecutionContext); v.RenderBodyPublic(); @@ -1127,7 +1126,7 @@ namespace Microsoft.AspNet.Mvc.Razor var page = new TestableRazorPage(v => { - v.HtmlEncoder = new HtmlEncoder(); + v.HtmlEncoder = new CommonTestEncoder(); Assert.IsType(v.Output); Assert.Same(pageContext, v.PageExecutionContext); executed = true; @@ -1151,7 +1150,7 @@ namespace Microsoft.AspNet.Mvc.Razor // Assert feature.Verify(); Assert.True(executed); - Assert.Equal("Hello world", viewContext.Writer.ToString()); + Assert.Equal("HtmlEncode[[Hello world]]", viewContext.Writer.ToString()); } [Theory] diff --git a/test/Microsoft.AspNet.Mvc.Razor.Test/project.json b/test/Microsoft.AspNet.Mvc.Razor.Test/project.json index 5b79520b34..792791c214 100644 --- a/test/Microsoft.AspNet.Mvc.Razor.Test/project.json +++ b/test/Microsoft.AspNet.Mvc.Razor.Test/project.json @@ -8,6 +8,7 @@ "Microsoft.AspNet.Mvc.Razor": "6.0.0-*", "Microsoft.AspNet.Mvc.TestCommon": { "version": "6.0.0-*", "type": "build" }, "Microsoft.AspNet.Testing": "1.0.0-*", + "Microsoft.Framework.WebEncoders.Testing": "1.0.0-*", "Microsoft.Framework.Runtime": "1.0.0-*", "xunit.runner.aspnet": "2.0.0-aspnet-*" }, diff --git a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/AnchorTagHelperTest.cs b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/AnchorTagHelperTest.cs index 6cc434c00c..37b20fd90f 100644 --- a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/AnchorTagHelperTest.cs +++ b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/AnchorTagHelperTest.cs @@ -8,6 +8,7 @@ using Microsoft.AspNet.Mvc.ModelBinding; using Microsoft.AspNet.Mvc.Rendering; using Microsoft.AspNet.Razor.Runtime.TagHelpers; using Microsoft.Framework.WebEncoders; +using Microsoft.Framework.WebEncoders.Testing; using Moq; using Xunit; @@ -104,7 +105,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers generator .Setup(mock => mock.GenerateRouteLink( string.Empty, "Default", "http", "contoso.com", "hello=world", null, null)) - .Returns(new TagBuilder("a", new HtmlEncoder())) + .Returns(new TagBuilder("a", new CommonTestEncoder())) .Verifiable(); var anchorTagHelper = new AnchorTagHelper { @@ -146,7 +147,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers generator .Setup(mock => mock.GenerateActionLink( string.Empty, "Index", "Home", "http", "contoso.com", "hello=world", null, null)) - .Returns(new TagBuilder("a", new HtmlEncoder())) + .Returns(new TagBuilder("a", new CommonTestEncoder())) .Verifiable(); var anchorTagHelper = new AnchorTagHelper { diff --git a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/FormTagHelperTest.cs b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/FormTagHelperTest.cs index c18f09e73e..33b64208c8 100644 --- a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/FormTagHelperTest.cs +++ b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/FormTagHelperTest.cs @@ -10,7 +10,7 @@ using Microsoft.AspNet.Mvc.ModelBinding; using Microsoft.AspNet.Mvc.Rendering; using Microsoft.AspNet.Razor.Runtime.TagHelpers; using Microsoft.AspNet.Routing; -using Microsoft.Framework.WebEncoders; +using Microsoft.Framework.WebEncoders.Testing; using Moq; using Xunit; @@ -118,10 +118,10 @@ namespace Microsoft.AspNet.Mvc.TagHelpers It.IsAny(), It.IsAny(), It.IsAny())) - .Returns(new TagBuilder("form", new HtmlEncoder())); + .Returns(new TagBuilder("form", new CommonTestEncoder())); generator.Setup(mock => mock.GenerateAntiForgery(viewContext)) - .Returns(new TagBuilder("input", new HtmlEncoder())); + .Returns(new TagBuilder("input", new CommonTestEncoder())); var formTagHelper = new FormTagHelper { Action = "Index", @@ -190,7 +190,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers routeValue = Assert.Single(routeValueDictionary, kvp => kvp.Key.Equals("-Foo")); Assert.Equal("bar", routeValue.Value); }) - .Returns(new TagBuilder("form", new HtmlEncoder())) + .Returns(new TagBuilder("form", new CommonTestEncoder())) .Verifiable(); var formTagHelper = new FormTagHelper { @@ -234,7 +234,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers var generator = new Mock(MockBehavior.Strict); generator .Setup(mock => mock.GenerateForm(viewContext, "Index", "Home", null, null, null)) - .Returns(new TagBuilder("form", new HtmlEncoder())) + .Returns(new TagBuilder("form", new CommonTestEncoder())) .Verifiable(); var formTagHelper = new FormTagHelper { @@ -270,7 +270,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers var generator = new Mock(); generator.Setup(mock => mock.GenerateAntiForgery(It.IsAny())) - .Returns(new TagBuilder("input", new HtmlEncoder())); + .Returns(new TagBuilder("input", new CommonTestEncoder())); var formTagHelper = new FormTagHelper { AntiForgery = antiForgery, diff --git a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/InputTagHelperTest.cs b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/InputTagHelperTest.cs index ce3e89cd1b..cd5955a59b 100644 --- a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/InputTagHelperTest.cs +++ b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/InputTagHelperTest.cs @@ -10,7 +10,7 @@ using Microsoft.AspNet.Mvc.ModelBinding; using Microsoft.AspNet.Mvc.Rendering; using Microsoft.AspNet.Mvc.Rendering.Internal; using Microsoft.AspNet.Razor.Runtime.TagHelpers; -using Microsoft.Framework.WebEncoders; +using Microsoft.Framework.WebEncoders.Testing; using Moq; using Xunit; @@ -156,7 +156,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers var originalContent = "original content"; var originalTagName = "not-input"; var expectedPreContent = "original pre-content"; - var expectedContent = originalContent + ""; + var expectedContent = originalContent + ""; var expectedPostContent = "original post-content"; var context = new TagHelperContext( @@ -183,7 +183,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers var htmlGenerator = new Mock(MockBehavior.Strict); var tagHelper = GetTagHelper(htmlGenerator.Object, model: false, propertyName: nameof(Model.IsACar)); - var tagBuilder = new TagBuilder("input", new HtmlEncoder()) + var tagBuilder = new TagBuilder("input", new CommonTestEncoder()) { Attributes = { @@ -204,7 +204,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers tagHelper.ViewContext, tagHelper.For.ModelExplorer, tagHelper.For.Name)) - .Returns(new TagBuilder("hidden", new HtmlEncoder())) + .Returns(new TagBuilder("hidden", new NullTestEncoder())) .Verifiable(); // Act @@ -288,7 +288,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers metadataProvider: metadataProvider); tagHelper.InputTypeName = inputTypeName; - var tagBuilder = new TagBuilder("input", new HtmlEncoder()) + var tagBuilder = new TagBuilder("input", new NullTestEncoder()) { Attributes = { @@ -387,7 +387,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers metadataProvider: metadataProvider); tagHelper.InputTypeName = inputTypeName; - var tagBuilder = new TagBuilder("input", new HtmlEncoder()) + var tagBuilder = new TagBuilder("input", new NullTestEncoder()) { Attributes = { @@ -477,7 +477,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers tagHelper.InputTypeName = inputTypeName; tagHelper.Value = value; - var tagBuilder = new TagBuilder("input", new HtmlEncoder()) + var tagBuilder = new TagBuilder("input", new NullTestEncoder()) { Attributes = { @@ -588,7 +588,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers metadataProvider: metadataProvider); tagHelper.InputTypeName = inputTypeName; - var tagBuilder = new TagBuilder("input", new HtmlEncoder()) + var tagBuilder = new TagBuilder("input", new NullTestEncoder()) { Attributes = { @@ -695,7 +695,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers propertyName: nameof(Model.Text), metadataProvider: metadataProvider); - var tagBuilder = new TagBuilder("input", new HtmlEncoder()); + var tagBuilder = new TagBuilder("input", new NullTestEncoder()); Dictionary htmlAttributes = null; if (string.Equals(dataTypeName, TemplateRenderer.IEnumerableOfIFormFileName)) @@ -774,7 +774,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers metadataProvider: metadataProvider); tagHelper.ViewContext.Html5DateRenderingMode = dateRenderingMode; - var tagBuilder = new TagBuilder("input", new HtmlEncoder()); + var tagBuilder = new TagBuilder("input", new NullTestEncoder()); htmlGenerator .Setup(mock => mock.GenerateTextBox( tagHelper.ViewContext, diff --git a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/LabelTagHelperTest.cs b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/LabelTagHelperTest.cs index 7e15c4c5b8..3eb6e69872 100644 --- a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/LabelTagHelperTest.cs +++ b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/LabelTagHelperTest.cs @@ -46,18 +46,18 @@ namespace Microsoft.AspNet.Mvc.TagHelpers { null, typeof(Model), () => null, "Text", new TagHelperOutputContent(string.Empty, Environment.NewLine, Environment.NewLine, "Text") }, { null, typeof(Model), () => null, "Text", - new TagHelperOutputContent(Environment.NewLine, string.Empty, "Text", "Text") }, + new TagHelperOutputContent(Environment.NewLine, string.Empty, "HtmlEncode[[Text]]", "Text") }, { modelWithNull, typeof(Model), () => modelWithNull.Text, "Text", new TagHelperOutputContent(string.Empty, Environment.NewLine, Environment.NewLine, "Text") }, { modelWithNull, typeof(Model), () => modelWithNull.Text, "Text", - new TagHelperOutputContent(Environment.NewLine, string.Empty, "Text", "Text") }, + new TagHelperOutputContent(Environment.NewLine, string.Empty, "HtmlEncode[[Text]]", "Text") }, { modelWithNull, typeof(Model), () => modelWithNull.Text, "Text", new TagHelperOutputContent(Environment.NewLine, "Hello World", "Hello World", "Text") }, { modelWithText, typeof(Model), () => modelWithText.Text, "Text", new TagHelperOutputContent(string.Empty, Environment.NewLine, Environment.NewLine, "Text") }, { modelWithText, typeof(Model), () => modelWithText.Text, "Text", - new TagHelperOutputContent(Environment.NewLine, string.Empty, "Text", "Text") }, + new TagHelperOutputContent(Environment.NewLine, string.Empty, "HtmlEncode[[Text]]", "Text") }, { modelWithText, typeof(Model), () => modelWithText.Text, "Text", new TagHelperOutputContent(Environment.NewLine, "Hello World", "Hello World", "Text") }, { modelWithText, typeof(Model), () => modelWithNull.Text, "Text", @@ -74,13 +74,13 @@ namespace Microsoft.AspNet.Mvc.TagHelpers new TagHelperOutputContent("Hello World1", "Hello World2", "Hello World2", "Text") }, { modelWithNull, typeof(NestedModel), () => modelWithNull.NestedModel.Text, "NestedModel.Text", - new TagHelperOutputContent(Environment.NewLine, string.Empty, "Text", "NestedModel_Text") }, + new TagHelperOutputContent(Environment.NewLine, string.Empty, "HtmlEncode[[Text]]", "NestedModel_Text") }, { modelWithNull, typeof(NestedModel), () => modelWithNull.NestedModel.Text, "NestedModel.Text", new TagHelperOutputContent(Environment.NewLine, "Hello World", "Hello World", "NestedModel_Text") }, { modelWithNull, typeof(NestedModel), () => modelWithNull.NestedModel.Text, "NestedModel.Text", new TagHelperOutputContent(string.Empty, Environment.NewLine, Environment.NewLine, "NestedModel_Text") }, { modelWithText, typeof(NestedModel), () => modelWithText.NestedModel.Text, "NestedModel.Text", - new TagHelperOutputContent(Environment.NewLine, string.Empty, "Text", "NestedModel_Text") }, + new TagHelperOutputContent(Environment.NewLine, string.Empty, "HtmlEncode[[Text]]", "NestedModel_Text") }, { modelWithText, typeof(NestedModel), () => modelWithText.NestedModel.Text, "NestedModel.Text", new TagHelperOutputContent(Environment.NewLine, "Hello World", "Hello World", "NestedModel_Text") }, { modelWithText, typeof(NestedModel), () => modelWithText.NestedModel.Text, "NestedModel.Text", @@ -101,13 +101,13 @@ namespace Microsoft.AspNet.Mvc.TagHelpers // Note: Tests cases below here will not work in practice due to current limitations on indexing // into ModelExpressions. Will be fixed in https://github.com/aspnet/Mvc/issues/1345. { models, typeof(Model), () => models[0].Text, "[0].Text", - new TagHelperOutputContent(Environment.NewLine, string.Empty, "Text", "z0__Text") }, + new TagHelperOutputContent(Environment.NewLine, string.Empty, "HtmlEncode[[Text]]", "z0__Text") }, { models, typeof(Model), () => models[0].Text, "[0].Text", new TagHelperOutputContent(Environment.NewLine, "Hello World", "Hello World", "z0__Text") }, { models, typeof(Model), () => models[0].Text, "[0].Text", new TagHelperOutputContent(string.Empty, Environment.NewLine, Environment.NewLine, "z0__Text") }, { models, typeof(Model), () => models[1].Text, "[1].Text", - new TagHelperOutputContent(Environment.NewLine, string.Empty, "Text", "z1__Text") }, + new TagHelperOutputContent(Environment.NewLine, string.Empty, "HtmlEncode[[Text]]", "z1__Text") }, { models, typeof(Model), () => models[1].Text, "[1].Text", new TagHelperOutputContent(Environment.NewLine, "Hello World", "Hello World", "z1__Text") }, { models, typeof(Model), () => models[1].Text, "[1].Text", @@ -126,13 +126,13 @@ namespace Microsoft.AspNet.Mvc.TagHelpers new TagHelperOutputContent("Hello World1", "Hello World2", "Hello World2", "z1__Text") }, { models, typeof(NestedModel), () => models[0].NestedModel.Text, "[0].NestedModel.Text", - new TagHelperOutputContent(Environment.NewLine, string.Empty, "Text", "z0__NestedModel_Text") }, + new TagHelperOutputContent(Environment.NewLine, string.Empty, "HtmlEncode[[Text]]", "z0__NestedModel_Text") }, { models, typeof(NestedModel), () => models[0].NestedModel.Text, "[0].NestedModel.Text", new TagHelperOutputContent(Environment.NewLine, "Hello World", "Hello World", "z0__NestedModel_Text") }, { models, typeof(NestedModel), () => models[0].NestedModel.Text, "[0].NestedModel.Text", new TagHelperOutputContent(string.Empty, Environment.NewLine, Environment.NewLine, "z0__NestedModel_Text") }, { models, typeof(NestedModel), () => models[1].NestedModel.Text, "[1].NestedModel.Text", - new TagHelperOutputContent(Environment.NewLine, string.Empty, "Text", "z1__NestedModel_Text") }, + new TagHelperOutputContent(Environment.NewLine, string.Empty, "HtmlEncode[[Text]]", "z1__NestedModel_Text") }, { models, typeof(NestedModel), () => models[1].NestedModel.Text, "[1].NestedModel.Text", new TagHelperOutputContent(Environment.NewLine, "Hello World", "Hello World", "z1__NestedModel_Text") }, { models, typeof(NestedModel), () => models[1].NestedModel.Text, "[1].NestedModel.Text", diff --git a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/LinkTagHelperTest.cs b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/LinkTagHelperTest.cs index 0ecbeb929a..3dbf268f4a 100644 --- a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/LinkTagHelperTest.cs +++ b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/LinkTagHelperTest.cs @@ -20,6 +20,7 @@ using Microsoft.Framework.Expiration.Interfaces; using Microsoft.Framework.Logging; using Microsoft.Framework.Runtime; using Microsoft.Framework.WebEncoders; +using Microsoft.Framework.WebEncoders.Testing; using Moq; using Xunit; @@ -178,8 +179,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers var viewContext = MakeViewContext(); var helper = new LinkTagHelper { - HtmlEncoder = new HtmlEncoder(), - JavaScriptEncoder = new JavaScriptStringEncoder(), + HtmlEncoder = new CommonTestEncoder(), + JavaScriptEncoder = new CommonTestEncoder(), Logger = logger.Object, HostingEnvironment = hostingEnvironment, ViewContext = viewContext, @@ -222,8 +223,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers var viewContext = MakeViewContext(); var helper = new LinkTagHelper { - HtmlEncoder = new HtmlEncoder(), - JavaScriptEncoder = new JavaScriptStringEncoder(), + HtmlEncoder = new CommonTestEncoder(), + JavaScriptEncoder = new CommonTestEncoder(), Logger = logger.Object, HostingEnvironment = hostingEnvironment, ViewContext = viewContext, @@ -240,7 +241,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers // Assert Assert.StartsWith( - "" + - "", + "" + + "", output.Content.GetContent()); } @@ -435,7 +436,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers .Returns(new[] { "/css/site.css", "/base.css" }); var helper = new LinkTagHelper { - HtmlEncoder = new TestHtmlEncoder(), + HtmlEncoder = new CommonTestEncoder(), GlobbingUrlBuilder = globbingUrlBuilder.Object, Logger = logger.Object, HostingEnvironment = hostingEnvironment, @@ -475,7 +476,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers var viewContext = MakeViewContext(); var helper = new LinkTagHelper { - HtmlEncoder = new TestHtmlEncoder(), + HtmlEncoder = new CommonTestEncoder(), Logger = logger.Object, HostingEnvironment = hostingEnvironment, ViewContext = viewContext, @@ -514,7 +515,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers var viewContext = MakeViewContext("/bar"); var helper = new LinkTagHelper { - HtmlEncoder = new TestHtmlEncoder(), + HtmlEncoder = new CommonTestEncoder(), Logger = logger.Object, HostingEnvironment = hostingEnvironment, ViewContext = viewContext, @@ -557,7 +558,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers .Returns(new[] { "/css/site.css", "/base.css" }); var helper = new LinkTagHelper { - HtmlEncoder = new TestHtmlEncoder(), + HtmlEncoder = new CommonTestEncoder(), GlobbingUrlBuilder = globbingUrlBuilder.Object, Logger = logger.Object, HostingEnvironment = hostingEnvironment, diff --git a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/OptionTagHelperTest.cs b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/OptionTagHelperTest.cs index 8f222a0344..7696f26312 100644 --- a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/OptionTagHelperTest.cs +++ b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/OptionTagHelperTest.cs @@ -233,14 +233,14 @@ namespace Microsoft.AspNet.Mvc.TagHelpers "text") }, { - "text", null, null, new [] { "text", }, + "HtmlEncode[[text]]", null, null, new [] { "text", }, GetTagHelperOutput( "not-option", new Dictionary { { "label", "my-label" }, { "selected", "selected" } }, - "text") + "HtmlEncode[[text]]") }, { "text", string.Empty, null, new [] { "text", }, @@ -253,14 +253,14 @@ namespace Microsoft.AspNet.Mvc.TagHelpers "text") }, { - "text", null, null, new [] { string.Empty, "text", }, + "HtmlEncode[[text]]", null, null, new [] { string.Empty, "text", }, GetTagHelperOutput( "not-option", new Dictionary { { "label", "my-label" }, { "selected", "selected" } }, - "text") + "HtmlEncode[[text]]") }, { "text", string.Empty, "value", null, @@ -400,15 +400,16 @@ namespace Microsoft.AspNet.Mvc.TagHelpers uniqueId: "test", getChildContentAsync: () => { - var tagHelperContent = new DefaultTagHelperContent(); - tagHelperContent.SetContent(originalContent); - return Task.FromResult(tagHelperContent); + // GetChildContentAsync should not be invoked since we are setting the content below. + Assert.True(false); + return Task.FromResult(null); }); var output = new TagHelperOutput(expectedTagHelperOutput.TagName, originalAttributes) { SelfClosing = false, }; + output.Content.SetContent(originalContent); var metadataProvider = new EmptyModelMetadataProvider(); diff --git a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/ScriptTagHelperTest.cs b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/ScriptTagHelperTest.cs index f3f70679cc..514836b939 100644 --- a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/ScriptTagHelperTest.cs +++ b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/ScriptTagHelperTest.cs @@ -20,6 +20,7 @@ using Microsoft.Framework.Expiration.Interfaces; using Microsoft.Framework.Logging; using Microsoft.Framework.Runtime; using Microsoft.Framework.WebEncoders; +using Microsoft.Framework.WebEncoders.Testing; using Moq; using Xunit; @@ -222,8 +223,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers var viewContext = MakeViewContext(); var helper = new ScriptTagHelper { - HtmlEncoder = new HtmlEncoder(), - JavaScriptEncoder = new JavaScriptStringEncoder(), + HtmlEncoder = new CommonTestEncoder(), + JavaScriptEncoder = new CommonTestEncoder(), Logger = logger, HostingEnvironment = hostingEnvironment, ViewContext = viewContext, @@ -453,8 +454,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers var helper = new ScriptTagHelper { - HtmlEncoder = new HtmlEncoder(), - JavaScriptEncoder = new JavaScriptStringEncoder(), + HtmlEncoder = new CommonTestEncoder(), + JavaScriptEncoder = new CommonTestEncoder(), Logger = logger, ViewContext = viewContext, HostingEnvironment = hostingEnvironment, @@ -469,7 +470,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers // Assert Assert.StartsWith( - "", output.Content.GetContent()); + Assert.Equal("" + + "", output.Content.GetContent()); } [Fact] @@ -534,7 +537,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers ViewContext = viewContext, Src = "/js/site.js", SrcInclude = "**/*.js", - HtmlEncoder = new TestHtmlEncoder(), + HtmlEncoder = new CommonTestEncoder(), JavaScriptEncoder = new TestJavaScriptEncoder(), Cache = MakeCache(), }; @@ -569,7 +572,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers HostingEnvironment = hostingEnvironment, ViewContext = viewContext, FileVersion = true, - HtmlEncoder = new TestHtmlEncoder(), + HtmlEncoder = new CommonTestEncoder(), JavaScriptEncoder = new TestJavaScriptEncoder(), Src = "/js/site.js", Cache = MakeCache(), @@ -606,7 +609,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers HostingEnvironment = hostingEnvironment, ViewContext = viewContext, FileVersion = true, - HtmlEncoder = new TestHtmlEncoder(), + HtmlEncoder = new CommonTestEncoder(), JavaScriptEncoder = new TestJavaScriptEncoder(), Src = "/bar/js/site.js", Cache = MakeCache(), @@ -647,7 +650,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers FallbackSrc = "fallback.js", FallbackTestExpression = "isavailable()", FileVersion = true, - HtmlEncoder = new TestHtmlEncoder(), + HtmlEncoder = new CommonTestEncoder(), JavaScriptEncoder = new TestJavaScriptEncoder(), Src = "/js/site.js", Cache = MakeCache(), @@ -690,7 +693,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers ViewContext = viewContext, SrcInclude = "*.js", FileVersion = true, - HtmlEncoder = new TestHtmlEncoder(), + HtmlEncoder = new CommonTestEncoder(), JavaScriptEncoder = new TestJavaScriptEncoder(), Src = "/js/site.js", Cache = MakeCache(), diff --git a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/SelectTagHelperTest.cs b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/SelectTagHelperTest.cs index fb21004ba7..c73f33777e 100644 --- a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/SelectTagHelperTest.cs +++ b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/SelectTagHelperTest.cs @@ -44,17 +44,17 @@ namespace Microsoft.AspNet.Mvc.TagHelpers modelWithText, }; var noneSelected = "" + Environment.NewLine + - "" + Environment.NewLine + - "" + Environment.NewLine + - "" + Environment.NewLine; + "" + Environment.NewLine + + "" + Environment.NewLine + + "" + Environment.NewLine; var innerSelected = "" + Environment.NewLine + - "" + Environment.NewLine + - "" + Environment.NewLine + - "" + Environment.NewLine; + "" + Environment.NewLine + + "" + Environment.NewLine + + "" + Environment.NewLine; var outerSelected = "" + Environment.NewLine + - "" + Environment.NewLine + - "" + Environment.NewLine + - "" + Environment.NewLine; + "" + Environment.NewLine + + "" + Environment.NewLine + + "" + Environment.NewLine; return new TheoryData, NameAndId, string> { diff --git a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/TagHelperOutputExtensionsTest.cs b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/TagHelperOutputExtensionsTest.cs index 4fa6c957d0..2e3e6de56a 100644 --- a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/TagHelperOutputExtensionsTest.cs +++ b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/TagHelperOutputExtensionsTest.cs @@ -7,7 +7,7 @@ using System.Threading.Tasks; using Microsoft.AspNet.Mvc.Rendering; using Microsoft.AspNet.Razor.Runtime.TagHelpers; using Microsoft.AspNet.Testing; -using Microsoft.Framework.WebEncoders; +using Microsoft.Framework.WebEncoders.Testing; using Xunit; namespace Microsoft.AspNet.Mvc.TagHelpers @@ -165,7 +165,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers var expectedAttribute = new KeyValuePair("type", "btn"); tagHelperOutput.Attributes.Add(expectedAttribute); - var tagBuilder = new TagBuilder("p", new HtmlEncoder()); + var tagBuilder = new TagBuilder("p", new CommonTestEncoder()); tagBuilder.Attributes.Add("type", "hello"); // Act @@ -185,7 +185,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers attributes: new Dictionary()); tagHelperOutput.Attributes.Add("class", "Hello"); - var tagBuilder = new TagBuilder("p", new HtmlEncoder()); + var tagBuilder = new TagBuilder("p", new CommonTestEncoder()); tagBuilder.Attributes.Add("class", "btn"); var expectedAttribute = new KeyValuePair("class", "Hello btn"); @@ -211,7 +211,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers attributes: new Dictionary()); tagHelperOutput.Attributes.Add(originalName, "Hello"); - var tagBuilder = new TagBuilder("p", new HtmlEncoder()); + var tagBuilder = new TagBuilder("p", new CommonTestEncoder()); tagBuilder.Attributes.Add(updateName, "btn"); // Act @@ -230,7 +230,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers "p", attributes: new Dictionary()); - var tagBuilder = new TagBuilder("p", new HtmlEncoder()); + var tagBuilder = new TagBuilder("p", new CommonTestEncoder()); var expectedAttribute = new KeyValuePair("visible", "val < 3"); tagBuilder.Attributes.Add("visible", "val < 3"); @@ -250,7 +250,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers "p", attributes: new Dictionary()); - var tagBuilder = new TagBuilder("p", new HtmlEncoder()); + var tagBuilder = new TagBuilder("p", new CommonTestEncoder()); var expectedAttribute1 = new KeyValuePair("class", "btn"); var expectedAttribute2 = new KeyValuePair("class2", "btn"); tagBuilder.Attributes.Add("class", "btn"); @@ -277,7 +277,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers var expectedAttribute = new KeyValuePair("class", "btn"); tagHelperOutput.Attributes.Add(expectedAttribute); - var tagBuilder = new TagBuilder("p", new HtmlEncoder()); + var tagBuilder = new TagBuilder("p", new CommonTestEncoder()); // Act tagHelperOutput.MergeAttributes(tagBuilder); @@ -297,7 +297,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers var expectedOutputAttribute = new KeyValuePair("class", "btn"); tagHelperOutput.Attributes.Add(expectedOutputAttribute); - var tagBuilder = new TagBuilder("p", new HtmlEncoder()); + var tagBuilder = new TagBuilder("p", new CommonTestEncoder()); var expectedBuilderAttribute = new KeyValuePair("for", "hello"); tagBuilder.Attributes.Add("for", "hello"); diff --git a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/TestableHtmlGenerator.cs b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/TestableHtmlGenerator.cs index 351b859915..5466c07981 100644 --- a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/TestableHtmlGenerator.cs +++ b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/TestableHtmlGenerator.cs @@ -11,7 +11,7 @@ using Microsoft.AspNet.Mvc.Rendering; using Microsoft.AspNet.Routing; using Microsoft.Framework.DependencyInjection; using Microsoft.Framework.OptionsModel; -using Microsoft.Framework.WebEncoders; +using Microsoft.Framework.WebEncoders.Testing; using Moq; namespace Microsoft.AspNet.Mvc.TagHelpers @@ -39,7 +39,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers IOptions options, IUrlHelper urlHelper, IDictionary validationAttributes) - : base(GetAntiForgery(), options, metadataProvider, urlHelper, new HtmlEncoder()) + : base(GetAntiForgery(), options, metadataProvider, urlHelper, new CommonTestEncoder()) { _validationAttributes = validationAttributes; } @@ -71,7 +71,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers public override TagBuilder GenerateAntiForgery(ViewContext viewContext) { - return new TagBuilder("input", new HtmlEncoder()) + return new TagBuilder("input", new CommonTestEncoder()) { Attributes = { @@ -116,7 +116,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers Mock.Of(), Mock.Of(), optionsAccessor.Object, - new HtmlEncoder(), + new CommonTestEncoder(), mockDataProtectionOptions.Object); return antiForgery; diff --git a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/TextAreaTagHelperTest.cs b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/TextAreaTagHelperTest.cs index 7b644bd765..19f384094a 100644 --- a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/TextAreaTagHelperTest.cs +++ b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/TextAreaTagHelperTest.cs @@ -45,35 +45,35 @@ namespace Microsoft.AspNet.Mvc.TagHelpers { { null, typeof(Model), null, new NameAndId("Text", "Text"), - Environment.NewLine }, + Environment.NewLine + "HtmlEncode[[]]" }, { modelWithNull, typeof(Model), modelWithNull.Text, new NameAndId("Text", "Text"), - Environment.NewLine }, + Environment.NewLine + "HtmlEncode[[]]" }, { modelWithText, typeof(Model), modelWithText.Text, new NameAndId("Text", "Text"), - Environment.NewLine + "outer text" }, + Environment.NewLine + "HtmlEncode[[outer text]]" }, { modelWithNull, typeof(NestedModel), modelWithNull.NestedModel.Text, new NameAndId("NestedModel.Text", "NestedModel_Text"), - Environment.NewLine }, + Environment.NewLine + "HtmlEncode[[]]" }, { modelWithText, typeof(NestedModel), modelWithText.NestedModel.Text, new NameAndId("NestedModel.Text", "NestedModel_Text"), - Environment.NewLine + "inner text" }, + Environment.NewLine + "HtmlEncode[[inner text]]" }, { models, typeof(Model), models[0].Text, new NameAndId("[0].Text", "z0__Text"), - Environment.NewLine }, + Environment.NewLine + "HtmlEncode[[]]" }, { models, typeof(Model), models[1].Text, new NameAndId("[1].Text", "z1__Text"), - Environment.NewLine + "outer text" }, + Environment.NewLine + "HtmlEncode[[outer text]]" }, { models, typeof(NestedModel), models[0].NestedModel.Text, new NameAndId("[0].NestedModel.Text", "z0__NestedModel_Text"), - Environment.NewLine }, + Environment.NewLine + "HtmlEncode[[]]" }, { models, typeof(NestedModel), models[1].NestedModel.Text, new NameAndId("[1].NestedModel.Text", "z1__NestedModel_Text"), - Environment.NewLine + "inner text" }, + Environment.NewLine + "HtmlEncode[[inner text]]" }, }; } } diff --git a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/ValidationMessageTagHelperTest.cs b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/ValidationMessageTagHelperTest.cs index 55293b2f6c..da52bc0bdc 100644 --- a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/ValidationMessageTagHelperTest.cs +++ b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/ValidationMessageTagHelperTest.cs @@ -9,7 +9,7 @@ using Microsoft.AspNet.Mvc.ModelBinding; using Microsoft.AspNet.Mvc.Rendering; using Microsoft.AspNet.Razor.Runtime.TagHelpers; using Microsoft.AspNet.Routing; -using Microsoft.Framework.WebEncoders; +using Microsoft.Framework.WebEncoders.Testing; using Moq; using Xunit; @@ -115,7 +115,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers generator .Setup(mock => mock.GenerateValidationMessage(expectedViewContext, "Hello", null, null, null)) - .Returns(new TagBuilder("span", new HtmlEncoder())) + .Returns(new TagBuilder("span", new CommonTestEncoder())) .Verifiable(); validationMessageTagHelper.Generator = generator.Object; validationMessageTagHelper.ViewContext = expectedViewContext; @@ -158,7 +158,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers tagHelperContent.SetContent(childContent); return Task.FromResult(tagHelperContent); }); - var tagBuilder = new TagBuilder("span2", new HtmlEncoder()) + var tagBuilder = new TagBuilder("span2", new CommonTestEncoder()) { InnerHtml = "New HTML" }; @@ -216,7 +216,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers tagHelperContent.SetContent(childContent); return Task.FromResult(tagHelperContent); }); - var tagBuilder = new TagBuilder("span2", new HtmlEncoder()) + var tagBuilder = new TagBuilder("span2", new CommonTestEncoder()) { InnerHtml = "New HTML" }; diff --git a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/project.json b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/project.json index 893475dbd2..786e038940 100644 --- a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/project.json +++ b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/project.json @@ -4,6 +4,7 @@ "Microsoft.AspNet.Mvc.TestCommon": { "version": "6.0.0-*", "type": "build" }, "Microsoft.AspNet.Testing": "1.0.0-*", "Microsoft.Framework.Logging.Interfaces": "1.0.0-*", + "Microsoft.Framework.WebEncoders.Testing": "1.0.0-*", "xunit.runner.aspnet": "2.0.0-aspnet-*" }, "commands": {