Пример #1
0
        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"));
        }
Пример #2
0
 //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;
 }
Пример #3
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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"));
        }
Пример #7
0
        /// <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;
        }
Пример #8
0
 public void TestUtfHyphen8()
 {
     Assert.AreEqual(Encoding.UTF8, EncodingFinder.FindEncoding("utf-8"));
 }
Пример #9
0
 public void TestBinary()
 {
     Assert.AreEqual(Encoding.ASCII, EncodingFinder.FindEncoding("binary"));
 }
Пример #10
0
 public void TestIso88599()
 {
     Assert.AreEqual(Encoding.GetEncoding("iso-8859-9"), EncodingFinder.FindEncoding("iso-8859-9"));
 }
Пример #11
0
 public void TestCodePage950Windows()
 {
     Assert.AreEqual(Encoding.GetEncoding(950), EncodingFinder.FindEncoding("windows-950"));
 }
Пример #12
0
 public void TestCodePage1255()
 {
     Assert.AreEqual(Encoding.GetEncoding(1255), EncodingFinder.FindEncoding("cp-1255"));
 }
Пример #13
0
 public void TestUtfHyphen8UpperCase()
 {
     Assert.AreEqual(Encoding.UTF8, EncodingFinder.FindEncoding("UTF-8"));
 }
Пример #14
0
 public void TestIsoNoHyphen885915UpperCase()
 {
     Assert.AreEqual(Encoding.GetEncoding("iso-8859-15"), EncodingFinder.FindEncoding("ISO8859-15"));
 }
Пример #15
0
 public void TearDown()
 {
     //
     // Remember to reset the configuration of the EncondingFinder
     EncodingFinder.Reset();
 }
Пример #16
0
 public void TestUnknownMappingThrowsException()
 {
     Assert.Throws <ArgumentException>(delegate { EncodingFinder.FindEncoding("unknown_special_encoding_yoyo"); });
 }
Пример #17
0
 public void TestNoNullArgumentsToAddMapping()
 {
     Assert.Throws <ArgumentNullException>(delegate { EncodingFinder.AddMapping("foobar", null); });
     Assert.Throws <ArgumentNullException>(delegate { EncodingFinder.AddMapping(null, Encoding.UTF8); });
 }