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); }
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)); }
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); } }