public void HtmlAttributeEncode() { var encoder = new HttpEncoderPoker(); var sw = new StringWriter(); AssertExtensions.Throws <ArgumentNullException> (() => { encoder.CallHtmlAttributeEncode("string", null); }, "#A1"); encoder.CallHtmlAttributeEncode("<script>", sw); Assert.AreEqual("<script>", sw.ToString(), "#A2"); sw = new StringWriter(); encoder.CallHtmlAttributeEncode("\"a&b\"", sw); Assert.AreEqual(""a&b"", sw.ToString(), "#A3"); sw = new StringWriter(); encoder.CallHtmlAttributeEncode("'string'", sw); Assert.AreEqual("'string'", sw.ToString(), "#A4"); sw = new StringWriter(); encoder.CallHtmlAttributeEncode("\\string\\", sw); Assert.AreEqual("\\string\\", sw.ToString(), "#A5"); sw = new StringWriter(); encoder.CallHtmlAttributeEncode(null, sw); Assert.AreEqual(String.Empty, sw.ToString(), "#A6"); sw = new StringWriter(); encoder.CallHtmlAttributeEncode(null, sw); Assert.AreEqual(String.Empty, sw.ToString(), "#A7"); }
public void HtmlEncode() { var encoder = new HttpEncoderPoker(); StringWriter sw; AssertExtensions.Throws <ArgumentNullException> (() => { encoder.CallHtmlEncode("string", null); }, "#A1"); sw = new StringWriter(); encoder.CallHtmlEncode(null, sw); Assert.AreEqual(String.Empty, sw.ToString(), "#A2"); sw = new StringWriter(); encoder.CallHtmlEncode(String.Empty, sw); Assert.AreEqual(String.Empty, sw.ToString(), "#A3"); for (int i = 0; i < encoding_pairs.Length; i += 2) { sw = new StringWriter(); encoder.CallHtmlEncode(encoding_pairs [i], sw); Assert.AreEqual(encoding_pairs [i + 1], sw.ToString(), "#B" + (i / 2).ToString()); } }
public void HtmlAttributeEncode () { var encoder = new HttpEncoderPoker (); var sw = new StringWriter (); AssertExtensions.Throws<ArgumentNullException> (() => { encoder.CallHtmlAttributeEncode ("string", null); }, "#A1"); encoder.CallHtmlAttributeEncode ("<script>", sw); Assert.AreEqual ("<script>", sw.ToString (), "#A2"); sw = new StringWriter (); encoder.CallHtmlAttributeEncode ("\"a&b\"", sw); Assert.AreEqual (""a&b"", sw.ToString (), "#A3"); sw = new StringWriter (); encoder.CallHtmlAttributeEncode ("'string'", sw); Assert.AreEqual ("'string'", sw.ToString (), "#A4"); sw = new StringWriter (); encoder.CallHtmlAttributeEncode ("\\string\\", sw); Assert.AreEqual ("\\string\\", sw.ToString (), "#A5"); sw = new StringWriter (); encoder.CallHtmlAttributeEncode (null, sw); Assert.AreEqual (String.Empty, sw.ToString (), "#A6"); sw = new StringWriter (); encoder.CallHtmlAttributeEncode (null, sw); Assert.AreEqual (String.Empty, sw.ToString (), "#A7"); }
public void UrlEncode() { var encoder = new HttpEncoderPoker(); byte [] bytes = new byte [10]; AssertExtensions.Throws <ArgumentOutOfRangeException> (() => { encoder.CallUrlEncode(bytes, -1, 1); }, "#A1-1"); AssertExtensions.Throws <ArgumentOutOfRangeException> (() => { encoder.CallUrlEncode(bytes, 11, 1); }, "#A1-2"); AssertExtensions.Throws <ArgumentOutOfRangeException> (() => { encoder.CallUrlEncode(bytes, 0, -1); }, "#A1-3"); AssertExtensions.Throws <ArgumentOutOfRangeException> (() => { encoder.CallUrlEncode(bytes, 01, 11); }, "#A1-4"); AssertExtensions.Throws <ArgumentNullException> (() => { encoder.CallUrlEncode(null, 0, 1); }, "#A1-5"); for (char c = char.MinValue; c < char.MaxValue; c++) { byte [] bIn; bIn = Encoding.UTF8.GetBytes(c.ToString()); MemoryStream expected = new MemoryStream(); MemoryStream expUnicode = new MemoryStream(); //build expected result for UrlEncode for (int i = 0; i < bIn.Length; i++) { UrlEncodeChar((char)bIn [i], expected, false); } byte [] expectedBytes = expected.ToArray(); byte [] encodedBytes = encoder.CallUrlEncode(bIn, 0, bIn.Length); Assert.IsNotNull(encodedBytes, "#B1-1"); Assert.AreEqual(expectedBytes.Length, encodedBytes.Length, "#B1-2"); for (int i = 0; i < expectedBytes.Length; i++) { Assert.AreEqual(expectedBytes [i], encodedBytes [i], String.Format("[Char: {0}] [Pos: {1}]", c, i)); } } byte [] encoded = encoder.CallUrlEncode(new byte [0], 0, 0); Assert.IsNotNull(encoded, "#C1-1"); Assert.AreEqual(0, encoded.Length, "#C1-2"); }
public void HtmlDecode_Specials() { var encoder = new HttpEncoderPoker(); var sw = new StringWriter(); encoder.CallHtmlDecode("♥iQj", sw); Assert.AreEqual("♥iQj", sw.ToString(), "#A1"); }
public void UrlPathEncode2() { var encoder = new HttpEncoderPoker(); string s = "default.xxx?sdsd=sds"; string s2 = encoder.CallUrlPathEncode(s); Assert.AreEqual(s, s2, "UrlPathEncode " + s); }
public void UrlPathEncode() { var encoder = new HttpEncoderPoker(); Assert.AreEqual(null, encoder.CallUrlPathEncode(null), "#A1-1"); Assert.AreEqual(String.Empty, encoder.CallUrlPathEncode(String.Empty), "#A1-2"); for (char c = char.MinValue; c < char.MaxValue; c++) { MemoryStream expected = new MemoryStream(); UrlPathEncodeChar(c, expected); string exp = Encoding.ASCII.GetString(expected.ToArray()); string act = encoder.CallUrlPathEncode(c.ToString()); Assert.AreEqual(exp, act, "UrlPathEncode " + c.ToString()); } }
public void HeaderNameValueEncode() { var encoder = new HttpEncoderPoker(); string encodedName; string encodedValue; encoder.CallHeaderNameValueEncode(null, null, out encodedName, out encodedValue); Assert.AreEqual(null, encodedName, "#A1-1"); Assert.AreEqual(null, encodedValue, "#A1-2"); encoder.CallHeaderNameValueEncode(String.Empty, String.Empty, out encodedName, out encodedValue); Assert.AreEqual(String.Empty, encodedName, "#A2-1"); Assert.AreEqual(String.Empty, encodedValue, "#A2-2"); char ch; for (int i = Char.MinValue; i <= Char.MaxValue; i++) { ch = (char)i; encoder.CallHeaderNameValueEncode(ch.ToString(), null, out encodedName, out encodedValue); if (headerNameEncodedChars.ContainsKey(ch)) { Assert.AreEqual(headerNameEncodedChars [ch], encodedName, "#B1-" + i.ToString()); } else { Assert.AreEqual(ch.ToString(), encodedName, "#B1-" + i.ToString()); } encoder.CallHeaderNameValueEncode(null, ch.ToString(), out encodedName, out encodedValue); if (headerValueEncodedChars.ContainsKey(ch)) { Assert.AreEqual(headerValueEncodedChars [ch], encodedValue, "#C1-" + i.ToString()); } else { Assert.AreEqual(ch.ToString(), encodedValue, "#C1-" + i.ToString()); } } }
public void HeaderNameValueEncode () { var encoder = new HttpEncoderPoker (); string encodedName; string encodedValue; encoder.CallHeaderNameValueEncode (null, null, out encodedName, out encodedValue); Assert.AreEqual (null, encodedName, "#A1-1"); Assert.AreEqual (null, encodedValue, "#A1-2"); encoder.CallHeaderNameValueEncode (String.Empty, String.Empty, out encodedName, out encodedValue); Assert.AreEqual (String.Empty, encodedName, "#A2-1"); Assert.AreEqual (String.Empty, encodedValue, "#A2-2"); char ch; for (int i = Char.MinValue; i <= Char.MaxValue; i++) { ch = (char) i; encoder.CallHeaderNameValueEncode (ch.ToString (), null, out encodedName, out encodedValue); if (headerNameEncodedChars.ContainsKey (ch)) Assert.AreEqual (headerNameEncodedChars [ch], encodedName, "#B1-" + i.ToString ()); else Assert.AreEqual (ch.ToString (), encodedName, "#B1-" + i.ToString ()); encoder.CallHeaderNameValueEncode (null, ch.ToString (), out encodedName, out encodedValue); if (headerValueEncodedChars.ContainsKey (ch)) Assert.AreEqual (headerValueEncodedChars [ch], encodedValue, "#C1-" + i.ToString ()); else Assert.AreEqual (ch.ToString (), encodedValue, "#C1-" + i.ToString ()); } }
public void UrlPathEncode2 () { var encoder = new HttpEncoderPoker (); string s = "default.xxx?sdsd=sds"; string s2 = encoder.CallUrlPathEncode (s); Assert.AreEqual (s, s2, "UrlPathEncode " + s); }
public void UrlPathEncode () { var encoder = new HttpEncoderPoker (); Assert.AreEqual (null, encoder.CallUrlPathEncode (null), "#A1-1"); Assert.AreEqual (String.Empty, encoder.CallUrlPathEncode (String.Empty), "#A1-2"); for (char c = char.MinValue; c < char.MaxValue; c++) { MemoryStream expected = new MemoryStream (); UrlPathEncodeChar (c, expected); string exp = Encoding.ASCII.GetString (expected.ToArray ()); string act = encoder.CallUrlPathEncode (c.ToString ()); Assert.AreEqual (exp, act, "UrlPathEncode " + c.ToString ()); } }
public void UrlEncode () { var encoder = new HttpEncoderPoker (); byte [] bytes = new byte [10]; AssertExtensions.Throws<ArgumentOutOfRangeException> (() => { encoder.CallUrlEncode (bytes, -1, 1); }, "#A1-1"); AssertExtensions.Throws<ArgumentOutOfRangeException> (() => { encoder.CallUrlEncode (bytes, 11, 1); }, "#A1-2"); AssertExtensions.Throws<ArgumentOutOfRangeException> (() => { encoder.CallUrlEncode (bytes, 0, -1); }, "#A1-3"); AssertExtensions.Throws<ArgumentOutOfRangeException> (() => { encoder.CallUrlEncode (bytes, 01, 11); }, "#A1-4"); AssertExtensions.Throws<ArgumentNullException> (() => { encoder.CallUrlEncode (null, 0, 1); }, "#A1-5"); for (char c = char.MinValue; c < char.MaxValue; c++) { byte [] bIn; bIn = Encoding.UTF8.GetBytes (c.ToString ()); MemoryStream expected = new MemoryStream (); MemoryStream expUnicode = new MemoryStream (); //build expected result for UrlEncode for (int i = 0; i < bIn.Length; i++) UrlEncodeChar ((char) bIn [i], expected, false); byte [] expectedBytes = expected.ToArray (); byte [] encodedBytes = encoder.CallUrlEncode (bIn, 0, bIn.Length); Assert.IsNotNull (encodedBytes, "#B1-1"); Assert.AreEqual (expectedBytes.Length, encodedBytes.Length, "#B1-2"); for (int i = 0; i < expectedBytes.Length; i++) Assert.AreEqual (expectedBytes [i], encodedBytes [i], String.Format ("[Char: {0}] [Pos: {1}]", c, i)); } byte [] encoded = encoder.CallUrlEncode (new byte [0], 0, 0); Assert.IsNotNull (encoded, "#C1-1"); Assert.AreEqual (0, encoded.Length, "#C1-2"); }
public void HtmlEncode () { var encoder = new HttpEncoderPoker (); StringWriter sw; AssertExtensions.Throws<ArgumentNullException> (() => { encoder.CallHtmlEncode ("string", null); }, "#A1"); sw = new StringWriter (); encoder.CallHtmlEncode (null, sw); Assert.AreEqual (String.Empty, sw.ToString (), "#A2"); sw = new StringWriter (); encoder.CallHtmlEncode (String.Empty, sw); Assert.AreEqual (String.Empty, sw.ToString (), "#A3"); for (int i = 0; i < encoding_pairs.Length; i += 2) { sw = new StringWriter (); encoder.CallHtmlEncode (encoding_pairs [i], sw); Assert.AreEqual (encoding_pairs [i + 1], sw.ToString (), "#B" + (i / 2).ToString ()); } }
public void HtmlDecode_Specials () { var encoder = new HttpEncoderPoker (); var sw = new StringWriter (); encoder.CallHtmlDecode ("♥iQj", sw); Assert.AreEqual ("♥iQj", sw.ToString (), "#A1"); }