aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2013-04-17 19:46:57 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-04-17 19:46:57 -0700
commitba5e450e401564d0528ec4ad4884244e91fa01cf (patch)
treee4c6e2a671c8fc6894da75ff3f7e25a59302fc24
parente157fa502f2329b94fd9ac5844eb33a21c37019e (diff)
parent69ffa8b0ff646591edcc1eb3a6dc28572cf8e033 (diff)
downloadlatinime-ba5e450e401564d0528ec4ad4884244e91fa01cf.tar.gz
latinime-ba5e450e401564d0528ec4ad4884244e91fa01cf.tar.xz
latinime-ba5e450e401564d0528ec4ad4884244e91fa01cf.zip
am 69ffa8b0: am 03d1dff3: Merge "Fix Binary dict tests"
* commit '69ffa8b0ff646591edcc1eb3a6dc28572cf8e033': 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();