aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/utils/StringUtils.java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2014-03-07 00:38:05 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2014-03-07 00:38:05 -0800
commit21ad49b79ba91f081d5fe963714a398aaafe4c17 (patch)
treec16e16c143d1c2b37cd24307b85bccf721b78200 /java/src/com/android/inputmethod/latin/utils/StringUtils.java
parent1e7ab379d864275741ebaaa87a2231d7a5562317 (diff)
parentad04ed54600a0cd0927dc535e69936e61e0dd087 (diff)
downloadlatinime-21ad49b79ba91f081d5fe963714a398aaafe4c17.tar.gz
latinime-21ad49b79ba91f081d5fe963714a398aaafe4c17.tar.xz
latinime-21ad49b79ba91f081d5fe963714a398aaafe4c17.zip
am ad04ed54: Merge "Add ActualKeyboardBuilder for testing keyboard layouts"
* commit 'ad04ed54600a0cd0927dc535e69936e61e0dd087': Add ActualKeyboardBuilder for testing keyboard layouts
Diffstat (limited to 'java/src/com/android/inputmethod/latin/utils/StringUtils.java')
-rw-r--r--java/src/com/android/inputmethod/latin/utils/StringUtils.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/utils/StringUtils.java b/java/src/com/android/inputmethod/latin/utils/StringUtils.java
index e7932b5a6..b9d526b5f 100644
--- a/java/src/com/android/inputmethod/latin/utils/StringUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/StringUtils.java
@@ -507,4 +507,44 @@ public final class StringUtils {
return codePointCount(casedText) == 1
? casedText.codePointAt(0) : CODE_UNSPECIFIED;
}
+
+ @UsedForTesting
+ public static class Stringizer<E> {
+ public String stringize(final E element) {
+ return element != null ? element.toString() : "null";
+ }
+
+ @UsedForTesting
+ public final String join(final E[] array) {
+ return joinStringArray(toStringArray(array), null /* delimiter */);
+ }
+
+ @UsedForTesting
+ public final String join(final E[] array, final String delimiter) {
+ return joinStringArray(toStringArray(array), delimiter);
+ }
+
+ protected String[] toStringArray(final E[] array) {
+ final String[] stringArray = new String[array.length];
+ for (int index = 0; index < array.length; index++) {
+ stringArray[index] = stringize(array[index]);
+ }
+ return stringArray;
+ }
+
+ protected String joinStringArray(final String[] stringArray, final String delimiter) {
+ if (stringArray == null) {
+ return "null";
+ }
+ if (delimiter == null) {
+ return Arrays.toString(stringArray);
+ }
+ final StringBuilder sb = new StringBuilder();
+ for (int index = 0; index < stringArray.length; index++) {
+ sb.append(index == 0 ? "[" : delimiter);
+ sb.append(stringArray[index]);
+ }
+ return sb + "]";
+ }
+ }
}