Пример #1
0
        public void TestForWidth()
        {
            Transliterator widen           = Transliterator.GetInstance("halfwidth-fullwidth");
            Transliterator narrow          = Transliterator.GetInstance("fullwidth-halfwidth");
            UnicodeSet     ASCII           = new UnicodeSet("[:ascii:]");
            string         lettersAndSpace = "abc def";
            string         punctOnly       = "( )";

            String wideLettersAndSpace = widen.Transform(lettersAndSpace);
            String widePunctOnly       = widen.Transform(punctOnly);

            assertContainsNone("Should be wide", ASCII, wideLettersAndSpace);
            assertContainsNone("Should be wide", ASCII, widePunctOnly);

            String back;

            back = narrow.Transform(wideLettersAndSpace);
            assertEquals("Should be narrow", lettersAndSpace, back);
            back = narrow.Transform(widePunctOnly);
            assertEquals("Should be narrow", punctOnly, back);

            Transliterator latin = Transliterator.GetInstance("any-Latn");

            back = latin.Transform(wideLettersAndSpace);
            assertEquals("Should be ascii", lettersAndSpace, back);

            back = latin.Transform(widePunctOnly);
            assertEquals("Should be ascii", punctOnly, back);

            // Han-Latin is now forward-only per CLDR ticket #5630
            //Transliterator t2 = Transliterator.GetInstance("any-Han");
            //back = t2.transform(widePunctOnly);
            //assertEquals("Should be same", widePunctOnly, back);
        }
Пример #2
0
        public void TestContext()
        {
            Transliterator t      = Transliterator.CreateFromRules("foo", "::[bc]; a{b}d > B;", Transliterator.Forward);
            String         sample = "abd abc b";

            assertEquals("context works", "aBd abc b", t.Transform(sample));
        }
Пример #3
0
        public void TestCommonDigits()
        {
            UnicodeSet     westernDigitSet         = new UnicodeSet("[0-9]");
            UnicodeSet     westernDigitSetAndMarks = new UnicodeSet("[[0-9][:Mn:]]");
            UnicodeSet     arabicDigitSet          = new UnicodeSet("[[:Nd:]&[:block=Arabic:]]");
            Transliterator latin         = Transliterator.GetInstance("Any-Latn");
            Transliterator arabic        = Transliterator.GetInstance("Any-Arabic");
            String         westernDigits = getList(westernDigitSet);
            String         arabicDigits  = getList(arabicDigitSet);

            String fromArabic = latin.Transform(arabicDigits);

            assertContainsAll("Any-Latin transforms Arabic digits", westernDigitSetAndMarks, fromArabic);
            if (false)
            { // we don't require conversion to Arabic digits
                String fromLatin = arabic.Transform(westernDigits);
                assertContainsAll("Any-Arabic transforms Western digits", arabicDigitSet, fromLatin);
            }
        }