From eb42bc51fbb15c3faf3e1a8b59aa695c75c9f035 Mon Sep 17 00:00:00 2001 From: Levi B Date: Fri, 27 Feb 2015 11:28:40 -0800 Subject: [PATCH] CodePointFilter parameterless ctor should be empty, not Basic Latin --- src/Microsoft.Framework.WebEncoders/CodePointFilter.cs | 3 +-- src/Microsoft.Framework.WebEncoders/HtmlEncoder.cs | 2 +- .../JavaScriptStringEncoder.cs | 2 +- src/Microsoft.Framework.WebEncoders/UrlEncoder.cs | 2 +- .../CodePointFilterTests.cs | 8 ++------ 5 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/Microsoft.Framework.WebEncoders/CodePointFilter.cs b/src/Microsoft.Framework.WebEncoders/CodePointFilter.cs index 7fd1201b4b..1fee0fbf1b 100644 --- a/src/Microsoft.Framework.WebEncoders/CodePointFilter.cs +++ b/src/Microsoft.Framework.WebEncoders/CodePointFilter.cs @@ -15,12 +15,11 @@ namespace Microsoft.Framework.WebEncoders private AllowedCharsBitmap _allowedCharsBitmap; /// - /// Instantiates the filter allowing only the 'Basic Latin' block of characters through. + /// Instantiates an empty filter. /// public CodePointFilter() { _allowedCharsBitmap = new AllowedCharsBitmap(); - AllowBlock(UnicodeBlocks.BasicLatin); } /// diff --git a/src/Microsoft.Framework.WebEncoders/HtmlEncoder.cs b/src/Microsoft.Framework.WebEncoders/HtmlEncoder.cs index 20a504d38d..bea418b83f 100644 --- a/src/Microsoft.Framework.WebEncoders/HtmlEncoder.cs +++ b/src/Microsoft.Framework.WebEncoders/HtmlEncoder.cs @@ -120,7 +120,7 @@ namespace Microsoft.Framework.WebEncoders HtmlUnicodeEncoder encoder = Volatile.Read(ref _basicLatinSingleton); if (encoder == null) { - encoder = new HtmlUnicodeEncoder(new CodePointFilter()); + encoder = new HtmlUnicodeEncoder(new CodePointFilter(UnicodeBlocks.BasicLatin)); Volatile.Write(ref _basicLatinSingleton, encoder); } return encoder; diff --git a/src/Microsoft.Framework.WebEncoders/JavaScriptStringEncoder.cs b/src/Microsoft.Framework.WebEncoders/JavaScriptStringEncoder.cs index eb6ba16dae..3779c32801 100644 --- a/src/Microsoft.Framework.WebEncoders/JavaScriptStringEncoder.cs +++ b/src/Microsoft.Framework.WebEncoders/JavaScriptStringEncoder.cs @@ -124,7 +124,7 @@ namespace Microsoft.Framework.WebEncoders JavaScriptStringUnicodeEncoder encoder = Volatile.Read(ref _basicLatinSingleton); if (encoder == null) { - encoder = new JavaScriptStringUnicodeEncoder(new CodePointFilter()); + encoder = new JavaScriptStringUnicodeEncoder(new CodePointFilter(UnicodeBlocks.BasicLatin)); Volatile.Write(ref _basicLatinSingleton, encoder); } return encoder; diff --git a/src/Microsoft.Framework.WebEncoders/UrlEncoder.cs b/src/Microsoft.Framework.WebEncoders/UrlEncoder.cs index d3c66a26b3..4497939c71 100644 --- a/src/Microsoft.Framework.WebEncoders/UrlEncoder.cs +++ b/src/Microsoft.Framework.WebEncoders/UrlEncoder.cs @@ -163,7 +163,7 @@ namespace Microsoft.Framework.WebEncoders UrlUnicodeEncoder encoder = Volatile.Read(ref _basicLatinSingleton); if (encoder == null) { - encoder = new UrlUnicodeEncoder(new CodePointFilter()); + encoder = new UrlUnicodeEncoder(new CodePointFilter(UnicodeBlocks.BasicLatin)); Volatile.Write(ref _basicLatinSingleton, encoder); } return encoder; diff --git a/test/Microsoft.Framework.WebEncoders.Tests/CodePointFilterTests.cs b/test/Microsoft.Framework.WebEncoders.Tests/CodePointFilterTests.cs index e0dfbfb92a..e2fdf8dd7b 100644 --- a/test/Microsoft.Framework.WebEncoders.Tests/CodePointFilterTests.cs +++ b/test/Microsoft.Framework.WebEncoders.Tests/CodePointFilterTests.cs @@ -11,17 +11,13 @@ namespace Microsoft.Framework.WebEncoders public class CodePointFilterTests { [Fact] - public void Ctor_Parameterless_DefaultsToBasicLatin() + public void Ctor_Parameterless_CreatesEmptyFilter() { // Act var filter = new CodePointFilter(); // Assert - for (int i = 0; i <= 0x007F; i++) - { - Assert.True(filter.IsCharacterAllowed((char)i)); - } - for (int i = 0x0080; i <= Char.MaxValue; i++) + for (int i = 0; i <= Char.MaxValue; i++) { Assert.False(filter.IsCharacterAllowed((char)i)); }