summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTyler Gunn <tgunn@google.com>2014-06-30 19:57:44 -0700
committerTyler Gunn <tgunn@google.com>2014-06-30 19:57:44 -0700
commit778df2417da0c0186862b25519ce65ed633a9b6d (patch)
tree8ce37261ab90bf1f598d308f1b97079e8117159d /tests
parent90343852ba1309aa4471cead018d50761a13e131 (diff)
downloadpackages_providers_ContactsProvider-778df2417da0c0186862b25519ce65ed633a9b6d.zip
packages_providers_ContactsProvider-778df2417da0c0186862b25519ce65ed633a9b6d.tar.gz
packages_providers_ContactsProvider-778df2417da0c0186862b25519ce65ed633a9b6d.tar.bz2
Changing call log adapter to normalize phone number where possible.
Bug: 15616526 Change-Id: Id8fe981a622bdea786a48cbadf9ff08289ae3987
Diffstat (limited to 'tests')
-rw-r--r--tests/src/com/android/providers/contacts/CallLogInsertionHelperTest.java74
1 files changed, 74 insertions, 0 deletions
diff --git a/tests/src/com/android/providers/contacts/CallLogInsertionHelperTest.java b/tests/src/com/android/providers/contacts/CallLogInsertionHelperTest.java
new file mode 100644
index 0000000..7bb88a8
--- /dev/null
+++ b/tests/src/com/android/providers/contacts/CallLogInsertionHelperTest.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * 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.providers.contacts;
+
+import android.content.ContentValues;
+import android.provider.CallLog.Calls;
+
+import android.test.AndroidTestCase;
+
+/**
+ * Test cases for {@link com.android.providers.contacts.DefaultCallLogInsertionHelper}.
+ */
+public class CallLogInsertionHelperTest extends AndroidTestCase {
+
+ /**
+ * The default insertion helper under test.
+ */
+ private CallLogInsertionHelper mInsertionHelper =
+ DefaultCallLogInsertionHelper.getInstance(this.getContext());
+
+ /**
+ * Tests cases where valid, normalizable phone numbers are provided.
+ */
+ public void testValidNumber() {
+ checkNormalization("650-555-1212", "+16505551212");
+ checkNormalization("1-650-555-1212", "+16505551212");
+ checkNormalization("+16505551212", "+16505551212");
+ checkNormalization("011-81-3-6384-9000", "+81363849000");
+ }
+
+ /**
+ * Test cases where invalid unformatted numbers are entered.
+ */
+ public void testInvalidNumber() {
+ checkNormalization("", null);
+ // Invalid area code.
+ checkNormalization("663-555-1212", null);
+ // No area code.
+ checkNormalization("555-1212", null);
+ // Number as it should be dialed from Japan.
+ checkNormalization("03-6384-9000", null);
+ // SIP address
+ checkNormalization("test@sip.org", null);
+ }
+
+ /**
+ * Runs the DefaultCallLogInsertionHelper to determine if it produces the correct normalized
+ * phone number.
+ *
+ * @param number The unformatted phone number.
+ * @param expectedNormalized The expected normalized number.
+ */
+ private void checkNormalization(String number, String expectedNormalized) {
+ ContentValues values = new ContentValues();
+ values.put(Calls.NUMBER, number);
+ mInsertionHelper.addComputedValues(values);
+
+ assertEquals(expectedNormalized, values.getAsString(Calls.CACHED_NORMALIZED_NUMBER));
+ }
+}