aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/FusionDictionary.java1
-rw-r--r--tests/src/com/android/inputmethod/latin/FusionDictionaryTests.java6
2 files changed, 7 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/makedict/FusionDictionary.java b/java/src/com/android/inputmethod/latin/makedict/FusionDictionary.java
index 260155174..7c15ba54d 100644
--- a/java/src/com/android/inputmethod/latin/makedict/FusionDictionary.java
+++ b/java/src/com/android/inputmethod/latin/makedict/FusionDictionary.java
@@ -532,6 +532,7 @@ public class FusionDictionary implements Iterable<Word> {
} while (null != node && index < s.length());
if (index < s.length()) return null;
+ if (!currentGroup.isTerminal()) return null;
if (DBG && !s.equals(checker.toString())) return null;
return currentGroup;
}
diff --git a/tests/src/com/android/inputmethod/latin/FusionDictionaryTests.java b/tests/src/com/android/inputmethod/latin/FusionDictionaryTests.java
index e3f75839e..8ecdcc366 100644
--- a/tests/src/com/android/inputmethod/latin/FusionDictionaryTests.java
+++ b/tests/src/com/android/inputmethod/latin/FusionDictionaryTests.java
@@ -38,5 +38,11 @@ public class FusionDictionaryTests extends AndroidTestCase {
dict.add("aa", 10, null);
assertNull(FusionDictionary.findWordInTree(dict.mRoot, "aaa"));
assertNotNull(FusionDictionary.findWordInTree(dict.mRoot, "aa"));
+
+ dict.add("babcd", 10, null);
+ dict.add("bacde", 10, null);
+ assertNull(FusionDictionary.findWordInTree(dict.mRoot, "ba"));
+ assertNotNull(FusionDictionary.findWordInTree(dict.mRoot, "babcd"));
+ assertNotNull(FusionDictionary.findWordInTree(dict.mRoot, "bacde"));
}
}