public void Ctor_WithCustomFilters() { // Arrange var filter = new CodePointFilter(); filter.AllowCharacters('a', 'b'); filter.AllowCharacters('\0', '&', '\uFFFF', 'd'); UnicodeEncoderBase encoder = new CustomUnicodeEncoderBase(filter); // Act & assert Assert.Equal("a", encoder.Encode("a")); Assert.Equal("b", encoder.Encode("b")); Assert.Equal("[U+0063]", encoder.Encode("c")); Assert.Equal("d", encoder.Encode("d")); Assert.Equal("[U+0000]", encoder.Encode("\0")); // we still always encode control chars Assert.Equal("[U+0026]", encoder.Encode("&")); // we still always encode HTML-special chars Assert.Equal("[U+FFFF]", encoder.Encode("\uFFFF")); // we still always encode non-chars and other forbidden chars }
public void Ctor_WithCodePointFilter() { // Arrange var filter = new CodePointFilter(); filter.AllowCharacters('a', 'b'); filter.AllowCharacters('\0', '&', '\uFFFF', 'd'); HtmlEncoder encoder = new HtmlEncoder(filter); // Act & assert Assert.Equal("a", encoder.HtmlEncode("a")); Assert.Equal("b", encoder.HtmlEncode("b")); Assert.Equal("c", encoder.HtmlEncode("c")); Assert.Equal("d", encoder.HtmlEncode("d")); Assert.Equal("�", encoder.HtmlEncode("\0")); // we still always encode control chars Assert.Equal("&", encoder.HtmlEncode("&")); // we still always encode HTML-special chars Assert.Equal("", encoder.HtmlEncode("\uFFFF")); // we still always encode non-chars and other forbidden chars }
public void Ctor_WithCodePointFilter() { // Arrange var filter = new CodePointFilter(); filter.AllowCharacters('a', 'b'); filter.AllowCharacters('\0', '&', '\uFFFF', 'd'); JavaScriptStringEncoder encoder = new JavaScriptStringEncoder(filter); // Act & assert Assert.Equal("a", encoder.JavaScriptStringEncode("a")); Assert.Equal("b", encoder.JavaScriptStringEncode("b")); Assert.Equal(@"\u0063", encoder.JavaScriptStringEncode("c")); Assert.Equal("d", encoder.JavaScriptStringEncode("d")); Assert.Equal(@"\u0000", encoder.JavaScriptStringEncode("\0")); // we still always encode control chars Assert.Equal(@"\u0026", encoder.JavaScriptStringEncode("&")); // we still always encode HTML-special chars Assert.Equal(@"\uFFFF", encoder.JavaScriptStringEncode("\uFFFF")); // we still always encode non-chars and other forbidden chars }
public void AllowChars_String() { // Arrange var filter = new CodePointFilter(); filter.AllowCharacters('\u0100', '\u0102'); // Assert Assert.True(filter.IsCharacterAllowed('\u0100')); Assert.False(filter.IsCharacterAllowed('\u0101')); Assert.True(filter.IsCharacterAllowed('\u0102')); Assert.False(filter.IsCharacterAllowed('\u0103')); }
public void AllowChars_String() { // Arrange var filter = new CodePointFilter(); // Act var retVal = filter.AllowCharacters("\u0100\u0102"); // Assert Assert.Same(filter, retVal); // returns 'this' instance Assert.True(filter.IsCharacterAllowed('\u0100')); Assert.False(filter.IsCharacterAllowed('\u0101')); Assert.True(filter.IsCharacterAllowed('\u0102')); Assert.False(filter.IsCharacterAllowed('\u0103')); }