aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2013-04-15 03:53:54 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-04-15 03:53:54 +0000
commit03d1dff38d4de0f043420aae8a292d74b531324a (patch)
treee4a08895cb3e764f83550e4d4c957e171d03eaf5
parenta94bb198cf13a3729bb992fc9c5bfce779e58469 (diff)
parentc2e9c511cbc4bd374d3a0680c58da60043ef21c3 (diff)
downloadlatinime-03d1dff38d4de0f043420aae8a292d74b531324a.tar.gz
latinime-03d1dff38d4de0f043420aae8a292d74b531324a.tar.xz
latinime-03d1dff38d4de0f043420aae8a292d74b531324a.zip
Merge "Fix Binary dict tests"
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java8
-rw-r--r--tests/src/com/android/inputmethod/latin/makedict/BinaryDictIOTests.java5
2 files changed, 8 insertions, 5 deletions
diff --git a/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java b/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
index 58ec1e83f..467f6a053 100644
--- a/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
+++ b/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
@@ -1467,8 +1467,8 @@ public final class BinaryDictInputOutput {
if (null == last) continue;
builder.append(new String(last.mCharacters, 0, last.mCharacters.length));
buffer.position(last.mChildrenAddress + headerSize);
- groupOffset = last.mChildrenAddress + 1;
- i = buffer.readUnsignedByte();
+ i = readCharGroupCount(buffer);
+ groupOffset = last.mChildrenAddress + getGroupCountSize(i);
last = null;
continue;
}
@@ -1477,8 +1477,8 @@ public final class BinaryDictInputOutput {
if (0 == i && hasChildrenAddress(last.mChildrenAddress)) {
builder.append(new String(last.mCharacters, 0, last.mCharacters.length));
buffer.position(last.mChildrenAddress + headerSize);
- groupOffset = last.mChildrenAddress + 1;
- i = buffer.readUnsignedByte();
+ i = readCharGroupCount(buffer);
+ groupOffset = last.mChildrenAddress + getGroupCountSize(i);
last = null;
continue;
}
diff --git a/tests/src/com/android/inputmethod/latin/makedict/BinaryDictIOTests.java b/tests/src/com/android/inputmethod/latin/makedict/BinaryDictIOTests.java
index bd8729203..89913fa0a 100644
--- a/tests/src/com/android/inputmethod/latin/makedict/BinaryDictIOTests.java
+++ b/tests/src/com/android/inputmethod/latin/makedict/BinaryDictIOTests.java
@@ -137,7 +137,10 @@ public class BinaryDictIOTests extends AndroidTestCase {
if (r < 0) continue;
// Don't insert 0~20, but insert any other code point.
// Code points are in the range 0~0x10FFFF.
- builder.appendCodePoint((int)(20 + r % (0x10FFFF - 20)));
+ final int candidateCodePoint = (int)(20 + r % (0x10FFFF - 20));
+ // Code points between 0xD800 and 0xDFFF are not valid.
+ if (candidateCodePoint >= 0xD800 && candidateCodePoint <= 0xDFFF) continue;
+ builder.appendCodePoint(candidadeCodePoint);
--count;
}
return builder.toString();