diff options
Diffstat (limited to 'tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java')
-rw-r--r-- | tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java | 304 |
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; - } -} |