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")); }
//this function will add mapping-encoding especially for gmail email reading issue public void AddMapping(string ConStrings) { try { EncodingFinder.AddMapping("English (en) iso-8859-1", System.Text.Encoding.UTF8); } catch (Exception ex) { errorlogs.SendErrorToText(ex, ConStrings); } EncodingFinder.FallbackDecoder = CustomFallbackDecoder; }
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")); }
/// <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 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 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")); }
/// <summary> /// Example showing: /// - How to provide custom Encoding class /// - How to use UTF8 as default Encoding /// </summary> /// <param name="customEncoding">Own Encoding implementation</param> public void InsertCustomEncodings(Encoding customEncoding) { // Lets say some email contains a characterSet of "iso-9999-9" which // is fictional, but is really just UTF-8. // Lets add that mapping to the class responsible for finding // the Encoding from the name of it EncodingFinder.AddMapping("iso-9999-9", Encoding.UTF8); // It is also possible to implement your own Encoding if // the framework does not provide what you need EncodingFinder.AddMapping("specialEncoding", customEncoding); // Now, if the EncodingFinder is not able to find an encoding, lets // see if we can find one ourselves EncodingFinder.FallbackDecoder = CustomFallbackDecoder; }
public void TestUtfHyphen8() { Assert.AreEqual(Encoding.UTF8, EncodingFinder.FindEncoding("utf-8")); }
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 TestIsoNoHyphen885915UpperCase() { Assert.AreEqual(Encoding.GetEncoding("iso-8859-15"), EncodingFinder.FindEncoding("ISO8859-15")); }
public void TearDown() { // // Remember to reset the configuration of the EncondingFinder EncodingFinder.Reset(); }
public void TestUnknownMappingThrowsException() { Assert.Throws <ArgumentException>(delegate { EncodingFinder.FindEncoding("unknown_special_encoding_yoyo"); }); }
public void TestNoNullArgumentsToAddMapping() { Assert.Throws <ArgumentNullException>(delegate { EncodingFinder.AddMapping("foobar", null); }); Assert.Throws <ArgumentNullException>(delegate { EncodingFinder.AddMapping(null, Encoding.UTF8); }); }