aboutsummaryrefslogtreecommitdiff
path: root/tests/src/com/android/providers/contacts/CallLogInsertionHelperTest.java
blob: eed6a848fda44e9c2fc66f608ec76685b28c813f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
 * 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;

/**
 * Test cases for {@link com.android.providers.contacts.DefaultCallLogInsertionHelper}.
 */
public class CallLogInsertionHelperTest extends FixedAndroidTestCase {

    /**
     * The default insertion helper under test.
     */
    private CallLogInsertionHelper mInsertionHelper =
            DefaultCallLogInsertionHelper.getTestInstance(
                    this.getTestContext(), new MockCountryMonitor(this.getTestContext()));
    /**
     * 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));
    }
}