summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorRégis Décamps <regisd@google.com>2014-09-26 15:42:43 +0200
committerRégis Décamps <regisd@google.com>2014-10-08 18:11:46 +0200
commit174d1591564d92c3d08e390a0f425ede483b09b0 (patch)
tree87b043892452221b2b1a7016230b4951f6ab50ce /tests
parentcdf77c1b0b32076ac9bf6ce81c4bd959f558ea1f (diff)
downloadandroid_packages_apps_UnifiedEmail-174d1591564d92c3d08e390a0f425ede483b09b0.tar.gz
android_packages_apps_UnifiedEmail-174d1591564d92c3d08e390a0f425ede483b09b0.tar.bz2
android_packages_apps_UnifiedEmail-174d1591564d92c3d08e390a0f425ede483b09b0.zip
Unit test for Utils
Adding a unit test for the bug fixed in Change I42ff06aab20c2a9800abe7daed8cf408eb3c2038 commit 1b7d532f160dca7a3850f50d431cc5bb5b92d85d Change-Id: I29ab714a100cd0b5356de3f4cdca82765afbefd9
Diffstat (limited to 'tests')
-rw-r--r--tests/src/com/android/mail/utils/UtilsTest.java77
1 files changed, 77 insertions, 0 deletions
diff --git a/tests/src/com/android/mail/utils/UtilsTest.java b/tests/src/com/android/mail/utils/UtilsTest.java
new file mode 100644
index 000000000..36fe6e5a8
--- /dev/null
+++ b/tests/src/com/android/mail/utils/UtilsTest.java
@@ -0,0 +1,77 @@
+/**
+ * Copyright (c) 2014, Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.mail.utils;
+
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+import android.text.SpannableString;
+import android.text.Spanned;
+import android.text.style.TextAppearanceSpan;
+
+/**
+ * Tests for {@link Utils}.
+ */
+@SmallTest
+public class UtilsTest extends AndroidTestCase {
+
+ public void testInsertStringWithStyle() {
+ final String entire = "Hello World!";
+ final String sub = "World";
+ final int appearance = android.R.style.TextAppearance_Holo_Small;
+ final Spanned actual = Utils.insertStringWithStyle(
+ getContext(), entire, sub, appearance);
+ final SpannableString expected = new SpannableString(entire);
+ expected.setSpan(new TextAppearanceSpan(getContext(), appearance), 6, 11, 0);
+
+ assertSpannedEquals(expected, actual);
+ }
+
+ public void testInsertStringWithStyle_substringNotInEntire() {
+ final String entire = "Hello World!";
+ final String sub = "foo";
+ final int appearance = android.R.style.TextAppearance_Holo_Small;
+ final Spanned actual = Utils.insertStringWithStyle(
+ getContext(), entire, sub, appearance);
+ final SpannableString expected = new SpannableString(entire);
+
+ assertSpannedEquals(expected, actual);
+ }
+
+ public static void assertSpannedEquals(Spanned expected, Spanned actual) {
+ assertEquals(expected.length(), actual.length());
+ assertEquals(expected.toString(), actual.toString());
+ if (expected.length() > 0) {
+ TextAppearanceSpan[] expectedSpans =
+ expected.getSpans(0, expected.length(), TextAppearanceSpan.class);
+ TextAppearanceSpan[] actualSpans =
+ actual.getSpans(0, actual.length(), TextAppearanceSpan.class);
+ assertEquals(expectedSpans.length, actualSpans.length);
+ for (int i = 0 ; i < expectedSpans.length ; i++) {
+ assertTextAppearanceSpanEquals(expectedSpans[i], actualSpans[i]);
+ }
+ }
+ }
+
+ public static void assertTextAppearanceSpanEquals(
+ TextAppearanceSpan expected, TextAppearanceSpan actual) {
+ assertEquals(expected.describeContents(), actual.describeContents());
+ assertEquals(expected.getTextStyle(), actual.getTextStyle());
+ assertEquals(expected.getTextColor(), actual.getTextColor());
+ assertEquals(expected.getLinkTextColor(), actual.getLinkTextColor());
+ assertEquals(expected.getFamily(), actual.getFamily());
+ assertEquals(expected.getTextSize(), actual.getTextSize());
+ }
+}