public void TestMappingOverridesNormalCode() { Assert.AreEqual(Encoding.GetEncoding("iso-8859-1"), EncodingFinder.FindEncoding("iso-8859-1")); EncodingFinder.AddMapping("iso-8859-1", Encoding.UTF8); Assert.AreEqual(Encoding.UTF8, EncodingFinder.FindEncoding("iso-8859-1")); }
/// <summary> /// Parses a character set into an encoding /// </summary> /// <param name="characterSet">The character set that needs to be parsed. <see langword="null"/> is allowed.</param> /// <returns>The encoding specified by the <paramref name="characterSet"/> parameter, or ASCII if the character set was <see langword="null"/> or empty</returns> private static Encoding ParseBodyEncoding(string characterSet) { // Default encoding in Mime messages is US-ASCII Encoding encoding = Encoding.ASCII; // If the character set was specified, find the encoding that the character // set describes, and use that one instead if (!string.IsNullOrEmpty(characterSet)) { encoding = EncodingFinder.FindEncoding(characterSet); } return(encoding); }
public void TestMap() { Encoding obscureEncoding = Encoding.UTF32; EncodingFinder.AddMapping("some_obscure_encoding", obscureEncoding); Assert.AreEqual(obscureEncoding, EncodingFinder.FindEncoding("some_obscure_encoding")); // Should work for uppercase as well Assert.AreEqual(obscureEncoding, EncodingFinder.FindEncoding("SOME_OBSCURE_ENCODING")); // Should work for mixed case as well Assert.AreEqual(obscureEncoding, EncodingFinder.FindEncoding("sOME_ObScUrE_enCOdiNg")); }
public void TestFallbackDecoder() { bool wasCalled = false; EncodingFinder.FallbackDecoder = delegate(string characterSet) { Assert.AreEqual("unknown_special_encoding_yoyo", characterSet); wasCalled = true; return(Encoding.UTF8); }; Assert.AreEqual(Encoding.UTF8, EncodingFinder.FindEncoding("unknown_special_encoding_yoyo")); Assert.IsTrue(wasCalled); }
public void TestMapOther() { Encoding ascii = Encoding.ASCII; EncodingFinder.AddMapping("ASCII DASCii", ascii); Assert.AreEqual(ascii, EncodingFinder.FindEncoding("ASCII DASCii")); // Should work for uppercase as well Assert.AreEqual(ascii, EncodingFinder.FindEncoding("ascii DASCii")); // Should work for mixed case as well Assert.AreEqual(ascii, EncodingFinder.FindEncoding("AsciI dAsCii")); }
public void TestBinary() { Assert.AreEqual(Encoding.ASCII, EncodingFinder.FindEncoding("binary")); }
public void TestIso88599() { Assert.AreEqual(Encoding.GetEncoding("iso-8859-9"), EncodingFinder.FindEncoding("iso-8859-9")); }
public void TestCodePage950Windows() { Assert.AreEqual(Encoding.GetEncoding(950), EncodingFinder.FindEncoding("windows-950")); }
public void TestCodePage1255() { Assert.AreEqual(Encoding.GetEncoding(1255), EncodingFinder.FindEncoding("cp-1255")); }
public void TestUtfHyphen8UpperCase() { Assert.AreEqual(Encoding.UTF8, EncodingFinder.FindEncoding("UTF-8")); }
public void TestUtfHyphen8() { Assert.AreEqual(Encoding.UTF8, EncodingFinder.FindEncoding("utf-8")); }
public void TestUnknownMappingThrowsException() { Assert.Throws <ArgumentException>(delegate { EncodingFinder.FindEncoding("unknown_special_encoding_yoyo"); }); }
public void TestIsoNoHyphen885915UpperCase() { Assert.AreEqual(Encoding.GetEncoding("iso-8859-15"), EncodingFinder.FindEncoding("ISO8859-15")); }