React to WebEncoders changes.
This commit is contained in:
parent
53060be2d7
commit
52f4a83139
|
|
@ -5,9 +5,8 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Text;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.Extensions.Localization;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.Localization
|
||||
{
|
||||
|
|
@ -18,14 +17,14 @@ namespace Microsoft.AspNet.Mvc.Localization
|
|||
public class HtmlLocalizer : IHtmlLocalizer
|
||||
{
|
||||
private IStringLocalizer _localizer;
|
||||
private readonly IHtmlEncoder _encoder;
|
||||
private readonly HtmlEncoder _encoder;
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new <see cref="HtmlLocalizer"/>.
|
||||
/// </summary>
|
||||
/// <param name="localizer">The <see cref="IStringLocalizer"/> to read strings from.</param>
|
||||
/// <param name="encoder">The <see cref="IHtmlEncoder"/>.</param>
|
||||
public HtmlLocalizer(IStringLocalizer localizer, IHtmlEncoder encoder)
|
||||
/// <param name="encoder">The <see cref="HtmlEncoder"/>.</param>
|
||||
public HtmlLocalizer(IStringLocalizer localizer, HtmlEncoder encoder)
|
||||
{
|
||||
if (localizer == null)
|
||||
{
|
||||
|
|
@ -266,7 +265,7 @@ namespace Microsoft.AspNet.Mvc.Localization
|
|||
{
|
||||
if (tokenBuffer != null && tokenBuffer.Length > 0)
|
||||
{
|
||||
outputBuffer.Append(_encoder.HtmlEncode(string.Format(tokenBuffer.ToString(), arguments)));
|
||||
outputBuffer.Append(_encoder.Encode(string.Format(tokenBuffer.ToString(), arguments)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.Extensions.Localization;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.Localization
|
||||
{
|
||||
|
|
@ -13,14 +13,14 @@ namespace Microsoft.AspNet.Mvc.Localization
|
|||
public class HtmlLocalizerFactory : IHtmlLocalizerFactory
|
||||
{
|
||||
private readonly IStringLocalizerFactory _factory;
|
||||
private readonly IHtmlEncoder _encoder;
|
||||
private readonly HtmlEncoder _encoder;
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new <see cref="HtmlLocalizer"/>.
|
||||
/// </summary>
|
||||
/// <param name="localizerFactory">The <see cref="IStringLocalizerFactory"/>.</param>
|
||||
/// <param name="encoder">The <see cref="IHtmlEncoder"/>.</param>
|
||||
public HtmlLocalizerFactory(IStringLocalizerFactory localizerFactory, IHtmlEncoder encoder)
|
||||
/// <param name="encoder">The <see cref="HtmlEncoder"/>.</param>
|
||||
public HtmlLocalizerFactory(IStringLocalizerFactory localizerFactory, HtmlEncoder encoder)
|
||||
{
|
||||
if (localizerFactory == null)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Mvc.Razor;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||
|
|
@ -27,9 +28,9 @@ namespace Microsoft.AspNet.Mvc.Localization.Internal
|
|||
services.TryAdd(ServiceDescriptor.Singleton<IHtmlLocalizerFactory, HtmlLocalizerFactory>());
|
||||
services.TryAdd(ServiceDescriptor.Transient(typeof(IHtmlLocalizer<>), typeof(HtmlLocalizer<>)));
|
||||
services.TryAdd(ServiceDescriptor.Transient<IViewLocalizer, ViewLocalizer>());
|
||||
if (!services.Any(sd => sd.ServiceType == typeof(IHtmlEncoder)))
|
||||
if (!services.Any(sd => sd.ServiceType == typeof(HtmlEncoder)))
|
||||
{
|
||||
services.TryAdd(ServiceDescriptor.Instance<IHtmlEncoder>(HtmlEncoder.Default));
|
||||
services.TryAdd(ServiceDescriptor.Instance<HtmlEncoder>(HtmlEncoder.Default));
|
||||
}
|
||||
|
||||
services.AddLocalization(setupAction);
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@
|
|||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Text.Encodings.Web;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Html.Abstractions;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.Razor
|
||||
{
|
||||
|
|
@ -20,8 +20,8 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
/// Creates a new instance of <see cref="HelperResult"/>.
|
||||
/// </summary>
|
||||
/// <param name="asyncAction">The asynchronous delegate to invoke when
|
||||
/// <see cref="WriteTo(TextWriter, IHtmlEncoder)"/> is called.</param>
|
||||
/// <remarks>Calls to <see cref="WriteTo(TextWriter, IHtmlEncoder)"/> result in a blocking invocation of
|
||||
/// <see cref="WriteTo(TextWriter, HtmlEncoder)"/> is called.</param>
|
||||
/// <remarks>Calls to <see cref="WriteTo(TextWriter, HtmlEncoder)"/> result in a blocking invocation of
|
||||
/// <paramref name="asyncAction"/>.</remarks>
|
||||
public HelperResult(Func<TextWriter, Task> asyncAction)
|
||||
{
|
||||
|
|
@ -34,7 +34,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the asynchronous delegate to invoke when <see cref="WriteTo(TextWriter, IHtmlEncoder)"/> is called.
|
||||
/// Gets the asynchronous delegate to invoke when <see cref="WriteTo(TextWriter, HtmlEncoder)"/> is called.
|
||||
/// </summary>
|
||||
public Func<TextWriter, Task> WriteAction
|
||||
{
|
||||
|
|
@ -45,8 +45,8 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
/// Method invoked to produce content from the <see cref="HelperResult"/>.
|
||||
/// </summary>
|
||||
/// <param name="writer">The <see cref="TextWriter"/> instance to write to.</param>
|
||||
/// <param name="encoder">The <see cref="IHtmlEncoder"/> to encode the content.</param>
|
||||
public virtual void WriteTo(TextWriter writer, IHtmlEncoder encoder)
|
||||
/// <param name="encoder">The <see cref="HtmlEncoder"/> to encode the content.</param>
|
||||
public virtual void WriteTo(TextWriter writer, HtmlEncoder encoder)
|
||||
{
|
||||
if (writer == null)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ using System.Globalization;
|
|||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Security.Claims;
|
||||
using System.Text.Encodings.Web;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Antiforgery;
|
||||
using Microsoft.AspNet.Html.Abstractions;
|
||||
|
|
@ -20,7 +21,6 @@ using Microsoft.AspNet.PageExecutionInstrumentation;
|
|||
using Microsoft.AspNet.Razor.Runtime.TagHelpers;
|
||||
using Microsoft.AspNet.Razor.TagHelpers;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.Razor
|
||||
{
|
||||
|
|
@ -76,10 +76,10 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
public bool IsPartial { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the <see cref="IHtmlEncoder"/> to be used for encoding HTML.
|
||||
/// Gets the <see cref="HtmlEncoder"/> to be used for encoding HTML.
|
||||
/// </summary>
|
||||
[RazorInject]
|
||||
public IHtmlEncoder HtmlEncoder { get; set; }
|
||||
public HtmlEncoder HtmlEncoder { get; set; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public IPageExecutionContext PageExecutionContext { get; set; }
|
||||
|
|
@ -423,7 +423,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
/// <param name="value">The <see cref="object"/> to write.</param>
|
||||
/// <remarks>
|
||||
/// <paramref name="value"/>s of type <see cref="IHtmlContent"/> are written using
|
||||
/// <see cref="IHtmlContent.WriteTo(TextWriter, IHtmlEncoder)"/>.
|
||||
/// <see cref="IHtmlContent.WriteTo(TextWriter, HtmlEncoder)"/>.
|
||||
/// For all other types, the encoded result of <see cref="object.ToString"/> is written to the
|
||||
/// <paramref name="writer"/>.
|
||||
/// </remarks>
|
||||
|
|
@ -441,7 +441,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
/// Writes the specified <paramref name="value"/> with HTML encoding to given <paramref name="writer"/>.
|
||||
/// </summary>
|
||||
/// <param name="writer">The <see cref="TextWriter"/> instance to write to.</param>
|
||||
/// <param name="encoder">The <see cref="IHtmlEncoder"/> to use when encoding <paramref name="value"/>.</param>
|
||||
/// <param name="encoder">The <see cref="HtmlEncoder"/> to use when encoding <paramref name="value"/>.</param>
|
||||
/// <param name="value">The <see cref="object"/> to write.</param>
|
||||
/// <param name="escapeQuotes">
|
||||
/// If <c>true</c> escapes double quotes in a <paramref name="value"/> of type <see cref="HtmlString"/>.
|
||||
|
|
@ -449,13 +449,13 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
/// </param>
|
||||
/// <remarks>
|
||||
/// <paramref name="value"/>s of type <see cref="IHtmlContent"/> are written using
|
||||
/// <see cref="IHtmlContent.WriteTo(TextWriter, IHtmlEncoder)"/>.
|
||||
/// <see cref="IHtmlContent.WriteTo(TextWriter, HtmlEncoder)"/>.
|
||||
/// For all other types, the encoded result of <see cref="object.ToString"/> is written to the
|
||||
/// <paramref name="writer"/>.
|
||||
/// </remarks>
|
||||
public static void WriteTo(
|
||||
TextWriter writer,
|
||||
IHtmlEncoder encoder,
|
||||
HtmlEncoder encoder,
|
||||
object value,
|
||||
bool escapeQuotes)
|
||||
{
|
||||
|
|
@ -532,11 +532,11 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
WriteTo(writer, HtmlEncoder, value);
|
||||
}
|
||||
|
||||
private static void WriteTo(TextWriter writer, IHtmlEncoder encoder, string value)
|
||||
private static void WriteTo(TextWriter writer, HtmlEncoder encoder, string value)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(value))
|
||||
{
|
||||
encoder.HtmlEncode(value, writer);
|
||||
encoder.Encode(writer, value);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Text.Encodings.Web;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Html.Abstractions;
|
||||
using Microsoft.AspNet.Mvc.ViewFeatures;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.Razor
|
||||
{
|
||||
|
|
@ -30,7 +30,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
/// is no longer buffering.</param>
|
||||
/// <param name="encoding">The character <see cref="Encoding"/> in which the output is written.</param>
|
||||
/// <param name="encoder">The HTML encoder.</param>
|
||||
public RazorTextWriter(TextWriter unbufferedWriter, Encoding encoding, IHtmlEncoder encoder)
|
||||
public RazorTextWriter(TextWriter unbufferedWriter, Encoding encoding, HtmlEncoder encoder)
|
||||
{
|
||||
UnbufferedWriter = unbufferedWriter;
|
||||
HtmlEncoder = encoder;
|
||||
|
|
@ -55,7 +55,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
|
||||
private TextWriter TargetWriter { get; set; }
|
||||
|
||||
private IHtmlEncoder HtmlEncoder { get; }
|
||||
private HtmlEncoder HtmlEncoder { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public override void Write(char value)
|
||||
|
|
|
|||
|
|
@ -5,25 +5,25 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text.Encodings.Web;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Http.Features;
|
||||
using Microsoft.AspNet.Mvc.Rendering;
|
||||
using Microsoft.AspNet.Mvc.ViewEngines;
|
||||
using Microsoft.AspNet.PageExecutionInstrumentation;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.Razor
|
||||
{
|
||||
/// <summary>
|
||||
/// Default implementation for <see cref="IView"/> that executes one or more <see cref="IRazorPage"/>
|
||||
/// as parts of its exeuction.
|
||||
/// as parts of its execution.
|
||||
/// </summary>
|
||||
public class RazorView : IView
|
||||
{
|
||||
private readonly IRazorViewEngine _viewEngine;
|
||||
private readonly IRazorPageActivator _pageActivator;
|
||||
private readonly IViewStartProvider _viewStartProvider;
|
||||
private readonly IHtmlEncoder _htmlEncoder;
|
||||
private readonly HtmlEncoder _htmlEncoder;
|
||||
private IPageExecutionListenerFeature _pageExecutionFeature;
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -41,7 +41,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
IRazorPageActivator pageActivator,
|
||||
IViewStartProvider viewStartProvider,
|
||||
IRazorPage razorPage,
|
||||
IHtmlEncoder htmlEncoder,
|
||||
HtmlEncoder htmlEncoder,
|
||||
bool isPartial)
|
||||
{
|
||||
_viewEngine = viewEngine;
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Mvc.ViewEngines;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.Razor
|
||||
{
|
||||
|
|
@ -13,7 +13,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
/// </summary>
|
||||
public class RazorViewFactory : IRazorViewFactory
|
||||
{
|
||||
private readonly IHtmlEncoder _htmlEncoder;
|
||||
private readonly HtmlEncoder _htmlEncoder;
|
||||
private readonly IRazorPageActivator _pageActivator;
|
||||
private readonly IViewStartProvider _viewStartProvider;
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
public RazorViewFactory(
|
||||
IRazorPageActivator pageActivator,
|
||||
IViewStartProvider viewStartProvider,
|
||||
IHtmlEncoder htmlEncoder)
|
||||
HtmlEncoder htmlEncoder)
|
||||
{
|
||||
_pageActivator = pageActivator;
|
||||
_viewStartProvider = viewStartProvider;
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Reflection;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Mvc.Rendering;
|
||||
using Microsoft.AspNet.Razor.TagHelpers;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.Razor.TagHelpers
|
||||
{
|
||||
|
|
@ -84,8 +84,8 @@ namespace Microsoft.AspNet.Mvc.Razor.TagHelpers
|
|||
/// Creates a new <see cref="UrlResolutionTagHelper"/>.
|
||||
/// </summary>
|
||||
/// <param name="urlHelper">The <see cref="IUrlHelper"/>.</param>
|
||||
/// <param name="htmlEncoder">The <see cref="IHtmlEncoder"/>.</param>
|
||||
public UrlResolutionTagHelper(IUrlHelper urlHelper, IHtmlEncoder htmlEncoder)
|
||||
/// <param name="htmlEncoder">The <see cref="HtmlEncoder"/>.</param>
|
||||
public UrlResolutionTagHelper(IUrlHelper urlHelper, HtmlEncoder htmlEncoder)
|
||||
{
|
||||
UrlHelper = urlHelper;
|
||||
HtmlEncoder = htmlEncoder;
|
||||
|
|
@ -102,7 +102,7 @@ namespace Microsoft.AspNet.Mvc.Razor.TagHelpers
|
|||
|
||||
protected IUrlHelper UrlHelper { get; }
|
||||
|
||||
protected IHtmlEncoder HtmlEncoder { get; }
|
||||
protected HtmlEncoder HtmlEncoder { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public override void Process(TagHelperContext context, TagHelperOutput output)
|
||||
|
|
@ -221,7 +221,7 @@ namespace Microsoft.AspNet.Mvc.Razor.TagHelpers
|
|||
}
|
||||
|
||||
var applicationPath = appRelativeUrl.Substring(0, appRelativeUrl.Length - postTildeSlashUrlValue.Length);
|
||||
var encodedApplicationPath = HtmlEncoder.HtmlEncode(applicationPath);
|
||||
var encodedApplicationPath = HtmlEncoder.Encode(applicationPath);
|
||||
|
||||
resolvedUrl = string.Concat(encodedApplicationPath, postTildeSlashUrlValue);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Hosting;
|
||||
using Microsoft.AspNet.Mvc.Razor.TagHelpers;
|
||||
using Microsoft.AspNet.Mvc.Rendering;
|
||||
|
|
@ -9,7 +10,6 @@ using Microsoft.AspNet.Mvc.TagHelpers.Internal;
|
|||
using Microsoft.AspNet.Mvc.ViewFeatures;
|
||||
using Microsoft.AspNet.Razor.TagHelpers;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.TagHelpers
|
||||
{
|
||||
|
|
@ -41,7 +41,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
public ImageTagHelper(
|
||||
IHostingEnvironment hostingEnvironment,
|
||||
IMemoryCache cache,
|
||||
IHtmlEncoder htmlEncoder,
|
||||
HtmlEncoder htmlEncoder,
|
||||
IUrlHelper urlHelper)
|
||||
: base(urlHelper, htmlEncoder)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
using System.Text.Encodings.Web;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.TagHelpers.Internal
|
||||
{
|
||||
|
|
@ -15,7 +15,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers.Internal
|
|||
/// <summary>
|
||||
/// Encodes a .NET string array for safe use as a JavaScript array literal, including inline in an HTML file.
|
||||
/// </summary>
|
||||
public static string Encode(IJavaScriptStringEncoder encoder, IEnumerable<string> values)
|
||||
public static string Encode(JavaScriptEncoder encoder, IEnumerable<string> values)
|
||||
{
|
||||
var writer = new StringWriter();
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers.Internal
|
|||
writer.Write(',');
|
||||
}
|
||||
writer.Write('"');
|
||||
encoder.JavaScriptStringEncode(value, writer);
|
||||
encoder.Encode(writer, value);
|
||||
writer.Write('"');
|
||||
firstAdded = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ using System;
|
|||
using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Hosting;
|
||||
using Microsoft.AspNet.Mvc.Razor.TagHelpers;
|
||||
using Microsoft.AspNet.Mvc.Rendering;
|
||||
|
|
@ -13,7 +14,6 @@ using Microsoft.AspNet.Mvc.ViewFeatures;
|
|||
using Microsoft.AspNet.Razor.TagHelpers;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.TagHelpers
|
||||
{
|
||||
|
|
@ -91,15 +91,15 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
/// <param name="logger">The <see cref="ILogger{ScriptTagHelper}"/>.</param>
|
||||
/// <param name="hostingEnvironment">The <see cref="IHostingEnvironment"/>.</param>
|
||||
/// <param name="cache">The <see cref="IMemoryCache"/>.</param>
|
||||
/// <param name="htmlEncoder">The <see cref="IHtmlEncoder"/>.</param>
|
||||
/// <param name="javaScriptEncoder">The <see cref="IJavaScriptStringEncoder"/>.</param>
|
||||
/// <param name="htmlEncoder">The <see cref="HtmlEncoder"/>.</param>
|
||||
/// <param name="javaScriptEncoder">The <see cref="JavaScriptEncoder"/>.</param>
|
||||
/// <param name="urlHelper">The <see cref="IUrlHelper"/>.</param>
|
||||
public LinkTagHelper(
|
||||
ILogger<LinkTagHelper> logger,
|
||||
IHostingEnvironment hostingEnvironment,
|
||||
IMemoryCache cache,
|
||||
IHtmlEncoder htmlEncoder,
|
||||
IJavaScriptStringEncoder javaScriptEncoder,
|
||||
HtmlEncoder htmlEncoder,
|
||||
JavaScriptEncoder javaScriptEncoder,
|
||||
IUrlHelper urlHelper)
|
||||
: base(urlHelper, htmlEncoder)
|
||||
{
|
||||
|
|
@ -208,7 +208,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
|
||||
protected IMemoryCache Cache { get; }
|
||||
|
||||
protected IJavaScriptStringEncoder JavaScriptEncoder { get; }
|
||||
protected JavaScriptEncoder JavaScriptEncoder { get; }
|
||||
|
||||
// Internal for ease of use when testing.
|
||||
protected internal GlobbingUrlBuilder GlobbingUrlBuilder { get; set; }
|
||||
|
|
@ -351,8 +351,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
string.Format(
|
||||
CultureInfo.InvariantCulture,
|
||||
JavaScriptResources.GetEmbeddedJavaScript(FallbackJavaScriptResourceName),
|
||||
JavaScriptEncoder.JavaScriptStringEncode(FallbackTestProperty),
|
||||
JavaScriptEncoder.JavaScriptStringEncode(FallbackTestValue),
|
||||
JavaScriptEncoder.Encode(FallbackTestProperty),
|
||||
JavaScriptEncoder.Encode(FallbackTestValue),
|
||||
JavaScriptStringArrayEncoder.Encode(JavaScriptEncoder, fallbackHrefs)))
|
||||
.AppendHtml("</script>");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Hosting;
|
||||
using Microsoft.AspNet.Mvc.Razor.TagHelpers;
|
||||
using Microsoft.AspNet.Mvc.Rendering;
|
||||
|
|
@ -12,7 +13,6 @@ using Microsoft.AspNet.Mvc.ViewFeatures;
|
|||
using Microsoft.AspNet.Razor.TagHelpers;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.TagHelpers
|
||||
{
|
||||
|
|
@ -77,15 +77,15 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
/// <param name="logger">The <see cref="ILogger{ScriptTagHelper}"/>.</param>
|
||||
/// <param name="hostingEnvironment">The <see cref="IHostingEnvironment"/>.</param>
|
||||
/// <param name="cache">The <see cref="IMemoryCache"/>.</param>
|
||||
/// <param name="htmlEncoder">The <see cref="IHtmlEncoder"/>.</param>
|
||||
/// <param name="javaScriptEncoder">The <see cref="IJavaScriptStringEncoder"/>.</param>
|
||||
/// <param name="htmlEncoder">The <see cref="HtmlEncoder"/>.</param>
|
||||
/// <param name="javaScriptEncoder">The <see cref="JavaScriptEncoder"/>.</param>
|
||||
/// <param name="urlHelper">The <see cref="IUrlHelper"/>.</param>
|
||||
public ScriptTagHelper(
|
||||
ILogger<ScriptTagHelper> logger,
|
||||
IHostingEnvironment hostingEnvironment,
|
||||
IMemoryCache cache,
|
||||
IHtmlEncoder htmlEncoder,
|
||||
IJavaScriptStringEncoder javaScriptEncoder,
|
||||
HtmlEncoder htmlEncoder,
|
||||
JavaScriptEncoder javaScriptEncoder,
|
||||
IUrlHelper urlHelper)
|
||||
: base(urlHelper, htmlEncoder)
|
||||
{
|
||||
|
|
@ -176,7 +176,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
|
||||
protected IMemoryCache Cache { get; }
|
||||
|
||||
protected IJavaScriptStringEncoder JavaScriptEncoder { get; }
|
||||
protected JavaScriptEncoder JavaScriptEncoder { get; }
|
||||
|
||||
// Internal for ease of use when testing.
|
||||
protected internal GlobbingUrlBuilder GlobbingUrlBuilder { get; set; }
|
||||
|
|
@ -316,9 +316,9 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
{
|
||||
if (!attribute.Name.Equals(SrcAttributeName, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
var encodedKey = JavaScriptEncoder.JavaScriptStringEncode(attribute.Name);
|
||||
var encodedKey = JavaScriptEncoder.Encode(attribute.Name);
|
||||
var attributeValue = attribute.Value.ToString();
|
||||
var encodedValue = JavaScriptEncoder.JavaScriptStringEncode(attributeValue);
|
||||
var encodedValue = JavaScriptEncoder.Encode(attributeValue);
|
||||
|
||||
AppendAttribute(builder, encodedKey, encodedValue, escapeQuotes: true);
|
||||
}
|
||||
|
|
@ -332,7 +332,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
}
|
||||
|
||||
// attribute.Key ("src") does not need to be JavaScript-encoded.
|
||||
var encodedValue = JavaScriptEncoder.JavaScriptStringEncode(attributeValue);
|
||||
var encodedValue = JavaScriptEncoder.Encode(attributeValue);
|
||||
|
||||
AppendAttribute(builder, attribute.Name, encodedValue, escapeQuotes: true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@
|
|||
|
||||
using System;
|
||||
using System.Text;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Mvc.Razor;
|
||||
using Microsoft.AspNet.Razor.TagHelpers;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.TagHelpers
|
||||
{
|
||||
|
|
@ -18,19 +18,19 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
/// Writes the specified <paramref name="value"/> with HTML encoding to given <paramref name="content"/>.
|
||||
/// </summary>
|
||||
/// <param name="content">The <see cref="TagHelperContent"/> to write to.</param>
|
||||
/// <param name="encoder">The <see cref="IHtmlEncoder"/> to use when encoding <paramref name="value"/>.</param>
|
||||
/// <param name="encoder">The <see cref="HtmlEncoder"/> to use when encoding <paramref name="value"/>.</param>
|
||||
/// <param name="encoding">The character encoding in which the <paramref name="value"/> is written.</param>
|
||||
/// <param name="value">The <see cref="object"/> to write.</param>
|
||||
/// <returns><paramref name="content"/> after the write operation has completed.</returns>
|
||||
/// <remarks>
|
||||
/// <paramref name="value"/>s of type <see cref="Html.Abstractions.IHtmlContent"/> are written using
|
||||
/// <see cref="Html.Abstractions.IHtmlContent.WriteTo(System.IO.TextWriter, IHtmlEncoder)"/>.
|
||||
/// <see cref="Html.Abstractions.IHtmlContent.WriteTo(System.IO.TextWriter, HtmlEncoder)"/>.
|
||||
/// For all other types, the encoded result of <see cref="object.ToString"/>
|
||||
/// is written to the <paramref name="content"/>.
|
||||
/// </remarks>
|
||||
public static TagHelperContent Append(
|
||||
this TagHelperContent content,
|
||||
IHtmlEncoder encoder,
|
||||
HtmlEncoder encoder,
|
||||
Encoding encoding,
|
||||
object value)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Html.Abstractions;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.Rendering
|
||||
{
|
||||
|
|
@ -35,7 +35,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public void WriteTo(TextWriter writer, IHtmlEncoder encoder)
|
||||
public void WriteTo(TextWriter writer, HtmlEncoder encoder)
|
||||
{
|
||||
if (writer == null)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@
|
|||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text.Encodings.Web;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Html.Abstractions;
|
||||
using Microsoft.AspNet.Mvc.ModelBinding;
|
||||
using Microsoft.AspNet.Mvc.ModelBinding.Validation;
|
||||
using Microsoft.AspNet.Mvc.ViewFeatures;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.Rendering
|
||||
{
|
||||
|
|
@ -55,14 +55,14 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
ITempDataDictionary TempData { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the <see cref="IUrlEncoder"/> to be used for encoding a URL.
|
||||
/// Gets the <see cref="UrlEncoder"/> to be used for encoding a URL.
|
||||
/// </summary>
|
||||
IUrlEncoder UrlEncoder { get; }
|
||||
UrlEncoder UrlEncoder { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the <see cref="IJavaScriptStringEncoder"/> to be used for encoding JavaScript.
|
||||
/// Gets the <see cref="JavaScriptEncoder"/> to be used for encoding JavaScript.
|
||||
/// </summary>
|
||||
IJavaScriptStringEncoder JavaScriptStringEncoder { get; }
|
||||
JavaScriptEncoder JavaScriptEncoder { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Returns an anchor (<a>) element that contains a URL path to the specified action.
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Mvc.ViewFeatures;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.Rendering
|
||||
|
|
@ -61,10 +61,10 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
var writer = _viewContext.Writer;
|
||||
var htmlWriter = writer as HtmlTextWriter;
|
||||
|
||||
IHtmlEncoder htmlEncoder = null;
|
||||
HtmlEncoder htmlEncoder = null;
|
||||
if (htmlWriter == null)
|
||||
{
|
||||
htmlEncoder = _viewContext.HttpContext.RequestServices.GetRequiredService<IHtmlEncoder>();
|
||||
htmlEncoder = _viewContext.HttpContext.RequestServices.GetRequiredService<HtmlEncoder>();
|
||||
}
|
||||
|
||||
foreach (var content in formContext.EndOfFormContent)
|
||||
|
|
|
|||
|
|
@ -7,10 +7,10 @@ using System.Diagnostics;
|
|||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Html.Abstractions;
|
||||
using Microsoft.AspNet.Mvc.ViewFeatures;
|
||||
using Microsoft.Extensions.Internal;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.Rendering
|
||||
{
|
||||
|
|
@ -189,7 +189,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
}
|
||||
}
|
||||
|
||||
private void AppendAttributes(TextWriter writer, IHtmlEncoder encoder)
|
||||
private void AppendAttributes(TextWriter writer, HtmlEncoder encoder)
|
||||
{
|
||||
// Perf: Avoid allocating enumerator for `_attributes` if possible
|
||||
if (_attributes != null && _attributes.Count > 0)
|
||||
|
|
@ -206,7 +206,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
writer.Write(" ");
|
||||
writer.Write(key);
|
||||
writer.Write("=\"");
|
||||
encoder.HtmlEncode(attribute.Value, writer);
|
||||
encoder.Encode(writer, attribute.Value);
|
||||
writer.Write("\"");
|
||||
}
|
||||
}
|
||||
|
|
@ -250,7 +250,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public void WriteTo(TextWriter writer, IHtmlEncoder encoder)
|
||||
public void WriteTo(TextWriter writer, HtmlEncoder encoder)
|
||||
{
|
||||
switch (TagRenderMode)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ using System.Diagnostics;
|
|||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Antiforgery;
|
||||
using Microsoft.AspNet.Html.Abstractions;
|
||||
using Microsoft.AspNet.Mvc.ModelBinding;
|
||||
|
|
@ -16,7 +17,6 @@ using Microsoft.AspNet.Mvc.Rendering;
|
|||
using Microsoft.AspNet.Mvc.ViewFeatures.Internal;
|
||||
using Microsoft.Extensions.Internal;
|
||||
using Microsoft.Extensions.OptionsModel;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.ViewFeatures
|
||||
{
|
||||
|
|
@ -30,7 +30,7 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
private readonly IClientModelValidatorProvider _clientModelValidatorProvider;
|
||||
private readonly IModelMetadataProvider _metadataProvider;
|
||||
private readonly IUrlHelper _urlHelper;
|
||||
private readonly IHtmlEncoder _htmlEncoder;
|
||||
private readonly HtmlEncoder _htmlEncoder;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="DefaultHtmlGenerator"/> class.
|
||||
|
|
@ -40,13 +40,13 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
/// <param name="optionsAccessor">The accessor for <see cref="MvcOptions"/>.</param>
|
||||
/// <param name="metadataProvider">The <see cref="IModelMetadataProvider"/>.</param>
|
||||
/// <param name="urlHelper">The <see cref="IUrlHelper"/>.</param>
|
||||
/// <param name="htmlEncoder">The <see cref="IHtmlEncoder"/>.</param>
|
||||
/// <param name="htmlEncoder">The <see cref="HtmlEncoder"/>.</param>
|
||||
public DefaultHtmlGenerator(
|
||||
IAntiforgery antiforgery,
|
||||
IOptions<MvcViewOptions> optionsAccessor,
|
||||
IModelMetadataProvider metadataProvider,
|
||||
IUrlHelper urlHelper,
|
||||
IHtmlEncoder htmlEncoder)
|
||||
HtmlEncoder htmlEncoder)
|
||||
{
|
||||
if (antiforgery == null)
|
||||
{
|
||||
|
|
@ -90,13 +90,13 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
/// <inheritdoc />
|
||||
public string Encode(string value)
|
||||
{
|
||||
return !string.IsNullOrEmpty(value) ? _htmlEncoder.HtmlEncode(value) : string.Empty;
|
||||
return !string.IsNullOrEmpty(value) ? _htmlEncoder.Encode(value) : string.Empty;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Encode(object value)
|
||||
{
|
||||
return (value != null) ? _htmlEncoder.HtmlEncode(value.ToString()) : string.Empty;
|
||||
return (value != null) ? _htmlEncoder.Encode(value.ToString()) : string.Empty;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ using System.Collections.Generic;
|
|||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.Encodings.Web;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Html.Abstractions;
|
||||
using Microsoft.AspNet.Mvc.ModelBinding;
|
||||
|
|
@ -14,7 +15,6 @@ using Microsoft.AspNet.Mvc.Rendering;
|
|||
using Microsoft.AspNet.Mvc.ViewEngines;
|
||||
using Microsoft.AspNet.Mvc.ViewFeatures.Internal;
|
||||
using Microsoft.Extensions.Internal;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.ViewFeatures
|
||||
{
|
||||
|
|
@ -32,7 +32,7 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
|
||||
private readonly IHtmlGenerator _htmlGenerator;
|
||||
private readonly ICompositeViewEngine _viewEngine;
|
||||
private readonly IHtmlEncoder _htmlEncoder;
|
||||
private readonly HtmlEncoder _htmlEncoder;
|
||||
|
||||
private ViewContext _viewContext;
|
||||
|
||||
|
|
@ -43,9 +43,9 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
IHtmlGenerator htmlGenerator,
|
||||
ICompositeViewEngine viewEngine,
|
||||
IModelMetadataProvider metadataProvider,
|
||||
IHtmlEncoder htmlEncoder,
|
||||
IUrlEncoder urlEncoder,
|
||||
IJavaScriptStringEncoder javaScriptStringEncoder)
|
||||
HtmlEncoder htmlEncoder,
|
||||
UrlEncoder urlEncoder,
|
||||
JavaScriptEncoder javaScriptEncoder)
|
||||
{
|
||||
if (htmlGenerator == null)
|
||||
{
|
||||
|
|
@ -72,9 +72,9 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
throw new ArgumentNullException(nameof(urlEncoder));
|
||||
}
|
||||
|
||||
if (javaScriptStringEncoder == null)
|
||||
if (javaScriptEncoder == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(javaScriptStringEncoder));
|
||||
throw new ArgumentNullException(nameof(javaScriptEncoder));
|
||||
}
|
||||
|
||||
_viewEngine = viewEngine;
|
||||
|
|
@ -82,7 +82,7 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
_htmlEncoder = htmlEncoder;
|
||||
MetadataProvider = metadataProvider;
|
||||
UrlEncoder = urlEncoder;
|
||||
JavaScriptStringEncoder = javaScriptStringEncoder;
|
||||
JavaScriptEncoder = javaScriptEncoder;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
|
|
@ -153,10 +153,10 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public IUrlEncoder UrlEncoder { get; }
|
||||
public UrlEncoder UrlEncoder { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public IJavaScriptStringEncoder JavaScriptStringEncoder { get; }
|
||||
public JavaScriptEncoder JavaScriptEncoder { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public IModelMetadataProvider MetadataProvider { get; }
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq.Expressions;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Html.Abstractions;
|
||||
using Microsoft.AspNet.Mvc.ModelBinding;
|
||||
using Microsoft.AspNet.Mvc.Rendering;
|
||||
using Microsoft.AspNet.Mvc.ViewEngines;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.ViewFeatures
|
||||
{
|
||||
|
|
@ -21,10 +21,10 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
IHtmlGenerator htmlGenerator,
|
||||
ICompositeViewEngine viewEngine,
|
||||
IModelMetadataProvider metadataProvider,
|
||||
IHtmlEncoder htmlEncoder,
|
||||
IUrlEncoder urlEncoder,
|
||||
IJavaScriptStringEncoder javaScriptStringEncoder)
|
||||
: base(htmlGenerator, viewEngine, metadataProvider, htmlEncoder, urlEncoder, javaScriptStringEncoder)
|
||||
HtmlEncoder htmlEncoder,
|
||||
UrlEncoder urlEncoder,
|
||||
JavaScriptEncoder javaScriptEncoder)
|
||||
: base(htmlGenerator, viewEngine, metadataProvider, htmlEncoder, urlEncoder, javaScriptEncoder)
|
||||
{
|
||||
if (htmlGenerator == null)
|
||||
{
|
||||
|
|
@ -46,9 +46,9 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
{
|
||||
throw new ArgumentNullException(nameof(urlEncoder));
|
||||
}
|
||||
if (javaScriptStringEncoder == null)
|
||||
if (javaScriptEncoder == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(javaScriptStringEncoder));
|
||||
throw new ArgumentNullException(nameof(javaScriptEncoder));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@ using System.Collections.Generic;
|
|||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Text.Encodings.Web;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Html.Abstractions;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.ViewFeatures
|
||||
{
|
||||
|
|
@ -180,8 +180,8 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
/// are copied. It is just written to the <paramref name="writer"/> otherwise.
|
||||
/// </summary>
|
||||
/// <param name="writer">The <see cref="TextWriter"/> to which the content must be copied/written.</param>
|
||||
/// <param name="encoder">The <see cref="IHtmlEncoder"/> to encode the copied/written content.</param>
|
||||
public void CopyTo(TextWriter writer, IHtmlEncoder encoder)
|
||||
/// <param name="encoder">The <see cref="HtmlEncoder"/> to encode the copied/written content.</param>
|
||||
public void CopyTo(TextWriter writer, HtmlEncoder encoder)
|
||||
{
|
||||
var targetStringCollectionWriter = writer as StringCollectionTextWriter;
|
||||
if (targetStringCollectionWriter != null)
|
||||
|
|
@ -199,8 +199,8 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
/// are copied. It is just written to the <paramref name="writer"/> otherwise.
|
||||
/// </summary>
|
||||
/// <param name="writer">The <see cref="TextWriter"/> to which the content must be copied/written.</param>
|
||||
/// <param name="encoder">The <see cref="IHtmlEncoder"/> to encode the copied/written content.</param>
|
||||
public Task CopyToAsync(TextWriter writer, IHtmlEncoder encoder)
|
||||
/// <param name="encoder">The <see cref="HtmlEncoder"/> to encode the copied/written content.</param>
|
||||
public Task CopyToAsync(TextWriter writer, HtmlEncoder encoder)
|
||||
{
|
||||
CopyTo(writer, encoder);
|
||||
return _completedTask;
|
||||
|
|
@ -226,7 +226,7 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
_entries.Add(content);
|
||||
}
|
||||
|
||||
public void WriteTo(TextWriter writer, IHtmlEncoder encoder)
|
||||
public void WriteTo(TextWriter writer, HtmlEncoder encoder)
|
||||
{
|
||||
foreach (var item in _entries)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@
|
|||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Html.Abstractions;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.ViewFeatures
|
||||
{
|
||||
|
|
@ -27,7 +27,7 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public void WriteTo(TextWriter writer, IHtmlEncoder encoder)
|
||||
public void WriteTo(TextWriter writer, HtmlEncoder encoder)
|
||||
{
|
||||
if (writer == null)
|
||||
{
|
||||
|
|
@ -39,7 +39,7 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
throw new ArgumentNullException(nameof(encoder));
|
||||
}
|
||||
|
||||
encoder.HtmlEncode(_input, writer);
|
||||
encoder.Encode(writer, _input);
|
||||
}
|
||||
|
||||
private string DebuggerToString()
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
using Microsoft.Extensions.WebEncoders.Testing;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.FunctionalTests
|
||||
|
|
@ -12,9 +12,9 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
{
|
||||
protected override void AddAdditionalServices(IServiceCollection services)
|
||||
{
|
||||
services.AddTransient<IHtmlEncoder, CommonTestEncoder>();
|
||||
services.AddTransient<IJavaScriptStringEncoder, CommonTestEncoder>();
|
||||
services.AddTransient<IUrlEncoder, CommonTestEncoder>();
|
||||
services.AddTransient<HtmlEncoder, HtmlTestEncoder>();
|
||||
services.AddTransient<JavaScriptEncoder, JavaScriptTestEncoder>();
|
||||
services.AddTransient<UrlEncoder, UrlTestEncoder>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,63 +39,63 @@
|
|||
|
||||
<!-- Fallback to static href -->
|
||||
<link href="HtmlEncode[[/styles/site.min.css?a=b&c=d]]" rel="stylesheet" data-extra="test" title=""the" title" />
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptStringEncode[[visibility]]","JavaScriptStringEncode[[hidden]]",["JavaScriptStringEncode[[/styles/site.css?a=b&c=d]]"]);</script>
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptEncode[[visibility]]","JavaScriptEncode[[hidden]]",["JavaScriptEncode[[/styles/site.css?a=b&c=d]]"]);</script>
|
||||
|
||||
<!-- Fallback from globbed href to static href -->
|
||||
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptStringEncode[[visibility]]","JavaScriptStringEncode[[hidden]]",["JavaScriptStringEncode[[/styles/site.css]]"]);</script>
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptEncode[[visibility]]","JavaScriptEncode[[hidden]]",["JavaScriptEncode[[/styles/site.css]]"]);</script>
|
||||
|
||||
<!-- Fallback from globbed href with exclude to static href -->
|
||||
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptStringEncode[[visibility]]","JavaScriptStringEncode[[hidden]]",["JavaScriptStringEncode[[/styles/site.css]]"]);</script>
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptEncode[[visibility]]","JavaScriptEncode[[hidden]]",["JavaScriptEncode[[/styles/site.css]]"]);</script>
|
||||
|
||||
<!-- Fallback from globbed and static href to static href -->
|
||||
<link href="HtmlEncode[[styles/site.min.css]]" rel="stylesheet" data-extra="test" /><link href="HtmlEncode[[/styles/site.css]]" rel="stylesheet" data-extra="test" />
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptStringEncode[[visibility]]","JavaScriptStringEncode[[hidden]]",["JavaScriptStringEncode[[/styles/site.css]]"]);</script>
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptEncode[[visibility]]","JavaScriptEncode[[hidden]]",["JavaScriptEncode[[/styles/site.css]]"]);</script>
|
||||
|
||||
<!-- Fallback from globbed and static href with exclude to static href -->
|
||||
<link href="HtmlEncode[[styles/site.min.css]]" rel="stylesheet" data-extra="test" />
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptStringEncode[[visibility]]","JavaScriptStringEncode[[hidden]]",["JavaScriptStringEncode[[/styles/site.css]]"]);</script>
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptEncode[[visibility]]","JavaScriptEncode[[hidden]]",["JavaScriptEncode[[/styles/site.css]]"]);</script>
|
||||
|
||||
<!-- Fallback to static href with no primary href -->
|
||||
<link rel="stylesheet" data-extra="test">
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptStringEncode[[visibility]]","JavaScriptStringEncode[[hidden]]",["JavaScriptStringEncode[[/styles/site.css]]"]);</script>
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptEncode[[visibility]]","JavaScriptEncode[[hidden]]",["JavaScriptEncode[[/styles/site.css]]"]);</script>
|
||||
|
||||
<!-- Fallback to globbed href -->
|
||||
<link href="HtmlEncode[[/styles/site.min.css]]" rel="stylesheet" data-extra="test" />
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptStringEncode[[visibility]]","JavaScriptStringEncode[[hidden]]",["JavaScriptStringEncode[[/styles/site.css]]"]);</script>
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptEncode[[visibility]]","JavaScriptEncode[[hidden]]",["JavaScriptEncode[[/styles/site.css]]"]);</script>
|
||||
|
||||
<!-- Fallback to static and globbed href -->
|
||||
<link href="HtmlEncode[[/styles/site.min.css]]" rel="stylesheet" data-extra="test" />
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptStringEncode[[visibility]]","JavaScriptStringEncode[[hidden]]",["JavaScriptStringEncode[[/styles/site.css]]","JavaScriptStringEncode[[/styles/sub/site2.css]]"]);</script>
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptEncode[[visibility]]","JavaScriptEncode[[hidden]]",["JavaScriptEncode[[/styles/site.css]]","JavaScriptEncode[[/styles/sub/site2.css]]"]);</script>
|
||||
|
||||
<!-- Fallback to static and globbed href should dedupe -->
|
||||
<link href="HtmlEncode[[/styles/site.min.css]]" rel="stylesheet" data-extra="test" />
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptStringEncode[[visibility]]","JavaScriptStringEncode[[hidden]]",["JavaScriptStringEncode[[/styles/site.css]]"]);</script>
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptEncode[[visibility]]","JavaScriptEncode[[hidden]]",["JavaScriptEncode[[/styles/site.css]]"]);</script>
|
||||
|
||||
<!-- Fallback to static and globbed href with exclude -->
|
||||
<link href="HtmlEncode[[/styles/site.min.css]]" rel="stylesheet" data-extra="test" />
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptStringEncode[[visibility]]","JavaScriptStringEncode[[hidden]]",["JavaScriptStringEncode[[/styles/site.css]]","JavaScriptStringEncode[[/styles/sub/site2.css]]"]);</script>
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptEncode[[visibility]]","JavaScriptEncode[[hidden]]",["JavaScriptEncode[[/styles/site.css]]","JavaScriptEncode[[/styles/sub/site2.css]]"]);</script>
|
||||
|
||||
<!-- Fallback from globbed href to glbobed href -->
|
||||
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptStringEncode[[visibility]]","JavaScriptStringEncode[[hidden]]",["JavaScriptStringEncode[[/styles/site.css]]"]);</script>
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptEncode[[visibility]]","JavaScriptEncode[[hidden]]",["JavaScriptEncode[[/styles/site.css]]"]);</script>
|
||||
|
||||
<!-- Fallback from globbed href with exclude to globbed href -->
|
||||
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptStringEncode[[visibility]]","JavaScriptStringEncode[[hidden]]",["JavaScriptStringEncode[[/styles/site.css]]"]);</script>
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptEncode[[visibility]]","JavaScriptEncode[[hidden]]",["JavaScriptEncode[[/styles/site.css]]"]);</script>
|
||||
|
||||
<!-- Fallback from globbed and static href to globbed href -->
|
||||
<link href="HtmlEncode[[styles/site.min.css]]" rel="stylesheet" data-extra="test" /><link href="HtmlEncode[[/styles/site.css]]" rel="stylesheet" data-extra="test" />
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptStringEncode[[visibility]]","JavaScriptStringEncode[[hidden]]",["JavaScriptStringEncode[[/styles/site.css]]"]);</script>
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptEncode[[visibility]]","JavaScriptEncode[[hidden]]",["JavaScriptEncode[[/styles/site.css]]"]);</script>
|
||||
|
||||
<!-- Fallback from globbed and static href with exclude to globbed href -->
|
||||
<link href="HtmlEncode[[styles/site.min.css]]" rel="stylesheet" data-extra="test">
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptStringEncode[[visibility]]","JavaScriptStringEncode[[hidden]]",["JavaScriptStringEncode[[/styles/site.css]]"]);</script>
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptEncode[[visibility]]","JavaScriptEncode[[hidden]]",["JavaScriptEncode[[/styles/site.css]]"]);</script>
|
||||
|
||||
<!-- Kitchen sink, all the attributes -->
|
||||
<link href="HtmlEncode[[styles/site.min.css]]" rel="stylesheet" data-extra="test" />
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptStringEncode[[visibility]]","JavaScriptStringEncode[[hidden]]",["JavaScriptStringEncode[[/styles/site.css]]","JavaScriptStringEncode[[/styles/sub/site2.css]]"]);</script>
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptEncode[[visibility]]","JavaScriptEncode[[hidden]]",["JavaScriptEncode[[/styles/site.css]]","JavaScriptEncode[[/styles/sub/site2.css]]"]);</script>
|
||||
|
||||
<!-- Fallback to globbed href that doesn't exist -->
|
||||
<link href="HtmlEncode[[/styles/site.min.css]]" rel="stylesheet" data-extra="test" />
|
||||
|
|
@ -120,7 +120,7 @@
|
|||
|
||||
<!-- Fallback with file version -->
|
||||
<link href="HtmlEncode[[/styles/site.min.css]]" rel="stylesheet" data-extra="test">
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptStringEncode[[visibility]]","JavaScriptStringEncode[[hidden]]",["JavaScriptStringEncode[[/styles/site.css?v=XY7YsMemPf8AGU4SIX9ED9eOjK1LOQWu2dmCNmh-pQc]]"]);</script>
|
||||
<meta name="x-stylesheet-fallback-test" class="HtmlEncode[[hidden]]" /><script>!function(a,b,c){var d,e=document,f=e.getElementsByTagName("SCRIPT"),g=f[f.length-1].previousElementSibling,h=e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g):g.currentStyle;if(h&&h[a]!==b)for(d=0;d<c.length;d++)e.write('<link rel="stylesheet" href="'+c[d]+'"/>')}("JavaScriptEncode[[visibility]]","JavaScriptEncode[[hidden]]",["JavaScriptEncode[[/styles/site.css?v=XY7YsMemPf8AGU4SIX9ED9eOjK1LOQWu2dmCNmh-pQc]]"]);</script>
|
||||
|
||||
<!-- Globbed link tag with existing file, static href and file version -->
|
||||
<link href="HtmlEncode[[/styles/site.css?v=XY7YsMemPf8AGU4SIX9ED9eOjK1LOQWu2dmCNmh-pQc]]" rel="stylesheet" /><link href="HtmlEncode[[/styles/sub/site2.css?v=30cxPex0tA9xEatW7f1Qhnn8tVLAHgE6xwIZhESq0y0]]" rel="stylesheet" /><link href="HtmlEncode[[/styles/sub/site3.css?v=fSxxOr1Q4Dq2uPuzlju5UYGuK0SKABI-ghvaIGEsZDc]]" rel="stylesheet" /><link href="HtmlEncode[[/styles/sub/site3.min.css?v=s8JMmAZxBn0dzuhRtQ0wgOvNBK4XRJRWEC2wfzsVF9M]]" rel="stylesheet" />
|
||||
|
|
|
|||
|
|
@ -13,27 +13,27 @@
|
|||
<script src="HtmlEncode[[/blank.js?a=b&c=d]]" data-foo="foo-data2" title="<the title>">
|
||||
// TagHelper script with comment in body, and extra properties.
|
||||
</script>
|
||||
<script>(false||document.write("<script src=\"JavaScriptStringEncode[[/styles/site.js?a=b&c=d]]\" JavaScriptStringEncode[[data-foo]]=\"JavaScriptStringEncode[[foo-data2]]\" JavaScriptStringEncode[[title]]=\"JavaScriptStringEncode[[<the title>]]\"><\/script>"));</script>
|
||||
<script>(false||document.write("<script src=\"JavaScriptEncode[[/styles/site.js?a=b&c=d]]\" JavaScriptEncode[[data-foo]]=\"JavaScriptEncode[[foo-data2]]\" JavaScriptEncode[[title]]=\"JavaScriptEncode[[<the title>]]\"><\/script>"));</script>
|
||||
|
||||
<script src="HtmlEncode[[/blank.js]]" title=""the" title">
|
||||
// Fallback to globbed src
|
||||
</script>
|
||||
<script>(false||document.write("<script src=\"JavaScriptStringEncode[[/styles/site.js]]\" JavaScriptStringEncode[[title]]=\"JavaScriptStringEncode[["the" title]]\"><\/script>"));</script>
|
||||
<script>(false||document.write("<script src=\"JavaScriptEncode[[/styles/site.js]]\" JavaScriptEncode[[title]]=\"JavaScriptEncode[["the" title]]\"><\/script>"));</script>
|
||||
|
||||
<script src="HtmlEncode[[/blank.js]]">
|
||||
// Fallback to globbed src with exclude
|
||||
</script>
|
||||
<script>(false||document.write("<script src=\"JavaScriptStringEncode[[/styles/site.js]]\"><\/script><script src=\"JavaScriptStringEncode[[/styles/sub/site2.js]]\"><\/script>"));</script>
|
||||
<script>(false||document.write("<script src=\"JavaScriptEncode[[/styles/site.js]]\"><\/script><script src=\"JavaScriptEncode[[/styles/sub/site2.js]]\"><\/script>"));</script>
|
||||
|
||||
<script src="HtmlEncode[[/blank.js]]">
|
||||
// Fallback to globbed and static src
|
||||
</script>
|
||||
<script>(false||document.write("<script src=\"JavaScriptStringEncode[[/styles/site.js]]\"><\/script><script src=\"JavaScriptStringEncode[[/styles/sub/site2.js]]\"><\/script>"));</script>
|
||||
<script>(false||document.write("<script src=\"JavaScriptEncode[[/styles/site.js]]\"><\/script><script src=\"JavaScriptEncode[[/styles/sub/site2.js]]\"><\/script>"));</script>
|
||||
|
||||
<script src="HtmlEncode[[/blank.js]]">
|
||||
// Fallback to globbed and static src should de-dupe
|
||||
</script>
|
||||
<script>(false||document.write("<script src=\"JavaScriptStringEncode[[/styles/site.js]]\"><\/script>"));</script>
|
||||
<script>(false||document.write("<script src=\"JavaScriptEncode[[/styles/site.js]]\"><\/script>"));</script>
|
||||
|
||||
<script src="HtmlEncode[[/blank.js]]">
|
||||
// Fallback to globbed src with missing include
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
<script src="HtmlEncode[[/blank.js]]">
|
||||
// Fallback to static and globbed src with missing include
|
||||
</script>
|
||||
<script>(false||document.write("<script src=\"JavaScriptStringEncode[[/styles/site.js]]\"><\/script>"));</script>
|
||||
<script>(false||document.write("<script src=\"JavaScriptEncode[[/styles/site.js]]\"><\/script>"));</script>
|
||||
|
||||
<script src="HtmlEncode[[/blank.js]]">
|
||||
// Fallback to globbed src outside of webroot
|
||||
|
|
@ -55,7 +55,7 @@
|
|||
<script data-foo="foo-data3">
|
||||
// Valid TagHelper (although no src is provided) script with comment in body, and extra properties.
|
||||
</script>
|
||||
<script>(false||document.write("<script JavaScriptStringEncode[[data-foo]]=\"JavaScriptStringEncode[[foo-data3]]\" src=\"JavaScriptStringEncode[[/styles/site.js]]\"><\/script>"));</script>
|
||||
<script>(false||document.write("<script JavaScriptEncode[[data-foo]]=\"JavaScriptEncode[[foo-data3]]\" src=\"JavaScriptEncode[[/styles/site.js]]\"><\/script>"));</script>
|
||||
|
||||
<script src="HtmlEncode[[/blank.js]]">
|
||||
// Invalid TagHelper script with comment in body.
|
||||
|
|
@ -98,12 +98,12 @@
|
|||
<script src="HtmlEncode[[/blank.js]]">
|
||||
// TagHelper script with comment in body, and file version.
|
||||
</script>
|
||||
<script>(false||document.write("<script src=\"JavaScriptStringEncode[[/styles/site.js?v=jx1PJjLX32-xgQQx2BxnckU9QH9DVKkm4-M5bSK869I]]\"><\/script>"));</script>
|
||||
<script>(false||document.write("<script src=\"JavaScriptEncode[[/styles/site.js?v=jx1PJjLX32-xgQQx2BxnckU9QH9DVKkm4-M5bSK869I]]\"><\/script>"));</script>
|
||||
|
||||
<script src="HtmlEncode[[/blank.js]]">
|
||||
// Fallback to globbed src with file version.
|
||||
</script>
|
||||
<script>(false||document.write("<script src=\"JavaScriptStringEncode[[/styles/site.js?v=jx1PJjLX32-xgQQx2BxnckU9QH9DVKkm4-M5bSK869I]]\"><\/script>"));</script>
|
||||
<script>(false||document.write("<script src=\"JavaScriptEncode[[/styles/site.js?v=jx1PJjLX32-xgQQx2BxnckU9QH9DVKkm4-M5bSK869I]]\"><\/script>"));</script>
|
||||
|
||||
<script src="HtmlEncode[[/styles/site.js?v=jx1PJjLX32-xgQQx2BxnckU9QH9DVKkm4-M5bSK869I]]">
|
||||
// Regular script with comment in body, and file version.
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ namespace Microsoft.AspNet.Mvc.Localization.Test
|
|||
var stringLocalizer = new Mock<IStringLocalizer>();
|
||||
stringLocalizer.Setup(s => s["Hello"]).Returns(localizedString);
|
||||
|
||||
var htmlLocalizer = new HtmlLocalizer(stringLocalizer.Object, new CommonTestEncoder());
|
||||
var htmlLocalizer = new HtmlLocalizer(stringLocalizer.Object, new HtmlTestEncoder());
|
||||
|
||||
// Act
|
||||
var actualLocalizedString = htmlLocalizer["Hello"];
|
||||
|
|
@ -39,7 +39,7 @@ namespace Microsoft.AspNet.Mvc.Localization.Test
|
|||
var stringLocalizer = new Mock<IStringLocalizer>();
|
||||
stringLocalizer.Setup(s => s["Hello", "test"]).Returns(localizedString);
|
||||
|
||||
var htmlLocalizer = new HtmlLocalizer(stringLocalizer.Object, new CommonTestEncoder());
|
||||
var htmlLocalizer = new HtmlLocalizer(stringLocalizer.Object, new HtmlTestEncoder());
|
||||
|
||||
// Act
|
||||
var actualLocalizedString = htmlLocalizer["Hello", "test"];
|
||||
|
|
@ -102,7 +102,7 @@ namespace Microsoft.AspNet.Mvc.Localization.Test
|
|||
var stringLocalizer = new Mock<IStringLocalizer>();
|
||||
stringLocalizer.Setup(s => s["Hello"]).Returns(localizedString);
|
||||
|
||||
var htmlLocalizer = new HtmlLocalizer(stringLocalizer.Object, new CommonTestEncoder());
|
||||
var htmlLocalizer = new HtmlLocalizer(stringLocalizer.Object, new HtmlTestEncoder());
|
||||
|
||||
// Act
|
||||
var localizedHtmlString = htmlLocalizer.Html("Hello", arguments);
|
||||
|
|
@ -141,7 +141,7 @@ namespace Microsoft.AspNet.Mvc.Localization.Test
|
|||
var stringLocalizer = new Mock<IStringLocalizer>();
|
||||
stringLocalizer.Setup(s => s["Hello"]).Returns(localizedString);
|
||||
|
||||
var htmlLocalizer = new HtmlLocalizer(stringLocalizer.Object, new CommonTestEncoder());
|
||||
var htmlLocalizer = new HtmlLocalizer(stringLocalizer.Object, new HtmlTestEncoder());
|
||||
|
||||
// Act
|
||||
var exception = Assert.Throws<FormatException>(() => htmlLocalizer.Html("Hello", new object[] { }));
|
||||
|
|
|
|||
|
|
@ -4,13 +4,12 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Mvc.Razor;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||
using Microsoft.Extensions.Localization;
|
||||
using Microsoft.Extensions.OptionsModel;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
using Microsoft.Extensions.WebEncoders.Testing;
|
||||
using Xunit;
|
||||
|
||||
|
|
@ -57,7 +56,7 @@ namespace Microsoft.AspNet.Mvc.Localization.Internal
|
|||
},
|
||||
service =>
|
||||
{
|
||||
Assert.Equal(typeof(IHtmlEncoder), service.ServiceType);
|
||||
Assert.Equal(typeof(HtmlEncoder), service.ServiceType);
|
||||
Assert.Equal(ServiceLifetime.Singleton, service.Lifetime);
|
||||
},
|
||||
service =>
|
||||
|
|
@ -84,13 +83,13 @@ namespace Microsoft.AspNet.Mvc.Localization.Internal
|
|||
{
|
||||
// Arrange
|
||||
var collection = new ServiceCollection();
|
||||
var testEncoder = new CommonTestEncoder();
|
||||
var testEncoder = new HtmlTestEncoder();
|
||||
|
||||
// Act
|
||||
collection.Add(ServiceDescriptor.Singleton(typeof(IHtmlLocalizerFactory), typeof(TestHtmlLocalizerFactory)));
|
||||
collection.Add(ServiceDescriptor.Transient(typeof(IHtmlLocalizer<>), typeof(TestHtmlLocalizer<>)));
|
||||
collection.Add(ServiceDescriptor.Transient(typeof(IViewLocalizer), typeof(TestViewLocalizer)));
|
||||
collection.Add(ServiceDescriptor.Instance(typeof(IHtmlEncoder), testEncoder));
|
||||
collection.Add(ServiceDescriptor.Instance(typeof(HtmlEncoder), testEncoder));
|
||||
|
||||
MvcLocalizationServices.AddLocalizationServices(
|
||||
collection,
|
||||
|
|
@ -119,7 +118,7 @@ namespace Microsoft.AspNet.Mvc.Localization.Internal
|
|||
},
|
||||
service =>
|
||||
{
|
||||
Assert.Equal(typeof(IHtmlEncoder), service.ServiceType);
|
||||
Assert.Equal(typeof(HtmlEncoder), service.ServiceType);
|
||||
Assert.Same(testEncoder, service.ImplementationInstance);
|
||||
},
|
||||
service =>
|
||||
|
|
@ -165,7 +164,7 @@ namespace Microsoft.AspNet.Mvc.Localization.Internal
|
|||
|
||||
collection.Add(ServiceDescriptor.Transient(typeof(IHtmlLocalizer<>), typeof(TestHtmlLocalizer<>)));
|
||||
collection.Add(ServiceDescriptor.Transient(typeof(IHtmlLocalizer), typeof(TestViewLocalizer)));
|
||||
collection.Add(ServiceDescriptor.Instance(typeof(IHtmlEncoder), typeof(CommonTestEncoder)));
|
||||
collection.Add(ServiceDescriptor.Instance(typeof(HtmlEncoder), typeof(HtmlTestEncoder)));
|
||||
|
||||
// Assert
|
||||
Assert.Collection(collection,
|
||||
|
|
@ -199,7 +198,7 @@ namespace Microsoft.AspNet.Mvc.Localization.Internal
|
|||
},
|
||||
service =>
|
||||
{
|
||||
Assert.Equal(typeof(IHtmlEncoder), service.ServiceType);
|
||||
Assert.Equal(typeof(HtmlEncoder), service.ServiceType);
|
||||
Assert.Equal(ServiceLifetime.Singleton, service.Lifetime);
|
||||
},
|
||||
service =>
|
||||
|
|
@ -233,8 +232,8 @@ namespace Microsoft.AspNet.Mvc.Localization.Internal
|
|||
},
|
||||
service =>
|
||||
{
|
||||
Assert.Equal(typeof(IHtmlEncoder), service.ServiceType);
|
||||
Assert.Equal(typeof(CommonTestEncoder), service.ImplementationInstance);
|
||||
Assert.Equal(typeof(HtmlEncoder), service.ServiceType);
|
||||
Assert.Equal(typeof(HtmlTestEncoder), service.ImplementationInstance);
|
||||
Assert.Equal(ServiceLifetime.Singleton, service.Lifetime);
|
||||
});
|
||||
}
|
||||
|
|
@ -278,7 +277,7 @@ namespace Microsoft.AspNet.Mvc.Localization.Internal
|
|||
},
|
||||
service =>
|
||||
{
|
||||
Assert.Equal(typeof(IHtmlEncoder), service.ServiceType);
|
||||
Assert.Equal(typeof(HtmlEncoder), service.ServiceType);
|
||||
Assert.Equal(ServiceLifetime.Singleton, service.Lifetime);
|
||||
},
|
||||
service =>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
using System;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Text.Encodings.Web;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Http;
|
||||
using Microsoft.AspNet.Mvc.Abstractions;
|
||||
|
|
@ -14,7 +15,6 @@ using Microsoft.AspNet.Mvc.ViewEngines;
|
|||
using Microsoft.AspNet.Mvc.ViewFeatures;
|
||||
using Microsoft.AspNet.Mvc.ViewFeatures.Internal;
|
||||
using Microsoft.AspNet.Routing;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
using Microsoft.Extensions.WebEncoders.Testing;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
|
@ -32,13 +32,13 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
|
||||
var myService = new MyService();
|
||||
var helper = Mock.Of<IHtmlHelper<object>>();
|
||||
var htmlEncoder = new CommonTestEncoder();
|
||||
var htmlEncoder = new HtmlTestEncoder();
|
||||
var serviceProvider = new Mock<IServiceProvider>();
|
||||
serviceProvider.Setup(p => p.GetService(typeof(MyService)))
|
||||
.Returns(myService);
|
||||
serviceProvider.Setup(p => p.GetService(typeof(IHtmlHelper<object>)))
|
||||
.Returns(helper);
|
||||
serviceProvider.Setup(p => p.GetService(typeof(IHtmlEncoder)))
|
||||
serviceProvider.Setup(p => p.GetService(typeof(HtmlEncoder)))
|
||||
.Returns(htmlEncoder);
|
||||
var httpContext = new Mock<HttpContext>();
|
||||
httpContext.SetupGet(c => c.RequestServices)
|
||||
|
|
@ -103,13 +103,13 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
|
||||
var myService = new MyService();
|
||||
var helper = Mock.Of<IHtmlHelper<object>>();
|
||||
var htmlEncoder = new CommonTestEncoder();
|
||||
var htmlEncoder = new HtmlTestEncoder();
|
||||
var serviceProvider = new Mock<IServiceProvider>();
|
||||
serviceProvider.Setup(p => p.GetService(typeof(MyService)))
|
||||
.Returns(myService);
|
||||
serviceProvider.Setup(p => p.GetService(typeof(IHtmlHelper<object>)))
|
||||
.Returns(helper);
|
||||
serviceProvider.Setup(p => p.GetService(typeof(IHtmlEncoder)))
|
||||
serviceProvider.Setup(p => p.GetService(typeof(HtmlEncoder)))
|
||||
.Returns(htmlEncoder);
|
||||
var httpContext = new Mock<HttpContext>();
|
||||
httpContext.SetupGet(c => c.RequestServices)
|
||||
|
|
@ -142,13 +142,13 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
var instance = new TestRazorPage();
|
||||
var myService = new MyService();
|
||||
var helper = Mock.Of<IHtmlHelper<object>>();
|
||||
var htmlEncoder = new CommonTestEncoder();
|
||||
var htmlEncoder = new HtmlTestEncoder();
|
||||
var serviceProvider = new Mock<IServiceProvider>();
|
||||
serviceProvider.Setup(p => p.GetService(typeof(MyService)))
|
||||
.Returns(myService);
|
||||
serviceProvider.Setup(p => p.GetService(typeof(IHtmlHelper<object>)))
|
||||
.Returns(helper);
|
||||
serviceProvider.Setup(p => p.GetService(typeof(IHtmlEncoder)))
|
||||
serviceProvider.Setup(p => p.GetService(typeof(HtmlEncoder)))
|
||||
.Returns(htmlEncoder);
|
||||
var httpContext = new Mock<HttpContext>();
|
||||
httpContext.SetupGet(c => c.RequestServices)
|
||||
|
|
@ -181,13 +181,13 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
var instance = new DoesNotDeriveFromRazorPageOfTButHasModelProperty();
|
||||
var myService = new MyService();
|
||||
var helper = Mock.Of<IHtmlHelper<object>>();
|
||||
var htmlEncoder = new CommonTestEncoder();
|
||||
var htmlEncoder = new HtmlTestEncoder();
|
||||
var serviceProvider = new Mock<IServiceProvider>();
|
||||
serviceProvider.Setup(p => p.GetService(typeof(MyService)))
|
||||
.Returns(myService);
|
||||
serviceProvider.Setup(p => p.GetService(typeof(IHtmlHelper<object>)))
|
||||
.Returns(helper);
|
||||
serviceProvider.Setup(p => p.GetService(typeof(IHtmlEncoder)))
|
||||
serviceProvider.Setup(p => p.GetService(typeof(HtmlEncoder)))
|
||||
.Returns(htmlEncoder);
|
||||
var httpContext = new Mock<HttpContext>();
|
||||
httpContext.SetupGet(c => c.RequestServices)
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
var viewContext = CreateViewContext();
|
||||
var page = CreatePage(v =>
|
||||
{
|
||||
v.HtmlEncoder = new CommonTestEncoder();
|
||||
v.HtmlEncoder = new HtmlTestEncoder();
|
||||
v.Write("Hello Prefix");
|
||||
v.StartTagHelperWritingScope();
|
||||
v.Write("Hello from Output");
|
||||
|
|
@ -63,7 +63,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
var viewContext = CreateViewContext();
|
||||
var page = CreatePage(v =>
|
||||
{
|
||||
v.HtmlEncoder = new CommonTestEncoder();
|
||||
v.HtmlEncoder = new HtmlTestEncoder();
|
||||
v.Write("Hello Prefix");
|
||||
v.StartTagHelperWritingScope();
|
||||
v.Write("Hello In Scope");
|
||||
|
|
@ -87,7 +87,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
var viewContext = CreateViewContext();
|
||||
var page = CreatePage(v =>
|
||||
{
|
||||
v.HtmlEncoder = new CommonTestEncoder();
|
||||
v.HtmlEncoder = new HtmlTestEncoder();
|
||||
v.Write("Hello Prefix");
|
||||
v.StartTagHelperWritingScope();
|
||||
v.Write("Hello In Scope Pre Nest");
|
||||
|
|
@ -161,7 +161,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
// Act
|
||||
var page = CreatePage(v =>
|
||||
{
|
||||
v.HtmlEncoder = new CommonTestEncoder();
|
||||
v.HtmlEncoder = new HtmlTestEncoder();
|
||||
v.StartTagHelperWritingScope();
|
||||
v.Write("Hello World!");
|
||||
var returnValue = v.EndTagHelperWritingScope();
|
||||
|
|
@ -182,7 +182,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
// Act
|
||||
var page = CreatePage(v =>
|
||||
{
|
||||
v.HtmlEncoder = new CommonTestEncoder();
|
||||
v.HtmlEncoder = new HtmlTestEncoder();
|
||||
v.StartTagHelperWritingScope(new RazorTextWriter(TextWriter.Null, Encoding.UTF8, v.HtmlEncoder));
|
||||
v.Write("Hello ");
|
||||
v.Write("World!");
|
||||
|
|
@ -560,7 +560,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
.Verifiable();
|
||||
var page = CreatePage(v =>
|
||||
{
|
||||
v.HtmlEncoder = new CommonTestEncoder();
|
||||
v.HtmlEncoder = new HtmlTestEncoder();
|
||||
v.Write(v.Href("url"));
|
||||
});
|
||||
var services = new Mock<IServiceProvider>();
|
||||
|
|
@ -664,7 +664,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
// Arrange
|
||||
var page = CreatePage(p =>
|
||||
{
|
||||
p.HtmlEncoder = new CommonTestEncoder();
|
||||
p.HtmlEncoder = new HtmlTestEncoder();
|
||||
p.BeginWriteAttribute("href", "prefix", 0, "suffix", 34, 2);
|
||||
p.WriteAttributeValue("prefix", 0, "attr1-value", 8, 14, true);
|
||||
p.WriteAttributeValue("prefix2", 22, "attr2", 29, 5, false);
|
||||
|
|
@ -699,7 +699,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
// Arrange
|
||||
var page = CreatePage(p =>
|
||||
{
|
||||
p.HtmlEncoder = new CommonTestEncoder();
|
||||
p.HtmlEncoder = new HtmlTestEncoder();
|
||||
p.BeginWriteAttribute("href", "prefix", 0, "suffix", 10, 1);
|
||||
p.WriteAttributeValue("", 6, "true", 6, 4, false);
|
||||
p.EndWriteAttribute();
|
||||
|
|
@ -810,7 +810,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
{
|
||||
// Arrange
|
||||
var page = CreatePage(p => { });
|
||||
page.HtmlEncoder = new CommonTestEncoder();
|
||||
page.HtmlEncoder = new HtmlTestEncoder();
|
||||
var executionContext = new TagHelperExecutionContext(
|
||||
"p",
|
||||
tagMode: TagMode.StartTagAndEndTag,
|
||||
|
|
@ -850,7 +850,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
{
|
||||
// Arrange
|
||||
var page = CreatePage(p => { });
|
||||
page.HtmlEncoder = new CommonTestEncoder();
|
||||
page.HtmlEncoder = new HtmlTestEncoder();
|
||||
var executionContext = new TagHelperExecutionContext(
|
||||
"p",
|
||||
tagMode: TagMode.StartTagAndEndTag,
|
||||
|
|
@ -878,7 +878,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
{
|
||||
// Arrange
|
||||
var page = CreatePage(p => { });
|
||||
page.HtmlEncoder = new CommonTestEncoder();
|
||||
page.HtmlEncoder = new HtmlTestEncoder();
|
||||
var executionContext = new TagHelperExecutionContext(
|
||||
"p",
|
||||
tagMode: TagMode.StartTagAndEndTag,
|
||||
|
|
@ -966,7 +966,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
{
|
||||
// Arrange
|
||||
var page = CreatePage(p => { });
|
||||
page.HtmlEncoder = new CommonTestEncoder();
|
||||
page.HtmlEncoder = new HtmlTestEncoder();
|
||||
var writer = new StringWriter();
|
||||
var prefix = "someattr=";
|
||||
var suffix = string.Empty;
|
||||
|
|
@ -994,7 +994,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
public async Task Write_WithHtmlString_WritesValueWithoutEncoding()
|
||||
{
|
||||
// Arrange
|
||||
var writer = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new CommonTestEncoder());
|
||||
var writer = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new HtmlTestEncoder());
|
||||
|
||||
var page = CreatePage(p =>
|
||||
{
|
||||
|
|
@ -1630,7 +1630,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
// Act
|
||||
var page = CreatePage(p =>
|
||||
{
|
||||
p.HtmlEncoder = new CommonTestEncoder();
|
||||
p.HtmlEncoder = new HtmlTestEncoder();
|
||||
p.WriteTagHelperAsync(tagHelperExecutionContext).Wait();
|
||||
}, context);
|
||||
await page.ExecuteAsync();
|
||||
|
|
@ -1675,7 +1675,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
// Act
|
||||
var page = CreatePage(p =>
|
||||
{
|
||||
p.HtmlEncoder = new CommonTestEncoder();
|
||||
p.HtmlEncoder = new HtmlTestEncoder();
|
||||
p.WriteTagHelperAsync(tagHelperExecutionContext).Wait();
|
||||
}, context);
|
||||
await page.ExecuteAsync();
|
||||
|
|
@ -1707,7 +1707,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
// Act
|
||||
var page = CreatePage(p =>
|
||||
{
|
||||
p.HtmlEncoder = new CommonTestEncoder();
|
||||
p.HtmlEncoder = new HtmlTestEncoder();
|
||||
p.WriteTagHelperToAsync(writer, tagHelperExecutionContext).Wait();
|
||||
}, context);
|
||||
await page.ExecuteAsync();
|
||||
|
|
@ -1736,7 +1736,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
// Act
|
||||
var page = CreatePage(p =>
|
||||
{
|
||||
p.HtmlEncoder = new CommonTestEncoder();
|
||||
p.HtmlEncoder = new HtmlTestEncoder();
|
||||
p.WriteTagHelperToAsync(writer, tagHelperExecutionContext).Wait();
|
||||
}, context);
|
||||
await page.ExecuteAsync();
|
||||
|
|
@ -1828,7 +1828,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
{
|
||||
public TestableRazorPage()
|
||||
{
|
||||
HtmlEncoder = new CommonTestEncoder();
|
||||
HtmlEncoder = new HtmlTestEncoder();
|
||||
}
|
||||
|
||||
public string RenderedContent
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
{
|
||||
// Arrange
|
||||
var expected = new[] { "True", "3", "18446744073709551615", "Hello world", "3.14", "2.718", "m" };
|
||||
var writer = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new CommonTestEncoder());
|
||||
var writer = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new HtmlTestEncoder());
|
||||
|
||||
// Act
|
||||
writer.Write(true);
|
||||
|
|
@ -44,7 +44,7 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
// Arrange
|
||||
var expected = new[] { "True", "3", "18446744073709551615", "Hello world", "3.14", "2.718" };
|
||||
var unbufferedWriter = new Mock<TextWriter>();
|
||||
var writer = new RazorTextWriter(unbufferedWriter.Object, Encoding.UTF8, new CommonTestEncoder());
|
||||
var writer = new RazorTextWriter(unbufferedWriter.Object, Encoding.UTF8, new HtmlTestEncoder());
|
||||
var testClass = new TestClass();
|
||||
|
||||
// Act
|
||||
|
|
@ -70,7 +70,7 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
{
|
||||
// Arrange
|
||||
var unbufferedWriter = new Mock<TextWriter> { CallBase = true };
|
||||
var writer = new RazorTextWriter(unbufferedWriter.Object, Encoding.UTF8, new CommonTestEncoder());
|
||||
var writer = new RazorTextWriter(unbufferedWriter.Object, Encoding.UTF8, new HtmlTestEncoder());
|
||||
var buffer1 = new[] { 'a', 'b', 'c', 'd' };
|
||||
var buffer2 = new[] { 'd', 'e', 'f' };
|
||||
|
||||
|
|
@ -98,7 +98,7 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
{
|
||||
// Arrange
|
||||
var unbufferedWriter = new Mock<TextWriter>();
|
||||
var writer = new RazorTextWriter(unbufferedWriter.Object, Encoding.UTF8, new CommonTestEncoder());
|
||||
var writer = new RazorTextWriter(unbufferedWriter.Object, Encoding.UTF8, new HtmlTestEncoder());
|
||||
|
||||
// Act
|
||||
await writer.FlushAsync();
|
||||
|
|
@ -122,7 +122,7 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
// Arrange
|
||||
var newLine = Environment.NewLine;
|
||||
var expected = new List<object> { "False", newLine, "1.1", newLine, "3", newLine };
|
||||
var writer = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new CommonTestEncoder());
|
||||
var writer = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new HtmlTestEncoder());
|
||||
|
||||
// Act
|
||||
writer.WriteLine(false);
|
||||
|
|
@ -139,7 +139,7 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
{
|
||||
// Arrange
|
||||
var unbufferedWriter = new Mock<TextWriter>();
|
||||
var writer = new RazorTextWriter(unbufferedWriter.Object, Encoding.UTF8, new CommonTestEncoder());
|
||||
var writer = new RazorTextWriter(unbufferedWriter.Object, Encoding.UTF8, new HtmlTestEncoder());
|
||||
|
||||
// Act
|
||||
writer.Flush();
|
||||
|
|
@ -162,7 +162,7 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
var input1 = new ArraySegment<char>(new char[] { 'a', 'b', 'c', 'd' }, 1, 3);
|
||||
var input2 = new ArraySegment<char>(new char[] { 'e', 'f' }, 0, 2);
|
||||
var input3 = new ArraySegment<char>(new char[] { 'g', 'h', 'i', 'j' }, 3, 1);
|
||||
var writer = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new CommonTestEncoder());
|
||||
var writer = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new HtmlTestEncoder());
|
||||
|
||||
// Act
|
||||
writer.Write(input1.Array, input1.Offset, input1.Count);
|
||||
|
|
@ -183,7 +183,7 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
{
|
||||
// Arrange
|
||||
var newLine = Environment.NewLine;
|
||||
var writer = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new CommonTestEncoder());
|
||||
var writer = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new HtmlTestEncoder());
|
||||
|
||||
// Act
|
||||
writer.WriteLine();
|
||||
|
|
@ -203,7 +203,7 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
var input2 = "from";
|
||||
var input3 = "ASP";
|
||||
var input4 = ".Net";
|
||||
var writer = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new CommonTestEncoder());
|
||||
var writer = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new HtmlTestEncoder());
|
||||
|
||||
// Act
|
||||
writer.Write(input1);
|
||||
|
|
@ -220,7 +220,7 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
public void Write_HtmlContent_AddsToEntries()
|
||||
{
|
||||
// Arrange
|
||||
var writer = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new CommonTestEncoder());
|
||||
var writer = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new HtmlTestEncoder());
|
||||
var content = new HtmlString("Hello, world!");
|
||||
|
||||
// Act
|
||||
|
|
@ -236,7 +236,7 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
public void Write_Object_HtmlContent_AddsToEntries()
|
||||
{
|
||||
// Arrange
|
||||
var writer = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new CommonTestEncoder());
|
||||
var writer = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new HtmlTestEncoder());
|
||||
var content = new HtmlString("Hello, world!");
|
||||
|
||||
// Act
|
||||
|
|
@ -252,7 +252,7 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
public void WriteLine_Object_HtmlContent_AddsToEntries()
|
||||
{
|
||||
// Arrange
|
||||
var writer = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new CommonTestEncoder());
|
||||
var writer = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new HtmlTestEncoder());
|
||||
var content = new HtmlString("Hello, world!");
|
||||
|
||||
// Act
|
||||
|
|
@ -271,7 +271,7 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
// Arrange
|
||||
var stringWriter = new StringWriter();
|
||||
|
||||
var writer = new RazorTextWriter(stringWriter, Encoding.UTF8, new CommonTestEncoder());
|
||||
var writer = new RazorTextWriter(stringWriter, Encoding.UTF8, new HtmlTestEncoder());
|
||||
writer.Flush();
|
||||
|
||||
var content = new HtmlString("Hello, world!");
|
||||
|
|
@ -287,8 +287,8 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
public void Copy_CopiesContent_IfTargetTextWriterIsARazorTextWriterAndBuffering()
|
||||
{
|
||||
// Arrange
|
||||
var source = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new CommonTestEncoder());
|
||||
var target = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new CommonTestEncoder());
|
||||
var source = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new HtmlTestEncoder());
|
||||
var target = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new HtmlTestEncoder());
|
||||
|
||||
// Act
|
||||
source.Write("Hello world");
|
||||
|
|
@ -307,8 +307,8 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
{
|
||||
// Arrange
|
||||
var unbufferedWriter = new Mock<TextWriter>();
|
||||
var source = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new CommonTestEncoder());
|
||||
var target = new RazorTextWriter(unbufferedWriter.Object, Encoding.UTF8, new CommonTestEncoder());
|
||||
var source = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new HtmlTestEncoder());
|
||||
var target = new RazorTextWriter(unbufferedWriter.Object, Encoding.UTF8, new HtmlTestEncoder());
|
||||
|
||||
// Act
|
||||
target.Flush();
|
||||
|
|
@ -328,7 +328,7 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
public void Copy_WritesContent_IfTargetTextWriterIsNotARazorTextWriter()
|
||||
{
|
||||
// Arrange
|
||||
var source = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new CommonTestEncoder());
|
||||
var source = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new HtmlTestEncoder());
|
||||
var target = new StringWriter();
|
||||
var expected = "Hello world" + Environment.NewLine + "abc";
|
||||
|
||||
|
|
@ -345,8 +345,8 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
public async Task CopyAsync_WritesContent_IfTargetTextWriterIsARazorTextWriterAndBuffering()
|
||||
{
|
||||
// Arrange
|
||||
var source = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new CommonTestEncoder());
|
||||
var target = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new CommonTestEncoder());
|
||||
var source = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new HtmlTestEncoder());
|
||||
var target = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new HtmlTestEncoder());
|
||||
|
||||
// Act
|
||||
source.WriteLine("Hello world");
|
||||
|
|
@ -365,8 +365,8 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
{
|
||||
// Arrange
|
||||
var unbufferedWriter = new Mock<TextWriter>();
|
||||
var source = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new CommonTestEncoder());
|
||||
var target = new RazorTextWriter(unbufferedWriter.Object, Encoding.UTF8, new CommonTestEncoder());
|
||||
var source = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new HtmlTestEncoder());
|
||||
var target = new RazorTextWriter(unbufferedWriter.Object, Encoding.UTF8, new HtmlTestEncoder());
|
||||
|
||||
// Act
|
||||
await target.FlushAsync();
|
||||
|
|
@ -387,7 +387,7 @@ namespace Microsoft.AspNet.Mvc.Razor.Test
|
|||
public async Task CopyAsync_WritesContent_IfTargetTextWriterIsNotARazorTextWriter()
|
||||
{
|
||||
// Arrange
|
||||
var source = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new CommonTestEncoder());
|
||||
var source = new RazorTextWriter(TextWriter.Null, Encoding.UTF8, new HtmlTestEncoder());
|
||||
var target = new StringWriter();
|
||||
var expected = "Hello world" + Environment.NewLine;
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
var factory = new RazorViewFactory(
|
||||
Mock.Of<IRazorPageActivator>(),
|
||||
Mock.Of<IViewStartProvider>(),
|
||||
new CommonTestEncoder());
|
||||
new HtmlTestEncoder());
|
||||
var page = Mock.Of<IRazorPage>();
|
||||
var viewEngine = Mock.Of<IRazorViewEngine>();
|
||||
|
||||
|
|
@ -38,7 +38,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
var factory = new RazorViewFactory(
|
||||
Mock.Of<IRazorPageActivator>(),
|
||||
Mock.Of<IViewStartProvider>(),
|
||||
new CommonTestEncoder());
|
||||
new HtmlTestEncoder());
|
||||
|
||||
var page = Mock.Of<IRazorPage>();
|
||||
var viewEngine = Mock.Of<IRazorViewEngine>();
|
||||
|
|
|
|||
|
|
@ -36,14 +36,14 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
var page = new TestableRazorPage(v =>
|
||||
{
|
||||
actual = v.Output;
|
||||
v.HtmlEncoder = new CommonTestEncoder();
|
||||
v.HtmlEncoder = new HtmlTestEncoder();
|
||||
v.Write("Hello world");
|
||||
});
|
||||
var view = new RazorView(Mock.Of<IRazorViewEngine>(),
|
||||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: true);
|
||||
var viewContext = CreateViewContext(view);
|
||||
var expected = viewContext.Writer;
|
||||
|
|
@ -72,7 +72,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
activator.Object,
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: true);
|
||||
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
|
@ -136,7 +136,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
activator,
|
||||
CreateViewStartProvider(viewStart),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
|
@ -161,7 +161,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
activator.Object,
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: true);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -176,7 +176,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
public async Task RenderAsync_AsPartial_ExecutesLayout_ButNotViewStartPages()
|
||||
{
|
||||
// Arrange
|
||||
var htmlEncoder = new CommonTestEncoder();
|
||||
var htmlEncoder = new HtmlTestEncoder();
|
||||
var expected = string.Join(Environment.NewLine,
|
||||
"HtmlEncode[[layout-content",
|
||||
"]]HtmlEncode[[page-content]]");
|
||||
|
|
@ -206,7 +206,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
viewStartProvider,
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: true);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -232,7 +232,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
var original = viewContext.Writer;
|
||||
|
|
@ -257,7 +257,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
var original = viewContext.Writer;
|
||||
|
|
@ -284,7 +284,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
activator.Object,
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -327,7 +327,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
activator.Object,
|
||||
CreateViewStartProvider(viewStart1, viewStart2),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -360,7 +360,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
Mock.Of<IViewStartProvider>(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
viewEngine.Setup(v => v.FindPage(viewContext, layoutPath))
|
||||
|
|
@ -379,8 +379,8 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
public async Task RenderAsync_ExecutesLayoutPages()
|
||||
{
|
||||
// Arrange
|
||||
var htmlEncoder = new CommonTestEncoder();
|
||||
var htmlEncodedNewLine = htmlEncoder.HtmlEncode(Environment.NewLine);
|
||||
var htmlEncoder = new HtmlTestEncoder();
|
||||
var htmlEncodedNewLine = htmlEncoder.Encode(Environment.NewLine);
|
||||
var expected = "HtmlEncode[[layout-content" +
|
||||
Environment.NewLine +
|
||||
"]]head-content" +
|
||||
|
|
@ -424,7 +424,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
activator.Object,
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
viewEngine.Setup(p => p.FindPage(viewContext, LayoutPath))
|
||||
|
|
@ -466,7 +466,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -485,7 +485,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
"layout-section-content",
|
||||
"page-section-content");
|
||||
|
||||
var htmlEncoder = new CommonTestEncoder();
|
||||
var htmlEncoder = new HtmlTestEncoder();
|
||||
var page = new TestableRazorPage(v =>
|
||||
{
|
||||
v.HtmlEncoder = htmlEncoder;
|
||||
|
|
@ -529,7 +529,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -549,7 +549,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
"layout-section-content",
|
||||
"page-section-content");
|
||||
|
||||
var htmlEncoder = new CommonTestEncoder();
|
||||
var htmlEncoder = new HtmlTestEncoder();
|
||||
var page = new TestableRazorPage(v =>
|
||||
{
|
||||
v.HtmlEncoder = htmlEncoder;
|
||||
|
|
@ -589,7 +589,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -604,7 +604,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
public async Task RenderAsync_WithNestedSections_ThrowsIfSectionsWereDefinedButNotRendered()
|
||||
{
|
||||
// Arrange
|
||||
var htmlEncoder = new CommonTestEncoder();
|
||||
var htmlEncoder = new HtmlTestEncoder();
|
||||
var page = new TestableRazorPage(v =>
|
||||
{
|
||||
v.HtmlEncoder = htmlEncoder;
|
||||
|
|
@ -649,7 +649,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -663,7 +663,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
public async Task RenderAsync_WithNestedSectionsOfTheSameName_ThrowsIfSectionsWereDefinedButNotRendered()
|
||||
{
|
||||
// Arrange
|
||||
var htmlEncoder = new CommonTestEncoder();
|
||||
var htmlEncoder = new HtmlTestEncoder();
|
||||
var page = new TestableRazorPage(v =>
|
||||
{
|
||||
v.HtmlEncoder = htmlEncoder;
|
||||
|
|
@ -714,7 +714,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -746,7 +746,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -759,7 +759,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
public async Task RenderAsync_ExecutesNestedLayoutPages()
|
||||
{
|
||||
// Arrange
|
||||
var htmlEncoder = new CommonTestEncoder();
|
||||
var htmlEncoder = new HtmlTestEncoder();
|
||||
var expected = "HtmlEncode[[layout-2" +
|
||||
Environment.NewLine +
|
||||
"]]bar-content" +
|
||||
|
|
@ -810,7 +810,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -846,7 +846,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -891,7 +891,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -906,7 +906,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
public async Task RenderAsync_ExecutesNestedLayoutsWithNestedSections()
|
||||
{
|
||||
// Arrange
|
||||
var htmlEncoder = new CommonTestEncoder();
|
||||
var htmlEncoder = new HtmlTestEncoder();
|
||||
var expected = "HtmlEncode[[BaseLayout" +
|
||||
Environment.NewLine +
|
||||
"]]HtmlEncode[[NestedLayout" +
|
||||
|
|
@ -935,7 +935,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
v.RenderBodyPublic();
|
||||
v.DefineSection("foo", async writer =>
|
||||
{
|
||||
await writer.WriteLineAsync(htmlEncoder.HtmlEncode(v.RenderSection("foo").ToString()));
|
||||
await writer.WriteLineAsync(htmlEncoder.Encode(v.RenderSection("foo").ToString()));
|
||||
});
|
||||
});
|
||||
nestedLayout.Path = "~/Shared/Layout2.cshtml";
|
||||
|
|
@ -959,7 +959,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -974,7 +974,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
public async Task RenderAsync_DoesNotCopyContentOnceRazorTextWriterIsNoLongerBuffering()
|
||||
{
|
||||
// Arrange
|
||||
var htmlEncoder = new CommonTestEncoder();
|
||||
var htmlEncoder = new HtmlTestEncoder();
|
||||
var expected = "HtmlEncode[[layout-1" +
|
||||
Environment.NewLine +
|
||||
"]]body content" +
|
||||
|
|
@ -1012,7 +1012,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -1027,7 +1027,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
public async Task FlushAsync_DoesNotThrowWhenInvokedInsideOfASection()
|
||||
{
|
||||
// Arrange
|
||||
var htmlEncoder = new CommonTestEncoder();
|
||||
var htmlEncoder = new HtmlTestEncoder();
|
||||
var expected = "HtmlEncode[[layout-1" +
|
||||
Environment.NewLine +
|
||||
"]]section-content-1" +
|
||||
|
|
@ -1062,7 +1062,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -1092,7 +1092,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -1110,7 +1110,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
var page = new TestableRazorPage(v =>
|
||||
{
|
||||
v.Path = "/Views/TestPath/Test.cshtml";
|
||||
v.HtmlEncoder = new CommonTestEncoder();
|
||||
v.HtmlEncoder = new HtmlTestEncoder();
|
||||
v.DefineSection("foo", async writer =>
|
||||
{
|
||||
writer.WriteLine("foo-content");
|
||||
|
|
@ -1121,7 +1121,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
});
|
||||
var layoutPage = new TestableRazorPage(v =>
|
||||
{
|
||||
v.HtmlEncoder = new CommonTestEncoder();
|
||||
v.HtmlEncoder = new HtmlTestEncoder();
|
||||
v.Write("layout-1" + Environment.NewLine);
|
||||
v.Write(v.RenderSection("foo"));
|
||||
v.DefineSection("bar", writer => writer.WriteLineAsync("bar-content"));
|
||||
|
|
@ -1137,7 +1137,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -1184,7 +1184,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
|
||||
var page = new TestableRazorPage(v =>
|
||||
{
|
||||
v.HtmlEncoder = new CommonTestEncoder();
|
||||
v.HtmlEncoder = new HtmlTestEncoder();
|
||||
v.Layout = "Layout";
|
||||
Assert.Same(pageWriter, v.Output);
|
||||
Assert.Same(pageContext, v.PageExecutionContext);
|
||||
|
|
@ -1193,7 +1193,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
|
||||
var layout = new TestableRazorPage(v =>
|
||||
{
|
||||
v.HtmlEncoder = new CommonTestEncoder();
|
||||
v.HtmlEncoder = new HtmlTestEncoder();
|
||||
Assert.Same(layoutWriter, v.Output);
|
||||
Assert.Same(layoutContext, v.PageExecutionContext);
|
||||
v.RenderBodyPublic();
|
||||
|
|
@ -1213,7 +1213,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
viewStartProvider.Object,
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
viewContext.HttpContext.Features.Set<IPageExecutionListenerFeature>(feature.Object);
|
||||
|
|
@ -1246,7 +1246,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
|
||||
var page = new TestableRazorPage(v =>
|
||||
{
|
||||
v.HtmlEncoder = new CommonTestEncoder();
|
||||
v.HtmlEncoder = new HtmlTestEncoder();
|
||||
Assert.IsType<RazorTextWriter>(v.Output);
|
||||
Assert.Same(pageContext, v.PageExecutionContext);
|
||||
executed = true;
|
||||
|
|
@ -1259,7 +1259,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
Mock.Of<IViewStartProvider>(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: true);
|
||||
var viewContext = CreateViewContext(view);
|
||||
viewContext.Writer = writer;
|
||||
|
|
@ -1291,7 +1291,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
Mock.Of<IViewStartProvider>(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -1331,7 +1331,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(viewStart1, viewStart2),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -1369,7 +1369,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(viewStart1, viewStart2),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -1411,7 +1411,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(viewStart),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: false);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -1437,7 +1437,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
Mock.Of<IRazorPageActivator>(),
|
||||
CreateViewStartProvider(),
|
||||
page,
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
isPartial: true);
|
||||
var viewContext = CreateViewContext(view);
|
||||
|
||||
|
|
@ -1488,7 +1488,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
public TestableRazorPage(Action<TestableRazorPage> executeAction)
|
||||
{
|
||||
_executeAction = executeAction;
|
||||
HtmlEncoder = new CommonTestEncoder();
|
||||
HtmlEncoder = new HtmlTestEncoder();
|
||||
}
|
||||
|
||||
public void RenderBodyPublic()
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ using System.Reflection;
|
|||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Mvc.Rendering;
|
||||
using Microsoft.AspNet.Razor.TagHelpers;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
using Microsoft.Extensions.WebEncoders.Testing;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
|
|
@ -58,7 +58,7 @@ namespace Microsoft.AspNet.Mvc.Razor.TagHelpers
|
|||
urlHelperMock
|
||||
.Setup(urlHelper => urlHelper.Content(It.IsAny<string>()))
|
||||
.Returns(new Func<string, string>(value => "/approot" + value.Substring(1)));
|
||||
var tagHelper = new UrlResolutionTagHelper(urlHelperMock.Object, new TestHtmlEncoder());
|
||||
var tagHelper = new UrlResolutionTagHelper(urlHelperMock.Object, new HtmlTestEncoder());
|
||||
|
||||
var context = new TagHelperContext(
|
||||
allAttributes: new ReadOnlyTagHelperAttributeList<IReadOnlyTagHelperAttribute>(
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
var expectedPostContent = "Something" +
|
||||
HtmlContentUtilities.HtmlContentToString(
|
||||
htmlGenerator.GenerateAntiforgery(viewContext),
|
||||
new NullTestEncoder());
|
||||
new HtmlTestEncoder());
|
||||
var formTagHelper = new FormTagHelper(htmlGenerator)
|
||||
{
|
||||
Action = "index",
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
var helper = new ImageTagHelper(
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
urlHelper.Object)
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -118,7 +118,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
var hostingEnvironment = MakeHostingEnvironment();
|
||||
var viewContext = MakeViewContext();
|
||||
|
||||
var helper = new ImageTagHelper(hostingEnvironment, MakeCache(), new CommonTestEncoder(), MakeUrlHelper())
|
||||
var helper = new ImageTagHelper(hostingEnvironment, MakeCache(), new HtmlTestEncoder(), MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
Src = "testimage.png",
|
||||
|
|
@ -159,7 +159,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
var hostingEnvironment = MakeHostingEnvironment();
|
||||
var viewContext = MakeViewContext();
|
||||
|
||||
var helper = new ImageTagHelper(hostingEnvironment, MakeCache(), new CommonTestEncoder(), MakeUrlHelper())
|
||||
var helper = new ImageTagHelper(hostingEnvironment, MakeCache(), new HtmlTestEncoder(), MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
Src = "/images/test-image.png",
|
||||
|
|
@ -195,7 +195,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
var hostingEnvironment = MakeHostingEnvironment();
|
||||
var viewContext = MakeViewContext();
|
||||
|
||||
var helper = new ImageTagHelper(hostingEnvironment, MakeCache(), new CommonTestEncoder(), MakeUrlHelper())
|
||||
var helper = new ImageTagHelper(hostingEnvironment, MakeCache(), new HtmlTestEncoder(), MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
Src = "/images/test-image.png",
|
||||
|
|
@ -231,7 +231,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
var hostingEnvironment = MakeHostingEnvironment();
|
||||
var viewContext = MakeViewContext("/bar");
|
||||
|
||||
var helper = new ImageTagHelper(hostingEnvironment, MakeCache(), new CommonTestEncoder(), MakeUrlHelper())
|
||||
var helper = new ImageTagHelper(hostingEnvironment, MakeCache(), new HtmlTestEncoder(), MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
Src = "/bar/images/image.jpg",
|
||||
|
|
|
|||
|
|
@ -69,8 +69,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
urlHelper.Object)
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -168,8 +168,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -288,8 +288,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -384,8 +384,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -431,8 +431,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -541,8 +541,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -573,8 +573,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -616,8 +616,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
GlobbingUrlBuilder = globbingUrlBuilder.Object,
|
||||
|
|
@ -661,8 +661,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
GlobbingUrlBuilder = globbingUrlBuilder.Object,
|
||||
|
|
@ -704,8 +704,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -744,8 +744,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -788,8 +788,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
GlobbingUrlBuilder = globbingUrlBuilder.Object,
|
||||
|
|
|
|||
|
|
@ -69,8 +69,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
urlHelper.Object)
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -117,8 +117,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
CreateLogger(),
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -279,8 +279,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
CreateLogger(),
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -376,8 +376,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
CreateLogger(),
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -472,8 +472,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
CreateLogger(),
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -507,8 +507,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger,
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -551,8 +551,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
CreateLogger(),
|
||||
MakeHostingEnvironment(),
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -581,8 +581,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger,
|
||||
MakeHostingEnvironment(),
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -633,8 +633,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger,
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -675,8 +675,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
GlobbingUrlBuilder = globbingUrlBuilder.Object,
|
||||
|
|
@ -716,8 +716,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
hostingEnvironment,
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
GlobbingUrlBuilder = globbingUrlBuilder.Object,
|
||||
|
|
@ -755,8 +755,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
MakeHostingEnvironment(),
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -792,8 +792,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
MakeHostingEnvironment(),
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -831,8 +831,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
MakeHostingEnvironment(),
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
ViewContext = viewContext,
|
||||
|
|
@ -849,7 +849,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
Assert.Equal("script", output.TagName);
|
||||
Assert.Equal("/js/site.js?v=f4OxZX_x_FO5LcGBSKHWXfwtSx-j1ncoSt3SABJtkGk", output.Attributes["src"].Value);
|
||||
Assert.Equal(Environment.NewLine + "<script>(isavailable()||document.write(\"<script " +
|
||||
"src=\\\"JavaScriptStringEncode[[fallback.js?v=f4OxZX_x_FO5LcGBSKHWXfwtSx-j1ncoSt3SABJtkGk]]\\\">" +
|
||||
"src=\\\"JavaScriptEncode[[fallback.js?v=f4OxZX_x_FO5LcGBSKHWXfwtSx-j1ncoSt3SABJtkGk]]\\\">" +
|
||||
"<\\/script>\"));</script>", output.PostElement.GetContent());
|
||||
}
|
||||
|
||||
|
|
@ -876,8 +876,8 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
logger.Object,
|
||||
MakeHostingEnvironment(),
|
||||
MakeCache(),
|
||||
new CommonTestEncoder(),
|
||||
new CommonTestEncoder(),
|
||||
new HtmlTestEncoder(),
|
||||
new JavaScriptTestEncoder(),
|
||||
MakeUrlHelper())
|
||||
{
|
||||
GlobbingUrlBuilder = globbingUrlBuilder.Object,
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
|
|||
IOptions<MvcViewOptions> options,
|
||||
IUrlHelper urlHelper,
|
||||
IDictionary<string, object> validationAttributes)
|
||||
: base(Mock.Of<IAntiforgery>(), options, metadataProvider, urlHelper, new CommonTestEncoder())
|
||||
: base(Mock.Of<IAntiforgery>(), options, metadataProvider, urlHelper, new HtmlTestEncoder())
|
||||
{
|
||||
_validationAttributes = validationAttributes;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,19 +2,19 @@
|
|||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System.IO;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Html.Abstractions;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
using Microsoft.Extensions.WebEncoders.Testing;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.TestCommon
|
||||
{
|
||||
public class HtmlContentUtilities
|
||||
{
|
||||
public static string HtmlContentToString(IHtmlContent content, IHtmlEncoder encoder = null)
|
||||
public static string HtmlContentToString(IHtmlContent content, HtmlEncoder encoder = null)
|
||||
{
|
||||
if (encoder == null)
|
||||
{
|
||||
encoder = new CommonTestEncoder();
|
||||
encoder = new HtmlTestEncoder();
|
||||
}
|
||||
|
||||
using (var writer = new StringWriter())
|
||||
|
|
|
|||
|
|
@ -1,27 +0,0 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System.IO;
|
||||
|
||||
namespace Microsoft.Extensions.WebEncoders
|
||||
{
|
||||
internal class TestHtmlEncoder : IHtmlEncoder
|
||||
{
|
||||
public string HtmlEncode(string value)
|
||||
{
|
||||
return $"HtmlEncode[[{ value }]]";
|
||||
}
|
||||
|
||||
public void HtmlEncode(string value, int startIndex, int charCount, TextWriter output)
|
||||
{
|
||||
output.Write($"HtmlEncode[[{ value.Substring(startIndex, charCount) }]]");
|
||||
}
|
||||
|
||||
public void HtmlEncode(char[] value, int startIndex, int charCount, TextWriter output)
|
||||
{
|
||||
output.Write("HtmlEncode[[");
|
||||
output.Write(value, startIndex, charCount);
|
||||
output.Write("]]");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System.IO;
|
||||
|
||||
namespace Microsoft.Extensions.WebEncoders
|
||||
{
|
||||
internal class TestJavaScriptEncoder : IJavaScriptStringEncoder
|
||||
{
|
||||
public string JavaScriptStringEncode(string value)
|
||||
{
|
||||
return $"JavaScriptEncode[[{ value }]]";
|
||||
}
|
||||
|
||||
public void JavaScriptStringEncode(string value, int startIndex, int charCount, TextWriter output)
|
||||
{
|
||||
output.Write($"JavaScriptEncode[[{ value.Substring(startIndex, charCount) }]]");
|
||||
}
|
||||
|
||||
public void JavaScriptStringEncode(char[] value, int startIndex, int charCount, TextWriter output)
|
||||
{
|
||||
output.Write("JavaScriptEncode[[");
|
||||
output.Write(value, startIndex, charCount);
|
||||
output.Write("]]");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System.IO;
|
||||
|
||||
namespace Microsoft.Extensions.WebEncoders
|
||||
{
|
||||
internal class TestUrlEncoder : IUrlEncoder
|
||||
{
|
||||
public string UrlEncode(string value)
|
||||
{
|
||||
return $"UrlEncode[[{ value }]]";
|
||||
}
|
||||
|
||||
public void UrlEncode(string value, int startIndex, int charCount, TextWriter output)
|
||||
{
|
||||
output.Write($"UrlEncode[[{ value.Substring(startIndex, charCount) }]]");
|
||||
}
|
||||
|
||||
public void UrlEncode(char[] value, int startIndex, int charCount, TextWriter output)
|
||||
{
|
||||
output.Write("UrlEncode[[");
|
||||
output.Write(value, startIndex, charCount);
|
||||
output.Write("]]");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7,6 +7,7 @@ using System.Collections.Generic;
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Text.Encodings.Web;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Antiforgery;
|
||||
using Microsoft.AspNet.Http.Internal;
|
||||
|
|
@ -17,7 +18,6 @@ using Microsoft.AspNet.Mvc.ViewEngines;
|
|||
using Microsoft.AspNet.Mvc.ViewFeatures;
|
||||
using Microsoft.AspNet.Routing;
|
||||
using Microsoft.Extensions.OptionsModel;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
using Microsoft.Extensions.WebEncoders.Testing;
|
||||
using Moq;
|
||||
|
||||
|
|
@ -254,7 +254,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
optionsAccessor.Object,
|
||||
provider,
|
||||
urlHelper,
|
||||
new CommonTestEncoder());
|
||||
new HtmlTestEncoder());
|
||||
}
|
||||
|
||||
// TemplateRenderer will Contextualize this transient service.
|
||||
|
|
@ -262,9 +262,9 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
htmlGenerator,
|
||||
viewEngine,
|
||||
provider,
|
||||
new CommonTestEncoder(),
|
||||
new UrlEncoder(),
|
||||
new JavaScriptStringEncoder());
|
||||
new HtmlTestEncoder(),
|
||||
UrlEncoder.Default,
|
||||
JavaScriptEncoder.Default);
|
||||
|
||||
if (innerHelperWrapper != null)
|
||||
{
|
||||
|
|
@ -278,9 +278,9 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
htmlGenerator,
|
||||
viewEngine,
|
||||
provider,
|
||||
new CommonTestEncoder(),
|
||||
new UrlEncoder(),
|
||||
new JavaScriptStringEncoder());
|
||||
new HtmlTestEncoder(),
|
||||
UrlEncoder.Default,
|
||||
JavaScriptEncoder.Default);
|
||||
|
||||
var viewContext = new ViewContext(
|
||||
actionContext,
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
Assert.Equal(expected, HtmlContentUtilities.HtmlContentToString(html));
|
||||
var writer = new StringWriter();
|
||||
var hiddenTag = Assert.Single(helper.ViewContext.FormContext.EndOfFormContent);
|
||||
hiddenTag.WriteTo(writer, new CommonTestEncoder());
|
||||
hiddenTag.WriteTo(writer, new HtmlTestEncoder());
|
||||
Assert.Equal("<input name=\"HtmlEncode[[Property1]]\" type=\"HtmlEncode[[hidden]]\" value=\"HtmlEncode[[false]]\" />",
|
||||
writer.ToString());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Http;
|
||||
using Microsoft.AspNet.Mvc.Routing;
|
||||
using Microsoft.AspNet.Mvc.ViewFeatures;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
using Microsoft.Extensions.WebEncoders.Testing;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
|
@ -327,7 +327,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
// Arrange
|
||||
var htmlHelper = DefaultTemplatesUtilities.GetHtmlHelper();
|
||||
var serviceProvider = new Mock<IServiceProvider>();
|
||||
serviceProvider.Setup(s => s.GetService(typeof(IHtmlEncoder))).Returns(new CommonTestEncoder());
|
||||
serviceProvider.Setup(s => s.GetService(typeof(HtmlEncoder))).Returns(new HtmlTestEncoder());
|
||||
var viewContext = htmlHelper.ViewContext;
|
||||
viewContext.HttpContext.RequestServices = serviceProvider.Object;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,12 +6,12 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Mvc.ModelBinding;
|
||||
using Microsoft.AspNet.Mvc.TestCommon;
|
||||
using Microsoft.AspNet.Mvc.ViewEngines;
|
||||
using Microsoft.AspNet.Mvc.ViewFeatures;
|
||||
using Microsoft.AspNet.Testing;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
|
|
@ -1568,9 +1568,9 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
new Mock<IHtmlGenerator>(MockBehavior.Strict).Object,
|
||||
new Mock<ICompositeViewEngine>(MockBehavior.Strict).Object,
|
||||
metadataProvider,
|
||||
new Mock<IHtmlEncoder>(MockBehavior.Strict).Object,
|
||||
new Mock<IUrlEncoder>(MockBehavior.Strict).Object,
|
||||
new Mock<IJavaScriptStringEncoder>(MockBehavior.Strict).Object)
|
||||
new Mock<HtmlEncoder>(MockBehavior.Strict).Object,
|
||||
new Mock<UrlEncoder>(MockBehavior.Strict).Object,
|
||||
new Mock<JavaScriptEncoder>(MockBehavior.Strict).Object)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
|
|||
var writer = new StringWriter();
|
||||
|
||||
// Act
|
||||
content.WriteTo(writer, new CommonTestEncoder());
|
||||
content.WriteTo(writer, new HtmlTestEncoder());
|
||||
|
||||
// Assert
|
||||
Assert.Equal(expectedText, writer.ToString());
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Microsoft.AspNet.Html.Abstractions;
|
||||
using Microsoft.AspNet.Mvc.Rendering;
|
||||
using Microsoft.Extensions.WebEncoders.Testing;
|
||||
using Xunit;
|
||||
|
|
@ -85,7 +84,7 @@ namespace Microsoft.AspNet.Mvc.Core.Rendering
|
|||
// Act
|
||||
using (var writer = new StringWriter())
|
||||
{
|
||||
tagBuilder.WriteTo(writer, new NullTestEncoder());
|
||||
tagBuilder.WriteTo(writer, new HtmlTestEncoder());
|
||||
|
||||
// Assert
|
||||
Assert.Equal(expectedOutput, writer.ToString());
|
||||
|
|
@ -116,7 +115,7 @@ namespace Microsoft.AspNet.Mvc.Core.Rendering
|
|||
// Act
|
||||
using (var writer = new StringWriter())
|
||||
{
|
||||
tagBuilder.WriteTo(writer, new CommonTestEncoder());
|
||||
tagBuilder.WriteTo(writer, new HtmlTestEncoder());
|
||||
|
||||
// Assert
|
||||
Assert.Equal("<p><span>Hello</span>HtmlEncode[[, World!]]</p>", writer.ToString());
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Mvc.Rendering;
|
||||
using Microsoft.AspNet.Mvc.ViewComponents;
|
||||
using Microsoft.AspNet.Mvc.ViewFeatures;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
using Xunit;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc
|
||||
|
|
@ -49,7 +49,7 @@ namespace Microsoft.AspNet.Mvc
|
|||
// Arrange
|
||||
var viewComponent = new TestViewComponent();
|
||||
var expectedContent = "TestContent&";
|
||||
var expectedEncodedContent = new HtmlString(new HtmlEncoder().HtmlEncode(expectedContent));
|
||||
var expectedEncodedContent = new HtmlString(HtmlEncoder.Default.Encode(expectedContent));
|
||||
|
||||
// Act
|
||||
var actualResult = viewComponent.Content(expectedContent);
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ using System.ComponentModel.DataAnnotations;
|
|||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.Encodings.Web;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Html.Abstractions;
|
||||
using Microsoft.AspNet.Http;
|
||||
|
|
@ -18,7 +19,6 @@ using Microsoft.AspNet.Mvc.TestCommon;
|
|||
using Microsoft.AspNet.Mvc.ViewEngines;
|
||||
using Microsoft.AspNet.Mvc.ViewFeatures.Internal;
|
||||
using Microsoft.AspNet.Testing;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
|
|
@ -919,14 +919,14 @@ Environment.NewLine;
|
|||
get { return _innerHelper.TempData; }
|
||||
}
|
||||
|
||||
public IUrlEncoder UrlEncoder
|
||||
public UrlEncoder UrlEncoder
|
||||
{
|
||||
get { return _innerHelper.UrlEncoder; }
|
||||
}
|
||||
|
||||
public IJavaScriptStringEncoder JavaScriptStringEncoder
|
||||
public JavaScriptEncoder JavaScriptEncoder
|
||||
{
|
||||
get { return _innerHelper.JavaScriptStringEncoder; }
|
||||
get { return _innerHelper.JavaScriptEncoder; }
|
||||
}
|
||||
|
||||
public void Contextualize(ViewContext viewContext)
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Antiforgery;
|
||||
using Microsoft.AspNet.Http.Internal;
|
||||
using Microsoft.AspNet.Mvc.Abstractions;
|
||||
|
|
@ -14,7 +15,6 @@ using Microsoft.AspNet.Mvc.Rendering;
|
|||
using Microsoft.AspNet.Mvc.ViewEngines;
|
||||
using Microsoft.AspNet.Routing;
|
||||
using Microsoft.Extensions.OptionsModel;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
|
|
@ -645,7 +645,7 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
{
|
||||
var mvcViewOptionsAccessor = new Mock<IOptions<MvcViewOptions>>();
|
||||
mvcViewOptionsAccessor.SetupGet(accessor => accessor.Value).Returns(new MvcViewOptions());
|
||||
var htmlEncoder = Mock.Of<IHtmlEncoder>();
|
||||
var htmlEncoder = Mock.Of<HtmlEncoder>();
|
||||
var antiforgery = Mock.Of<IAntiforgery>();
|
||||
|
||||
var optionsAccessor = new Mock<IOptions<MvcOptions>>();
|
||||
|
|
|
|||
|
|
@ -175,7 +175,7 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
// Act
|
||||
source.Write("Hello world");
|
||||
source.Write(new char[1], 0, 1);
|
||||
source.CopyTo(target, new CommonTestEncoder());
|
||||
source.CopyTo(target, new HtmlTestEncoder());
|
||||
|
||||
// Assert
|
||||
// Make sure content was written to the source.
|
||||
|
|
@ -197,7 +197,7 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
// Act
|
||||
source.WriteLine("Hello world");
|
||||
source.Write(new[] { 'x', 'a', 'b', 'c' }, 1, 3);
|
||||
source.CopyTo(target, new CommonTestEncoder());
|
||||
source.CopyTo(target, new HtmlTestEncoder());
|
||||
|
||||
// Assert
|
||||
Assert.Equal(expected, target.ToString());
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ namespace Microsoft.AspNet.Mvc.ViewFeatures
|
|||
// Assert
|
||||
using (var writer = new StringWriter())
|
||||
{
|
||||
content.WriteTo(writer, new CommonTestEncoder());
|
||||
content.WriteTo(writer, new HtmlTestEncoder());
|
||||
Assert.Equal("HtmlEncode[[Hello World]]", writer.ToString());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System.Text.Encodings.Web;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Mvc.Rendering;
|
||||
using Microsoft.AspNet.Mvc.ViewFeatures;
|
||||
using Microsoft.AspNet.Mvc.ViewFeatures.Internal;
|
||||
using Microsoft.AspNet.Razor.TagHelpers;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
|
||||
namespace ActivatorWebSite.TagHelpers
|
||||
{
|
||||
[HtmlTargetElement("span")]
|
||||
public class HiddenTagHelper : TagHelper
|
||||
{
|
||||
public HiddenTagHelper(IHtmlHelper htmlHelper, IHtmlEncoder htmlEncoder)
|
||||
public HiddenTagHelper(IHtmlHelper htmlHelper, HtmlEncoder htmlEncoder)
|
||||
{
|
||||
HtmlHelper = htmlHelper;
|
||||
HtmlEncoder = htmlEncoder;
|
||||
|
|
@ -21,7 +21,7 @@ namespace ActivatorWebSite.TagHelpers
|
|||
|
||||
public IHtmlHelper HtmlHelper { get; }
|
||||
|
||||
public IHtmlEncoder HtmlEncoder { get; }
|
||||
public HtmlEncoder HtmlEncoder { get; }
|
||||
|
||||
[HtmlAttributeNotBound]
|
||||
[ViewContext]
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System.Text.Encodings.Web;
|
||||
using Microsoft.AspNet.Authentication;
|
||||
using Microsoft.AspNet.Builder;
|
||||
using Microsoft.Extensions.WebEncoders;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace FiltersWebSite
|
||||
|
|
@ -13,7 +13,7 @@ namespace FiltersWebSite
|
|||
public AuthorizeBasicMiddleware(
|
||||
RequestDelegate next,
|
||||
ILoggerFactory loggerFactory,
|
||||
IUrlEncoder encoder,
|
||||
UrlEncoder encoder,
|
||||
string authScheme) :
|
||||
base(next,
|
||||
new BasicOptions { AuthenticationScheme = authScheme },
|
||||
|
|
|
|||
Loading…
Reference in New Issue