X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=src%2Fcom%2Fhughes%2Fandroid%2Fdictionary%2Fengine%2FLanguageTest.java;h=7b84dd644845682305cab6e6f7482f70ceb55b21;hb=4b1b911b69b63a157189a44124861cf365b12888;hp=0b7b0411b88e3dcb03a1281a5feab6a826b6ce6d;hpb=297e7670b0c1487cdddb82dd2259f902d4ed80ae;p=DictionaryPC.git diff --git a/src/com/hughes/android/dictionary/engine/LanguageTest.java b/src/com/hughes/android/dictionary/engine/LanguageTest.java index 0b7b041..7b84dd6 100644 --- a/src/com/hughes/android/dictionary/engine/LanguageTest.java +++ b/src/com/hughes/android/dictionary/engine/LanguageTest.java @@ -17,10 +17,14 @@ package com.hughes.android.dictionary.engine; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.LinkedHashSet; import java.util.List; +import java.util.Set; import junit.framework.TestCase; +import com.hughes.android.dictionary.parser.DictFileParser; +import com.hughes.android.dictionary.parser.wiktionary.WiktionaryLangs; import com.ibm.icu.text.Transliterator; public class LanguageTest extends TestCase { @@ -159,7 +163,32 @@ public class LanguageTest extends TestCase { assertEquals("haswb", transliterator.transliterate("حاسوب")); assertEquals("kmbywtr", transliterator.transliterate("كمبيوتر")); - assertEquals("{\u200eكمبيوتر\u200e}", Language.fixBidiText("{كمبيوتر}")); + assertEquals("{\u200e كمبيوتر \u200e}", Language.fixBidiText("{كمبيوتر}")); + assertEquals("{a=\u200e كمبيوتر \u200e}", Language.fixBidiText("{a=كمبيوتر}")); + assertEquals("(\u200e كمبيوتر \u200e)", Language.fixBidiText("(كمبيوتر)")); + assertEquals("أنثى أنْثَى (’únθā) {f}, إناث (’ināθ) {p}, اناثى (’anāθā) {p}", Language.fixBidiText("أنثى أنْثَى (’únθā) {f}, إناث (’ināθ) {p}, اناثى (’anāθā) {p}")); + + } + + public void testThai() { + final Language th = Language.lookup("TH"); + final Transliterator transliterator = Transliterator.createFromRules("", th.getDefaultNormalizerRules(), Transliterator.FORWARD); + // Not sure these are right, just to know... + assertEquals("d", transliterator.transliterate("ด")); + assertEquals("di", transliterator.transliterate("ด ี")); + assertEquals("dii", transliterator.transliterate("ดีี")); + + assertEquals(Collections.singleton("ดีี"), DictFileParser.tokenize("ดีี", DictFileParser.NON_CHAR)); + } + + + public void testEnWiktionaryNames() { + final Set enLangs = new LinkedHashSet(WiktionaryLangs.isoCodeToWikiName.keySet()); + for (final String code : WiktionaryLangs.isoCodeToWikiName.keySet()) { + enLangs.add(code.toLowerCase()); + } + assertEquals(enLangs.toString(), Language.isoCodeToResources.keySet().toString()); + assertEquals(enLangs, Language.isoCodeToResources.keySet()); } }