public void TestNormalizeAcsiiAddress()
        {
            var emailFormatter = new EmailFormatter();

            string[] addresses =
            {
                "*****@*****.**",
                "*****@*****.**",
                "*****@*****.**",
                "*****@*****.**",
                "*****@*****.**",
                "*****@*****.**", // (may go to [email protected] inbox depending on mail server)
                "*****@*****.**",                     // (one-letter local-part)
                "*****@*****.**",
                "admin@mailserver1",                 // (local domain name with no TLD, although ICANN highly discourages dotless email addresses[13])
                "*****@*****.**",                 // (see the List of Internet top-level domains)
                "\" \"@example.org",                 // (space between the quotes)
                "\"john..doe\"@example.org",         // (quoted double dot)
                "[email protected]",     // (bangified host route used for uucp mailers)
                "*****@*****.**",      // (% escaped mail route to [email protected] via example.org)
            };

            foreach (var address in addresses)
            {
                var result = emailFormatter.NormalizeEmail(address);
                Assert.AreEqual(address, result,
                                String.Format("Expected for '{0}': true; Actual: {1}",
                                              address, result));
            }
        }
Beispiel #2
0
        static void TestEmailFormatter()
        {
            var en = new EmailFormatter();

            Console.WriteLine(en.UnicodeToPunycode("с-балалайкой.рф"));
            Console.WriteLine(en.NormalizeEmail("медведь@с-балалайкой.рф"));
        }
        public void TestNormalizeEAIAddressInPunicode()
        {
            var emailFormatter = new EmailFormatter();

            string[,] addresses =
            {
                { "медведь@xn----8sbaac5cahfb0b0a.xn--p1ai", "медведь@с-балалайкой.рф"  }, // Cyrillic characters
                { "[email protected]",    "user@с-балалайкой.рф"     }, // Cyrillic characters, ASCII local part
                { "δοκιμή@xn--hxajbheg2az3al.xn--jxalpdlp",  "δοκιμή@παράδειγμα.δοκιμή" }, // Greek alphabet
            };

            for (int i = 0; i < addresses.GetLength(0); i++)
            {
                var result = emailFormatter.NormalizeEmail(addresses[i, 0]);
                Assert.AreEqual(addresses[i, 1], result,
                                String.Format("Expected for '{0}': true; Actual: {1}",
                                              addresses[i, 1], result));
            }
        }
        public void TestNormalizeEAIAddressInUnicode()
        {
            var emailFormatter = new EmailFormatter();

            string[] addresses =
            {
                "Pelé@example.com",         // Latin alphabet with diacritics
                "δοκιμή@παράδειγμα.δοκιμή", // Greek alphabet
                "我買@屋企.香港",                 //  Traditional Chinese characters
                "二ノ宮@黒川.日本",                // Japanese characters
                "медведь@с-балалайкой.рф",  // Cyrillic characters
                "संपर्क@डाटामेल.भारत",      // Devanagari characters
            };

            foreach (var address in addresses)
            {
                var result = emailFormatter.NormalizeEmail(address);
                Assert.AreEqual(address, result,
                                String.Format("Expected for '{0}': true; Actual: {1}",
                                              address, result));
            }
        }