From b94e22bd3dae3749629c3d9e14bf52bfb7ce78a1 Mon Sep 17 00:00:00 2001 From: Jon Boekenoogen Date: Fri, 21 Dec 2012 16:18:50 -0800 Subject: Implement TextUtils.getTrimmedLength Change-Id: I792900386c63cee5124022d62d4c234ac8a8cf36 --- .../xtremelabs/robolectric/shadows/ShadowTextUtils.java | 17 +++++++++++++++++ .../xtremelabs/robolectric/shadows/TextUtilsTest.java | 9 +++++++++ 2 files changed, 26 insertions(+) diff --git a/src/main/java/com/xtremelabs/robolectric/shadows/ShadowTextUtils.java b/src/main/java/com/xtremelabs/robolectric/shadows/ShadowTextUtils.java index 077035139..abf5491fd 100644 --- a/src/main/java/com/xtremelabs/robolectric/shadows/ShadowTextUtils.java +++ b/src/main/java/com/xtremelabs/robolectric/shadows/ShadowTextUtils.java @@ -26,6 +26,23 @@ public class ShadowTextUtils { return (s == null || s.length() == 0); } + @Implementation + public static int getTrimmedLength(CharSequence s) { + int len = s.length(); + + int start = 0; + while (start < len && s.charAt(start) <= ' ') { + start++; + } + + int end = len; + while (end > start && s.charAt(end - 1) <= ' ') { + end--; + } + + return end - start; + } + @Implementation public static String join(CharSequence delimiter, Iterable tokens) { return Join.join((String) delimiter, (Collection) tokens); diff --git a/src/test/java/com/xtremelabs/robolectric/shadows/TextUtilsTest.java b/src/test/java/com/xtremelabs/robolectric/shadows/TextUtilsTest.java index ed5752714..bff513751 100644 --- a/src/test/java/com/xtremelabs/robolectric/shadows/TextUtilsTest.java +++ b/src/test/java/com/xtremelabs/robolectric/shadows/TextUtilsTest.java @@ -38,6 +38,15 @@ public class TextUtilsTest { assertThat(TextUtils.isDigitsOnly("123456"), equalTo(true)); assertThat(TextUtils.isDigitsOnly("124a56"), equalTo(false)); } + + @Test + public void testGetTrimmedLength() { + assertThat(TextUtils.getTrimmedLength("123456"), equalTo(6)); + assertThat(TextUtils.getTrimmedLength(" \n \t 123456"), equalTo(6)); + assertThat(TextUtils.getTrimmedLength("123456 \n \t "), equalTo(6)); + assertThat(TextUtils.getTrimmedLength(" \n \t 123456 \n \t "), equalTo(6)); + assertThat(TextUtils.getTrimmedLength(" \n \t \n \t "), equalTo(0)); + } @Test public void testSplit() { -- cgit v1.2.3