diff options
author | Tyler Gunn <tgunn@google.com> | 2014-06-30 19:57:44 -0700 |
---|---|---|
committer | Tyler Gunn <tgunn@google.com> | 2014-06-30 19:57:44 -0700 |
commit | 778df2417da0c0186862b25519ce65ed633a9b6d (patch) | |
tree | 8ce37261ab90bf1f598d308f1b97079e8117159d /tests | |
parent | 90343852ba1309aa4471cead018d50761a13e131 (diff) | |
download | packages_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.java | 74 |
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)); + } +} |