diff options
author | 2013-04-17 19:46:57 -0700 | |
---|---|---|
committer | 2013-04-17 19:46:57 -0700 | |
commit | ba5e450e401564d0528ec4ad4884244e91fa01cf (patch) | |
tree | e4c6e2a671c8fc6894da75ff3f7e25a59302fc24 | |
parent | e157fa502f2329b94fd9ac5844eb33a21c37019e (diff) | |
parent | 69ffa8b0ff646591edcc1eb3a6dc28572cf8e033 (diff) | |
download | latinime-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.java | 8 | ||||
-rw-r--r-- | tests/src/com/android/inputmethod/latin/makedict/BinaryDictIOTests.java | 5 |
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(); |