73 lines
2.1 KiB
C#
73 lines
2.1 KiB
C#
// 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;
|
|
using System.IO;
|
|
using Xunit;
|
|
|
|
namespace Microsoft.Extensions.WebEncoders
|
|
{
|
|
public class EncoderExtensionsTests
|
|
{
|
|
[Fact]
|
|
public void HtmlEncode_ParameterChecks()
|
|
{
|
|
Assert.Throws<ArgumentNullException>(() => EncoderExtensions.HtmlEncode(null, "Hello!", new StringWriter()));
|
|
}
|
|
|
|
[Fact]
|
|
public void HtmlEncode_PositiveTestCase()
|
|
{
|
|
// Arrange
|
|
IHtmlEncoder encoder = new HtmlEncoder(UnicodeRanges.All);
|
|
StringWriter writer = new StringWriter();
|
|
|
|
// Act
|
|
encoder.HtmlEncode("Hello+there!", writer);
|
|
|
|
// Assert
|
|
Assert.Equal("Hello+there!", writer.ToString());
|
|
}
|
|
|
|
[Fact]
|
|
public void JavaScriptStringEncode_ParameterChecks()
|
|
{
|
|
Assert.Throws<ArgumentNullException>(() => EncoderExtensions.JavaScriptStringEncode(null, "Hello!", new StringWriter()));
|
|
}
|
|
|
|
[Fact]
|
|
public void JavaScriptStringEncode_PositiveTestCase()
|
|
{
|
|
// Arrange
|
|
IJavaScriptStringEncoder encoder = new JavaScriptStringEncoder(UnicodeRanges.All);
|
|
StringWriter writer = new StringWriter();
|
|
|
|
// Act
|
|
encoder.JavaScriptStringEncode("Hello+there!", writer);
|
|
|
|
// Assert
|
|
Assert.Equal(@"Hello\u002Bthere!", writer.ToString());
|
|
}
|
|
|
|
[Fact]
|
|
public void UrlEncode_ParameterChecks()
|
|
{
|
|
Assert.Throws<ArgumentNullException>(() => EncoderExtensions.UrlEncode(null, "Hello!", new StringWriter()));
|
|
}
|
|
|
|
[Fact]
|
|
public void UrlEncode_PositiveTestCase()
|
|
{
|
|
// Arrange
|
|
IUrlEncoder encoder = new UrlEncoder(UnicodeRanges.All);
|
|
StringWriter writer = new StringWriter();
|
|
|
|
// Act
|
|
encoder.UrlEncode("Hello+there!", writer);
|
|
|
|
// Assert
|
|
Assert.Equal("Hello%2Bthere!", writer.ToString());
|
|
}
|
|
}
|
|
}
|