]> gitweb.fperrin.net Git - DictionaryPC.git/blobdiff - src/com/hughes/android/dictionary/engine/LanguageTest.java
Fixed combining marks on Unicode regexes.
[DictionaryPC.git] / src / com / hughes / android / dictionary / engine / LanguageTest.java
index 0b7b0411b88e3dcb03a1281a5feab6a826b6ce6d..7b84dd644845682305cab6e6f7482f70ceb55b21 100644 (file)
@@ -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<String> enLangs = new LinkedHashSet<String>(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());
   }
 
 }