summaryrefslogtreecommitdiff
path: root/tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java')
-rw-r--r--tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java304
1 files changed, 0 insertions, 304 deletions
diff --git a/tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java b/tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java
deleted file mode 100644
index daba42857..000000000
--- a/tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
- * Copyright (C) 2011 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.dialer.calllog;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.provider.CallLog.Calls;
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.MediumTest;
-import android.view.View;
-
-import com.android.contacts.common.CallUtil;
-import com.android.dialer.PhoneCallDetails;
-import com.android.dialer.R;
-import com.android.dialer.calllog.calllogcache.TestTelecomCallLogCache;
-import com.android.dialer.util.AppCompatConstants;
-
-/**
- * Unit tests for {@link CallLogListItemHelper}.
- */
-@MediumTest
-public class CallLogListItemHelperTest extends AndroidTestCase {
- /** A test phone number for phone calls. */
- private static final String TEST_NUMBER = "14125555555";
- /** The formatted version of {@link #TEST_NUMBER}. */
- private static final String TEST_FORMATTED_NUMBER = "1-412-255-5555";
- /** A test date value for phone calls. */
- private static final long TEST_DATE = 1300000000;
- /** A test duration value for phone calls. */
- private static final long TEST_DURATION = 62300;
- /** A test voicemail number. */
- private static final String TEST_VOICEMAIL_NUMBER = "123";
- /** The country ISO name used in the tests. */
- private static final String TEST_COUNTRY_ISO = "US";
- /** The geocoded location used in the tests. */
- private static final String TEST_GEOCODE = "United States";
-
- /** The object under test. */
- private CallLogListItemHelper mHelper;
-
- /** The views used in the tests. */
- private CallLogListItemViewHolder mViewHolder;
-
- private Context mContext;
- private Resources mResources;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- mContext = getContext();
- mResources = mContext.getResources();
- final TestTelecomCallLogCache phoneUtils =
- new TestTelecomCallLogCache(mContext, TEST_VOICEMAIL_NUMBER, "");
- PhoneCallDetailsHelper phoneCallDetailsHelper =
- new PhoneCallDetailsHelper(mContext, mResources, phoneUtils);
- mHelper = new CallLogListItemHelper(phoneCallDetailsHelper, mResources, phoneUtils);
- mViewHolder = CallLogListItemViewHolder.createForTest(mContext);
-
- }
-
- @Override
- protected void tearDown() throws Exception {
- mHelper = null;
- mViewHolder = null;
- super.tearDown();
- }
-
- public void testSetPhoneCallDetails() {
- setPhoneCallDetailsWithNumber("12125551234", Calls.PRESENTATION_ALLOWED,
- "1-212-555-1234");
- assertEquals(View.VISIBLE, mViewHolder.primaryActionButtonView.getVisibility());
- }
-
- public void testSetPhoneCallDetails_Unknown() {
- setPhoneCallDetailsWithNumber("", Calls.PRESENTATION_UNKNOWN, "");
- assertNoCallIntent();
- }
-
- public void testSetPhoneCallDetails_Private() {
- setPhoneCallDetailsWithNumber("", Calls.PRESENTATION_RESTRICTED, "");
- assertNoCallIntent();
- }
-
- public void testSetPhoneCallDetails_Payphone() {
- setPhoneCallDetailsWithNumber("", Calls.PRESENTATION_PAYPHONE, "");
- assertNoCallIntent();
- }
-
- public void testSetPhoneCallDetails_VoicemailNumber() {
- setPhoneCallDetailsWithNumber(TEST_VOICEMAIL_NUMBER,
- Calls.PRESENTATION_ALLOWED, TEST_VOICEMAIL_NUMBER);
- assertEquals(View.VISIBLE, mViewHolder.voicemailPlaybackView.getVisibility());
- }
-
- public void testSetPhoneCallDetails_ReadVoicemail() {
- PhoneCallDetails details =
- getPhoneCallDetailsWithTypes(AppCompatConstants.CALLS_VOICEMAIL_TYPE);
- mHelper.setPhoneCallDetails(mViewHolder, details);
- assertEquals(View.VISIBLE, mViewHolder.voicemailPlaybackView.getVisibility());
- }
-
- public void testSetPhoneCallDetails_UnreadVoicemail() {
- PhoneCallDetails details =
- getPhoneCallDetailsWithTypes(AppCompatConstants.CALLS_VOICEMAIL_TYPE);
- mHelper.setPhoneCallDetails(mViewHolder, details);
- assertEquals(View.VISIBLE, mViewHolder.voicemailPlaybackView.getVisibility());
- }
-
- public void testSetPhoneCallDetails_VoicemailFromUnknown() {
- setPhoneCallDetailsWithNumberAndType("", Calls.PRESENTATION_UNKNOWN,
- "", AppCompatConstants.CALLS_VOICEMAIL_TYPE);
- assertEquals(View.VISIBLE, mViewHolder.voicemailPlaybackView.getVisibility());
- }
-
- /**
- * Test getCallDescriptionID method used to get the accessibility description for calls.
- */
- public void testGetCallDescriptionID_Answered() {
- int[] callTypes = new int[] {AppCompatConstants.CALLS_INCOMING_TYPE};
- assertEquals(R.string.description_incoming_answered_call,
- mHelper.getCallDescriptionStringID(callTypes, true));
- }
-
- /**
- * Test getCallDescriptionID method used to get the accessibility description for calls.
- */
- public void testGetCallDescriptionID_Missed() {
- int[] callTypes = new int[] {AppCompatConstants.CALLS_MISSED_TYPE};
- assertEquals(R.string.description_incoming_missed_call,
- mHelper.getCallDescriptionStringID(callTypes, true));
- }
-
- /**
- * Test getCallDescriptionID method used to get the accessibility description for calls.
- * Test case where an outgoing call is made to a known number and there is a history of
- * only a single call for this caller.
- */
- public void testGetCallDescriptionID_OutgoingSingle() {
- int[] callTypes = new int[] {AppCompatConstants.CALLS_OUTGOING_TYPE};
- assertEquals(R.string.description_outgoing_call,
- mHelper.getCallDescriptionStringID(callTypes, true));
- }
-
- /**
- * Test getCallDescriptionID method used to get the accessibility description for calls.
- * Test case where an outgoing call is made to a known number and there is a history of
- * many calls for this caller.
- */
- public void testGetCallDescriptionID_OutgoingMultiple() {
- int[] callTypes = new int[] {
- AppCompatConstants.CALLS_OUTGOING_TYPE,
- AppCompatConstants.CALLS_OUTGOING_TYPE
- };
- assertEquals(R.string.description_outgoing_call,
- mHelper.getCallDescriptionStringID(callTypes, true));
- }
-
- /**
- * Test getCallDescription method used to get the accessibility description for calls.
- * For read voicemail calls, we should have "Voicemail" in the description.
- */
- public void testGetCallDescriptionID_Voicemail() {
- int[] callTypes = new int[] {AppCompatConstants.CALLS_VOICEMAIL_TYPE};
- assertEquals(R.string.description_read_voicemail,
- mHelper.getCallDescriptionStringID(callTypes, true));
- }
-
- /**
- * Test getCallDescription method used to get the accessibility description for calls.
- * For unread voicemail calls, we should have "Unread voicemail" in the description.
- */
- public void testGetCallDescriptionID_UnreadVoicemail() {
- int[] callTypes = new int[] {AppCompatConstants.CALLS_VOICEMAIL_TYPE};
- assertEquals(R.string.description_unread_voicemail,
- mHelper.getCallDescriptionStringID(callTypes, false));
- }
-
- /**
- * Test getCallDescription method used to get the accessibility description for calls.
- * Test that the "X calls" message is not present if there is only a single call.
- */
- public void testGetCallDescription_NumCallsSingle() {
- PhoneCallDetails details =
- getPhoneCallDetailsWithTypes(AppCompatConstants.CALLS_VOICEMAIL_TYPE);
- CharSequence description = mHelper.getCallDescription(details);
-
- // Rather than hard coding the "X calls" string message, we'll generate it with an empty
- // number of calls, and trim the resulting string. This gets us just the word "calls",
- // and ensures any trivial changes to that string resource won't unnecessarily break
- // the unit test.
- assertFalse(description.toString()
- .contains(this.mResources.getString(R.string.description_num_calls, "").trim()));
- }
-
- /**
- * Test getCallDescription method used to get the accessibility description for calls.
- * Test that the "X calls" message is present if there are many calls.
- */
- public void testGetCallDescription_NumCallsMultiple() {
- PhoneCallDetails details = getPhoneCallDetailsWithTypes(
- AppCompatConstants.CALLS_VOICEMAIL_TYPE, AppCompatConstants.CALLS_INCOMING_TYPE);
- CharSequence description = mHelper.getCallDescription(details);
- assertTrue(description.toString()
- .contains(this.mResources.getString(R.string.description_num_calls, 2)));
- }
-
- /**
- * Test getCallDescription method used to get the accessibility description for calls.
- * Test that the "Video call." message is present if the call had video capability.
- */
- public void testGetCallDescription_Video() {
- PhoneCallDetails details = getPhoneCallDetailsWithTypes(
- AppCompatConstants.CALLS_INCOMING_TYPE, AppCompatConstants.CALLS_INCOMING_TYPE);
- details.features = Calls.FEATURES_VIDEO;
-
- CharSequence description = mHelper.getCallDescription(details);
- final boolean isVideoEnabled = CallUtil.isVideoEnabled(getContext());
- assertTrue(description.toString()
- .contains(this.mResources.getString(
- isVideoEnabled
- ? R.string.description_video_call
- : R.string.description_num_calls,
- 2)));
- }
-
- /** Asserts that the primary action view does not have a call intent. */
- private void assertNoCallIntent() {
- Object intentProvider = mViewHolder.primaryActionView.getTag();
- // The intent provider should be null as there is no ability to make a call.
- assertNull(intentProvider);
- }
-
- /** Sets the details of a phone call using the specified phone number. */
- private void setPhoneCallDetailsWithNumber(String number,
- int presentation, String formattedNumber) {
- setPhoneCallDetailsWithNumberTypeAndPostDialDigits(number, "", presentation,
- formattedNumber, Calls.INCOMING_TYPE);
- }
-
- /** Sets the details of a phone call using the specified phone number. */
- private void setPhoneCallDetailsWithNumberAndType(String number,
- int presentation, String formattedNumber, int callType) {
- setPhoneCallDetailsWithNumberTypeAndPostDialDigits(number, "", presentation,
- formattedNumber, callType);
- }
-
- /** Sets the details of a phone call using the specified phone number and post-dial digits. */
- private void setPhoneCallDetailsWithNumberTypeAndPostDialDigits(String number,
- String postDialDigits, int presentation, String formattedNumber, int callType) {
- PhoneCallDetails details = getPhoneCallDetails(
- number, postDialDigits, presentation, formattedNumber);
- details.callTypes = new int[] {callType};
- mHelper.setPhoneCallDetails(mViewHolder, details);
- }
-
- private PhoneCallDetails getPhoneCallDetails(
- String number, String postDialDigits, int presentation, String formattedNumber) {
- PhoneCallDetails details = new PhoneCallDetails(
- mContext,
- number,
- presentation,
- formattedNumber,
- postDialDigits,
- false /* isVoicemail */);
- setDefaultDetails(details);
- return details;
- }
-
- /** Returns the details of a phone call using the specified call type. */
- private PhoneCallDetails getPhoneCallDetailsWithTypes(int... types) {
- PhoneCallDetails details = new PhoneCallDetails(
- mContext,
- TEST_NUMBER,
- Calls.PRESENTATION_ALLOWED,
- TEST_FORMATTED_NUMBER,
- "",
- false /* isVoicemail */);
- setDefaultDetails(details);
- details.callTypes = types;
- return details;
- }
-
- private void setDefaultDetails(PhoneCallDetails details) {
- details.callTypes = new int[] {Calls.INCOMING_TYPE};
- details.countryIso = TEST_COUNTRY_ISO;
- details.date = TEST_DATE;
- details.duration = TEST_DURATION;
- details.geocode = TEST_GEOCODE;
- }
-}