1 package com.android.dialer.calllog; 2 3 import android.content.res.Resources; 4 import android.test.AndroidTestCase; 5 import android.test.suitebuilder.annotation.SmallTest; 6 import android.text.SpannableString; 7 import android.text.TextUtils; 8 import android.text.style.TtsSpan; 9 10 import com.android.dialer.PhoneCallDetails; 11 import com.android.dialer.R; 12 import com.android.contacts.common.util.ContactDisplayUtils; 13 14 /** 15 * Unit tests for {@link PhoneCallDetails}. 16 */ 17 public class PhoneCallDetailsTest extends AndroidTestCase { 18 private static final String VIA_NUMBER = "+16505551212"; 19 private static final String PHONE_ACCOUNT_LABEL = "TEST"; 20 21 private Resources mResources; 22 23 @Override 24 protected void setUp() throws Exception { 25 super.setUp(); 26 mResources = mContext.getResources(); 27 } 28 29 @SmallTest 30 public void testCreateAccountLabelDescription_NoViaNumberNoAccountLabel() { 31 CharSequence result = PhoneCallDetails.createAccountLabelDescription(mResources, "",""); 32 assertEquals("", result); 33 } 34 35 @SmallTest 36 public void testCreateAccountLabelDescription_ViaNumberAccountLabel() { 37 String msg = mResources.getString(R.string.description_via_number_phone_account, 38 PHONE_ACCOUNT_LABEL, VIA_NUMBER); 39 CharSequence accountNumberLabel = ContactDisplayUtils.getTelephoneTtsSpannable(msg, 40 VIA_NUMBER); 41 CharSequence result = PhoneCallDetails.createAccountLabelDescription(mResources, VIA_NUMBER, 42 PHONE_ACCOUNT_LABEL); 43 assertEquals(accountNumberLabel.toString(), result.toString()); 44 } 45 46 @SmallTest 47 public void testCreateAccountLabelDescription_ViaNumber() { 48 CharSequence viaNumberLabel = ContactDisplayUtils.getTtsSpannedPhoneNumber(mResources, 49 R.string.description_via_number, VIA_NUMBER); 50 CharSequence result = PhoneCallDetails.createAccountLabelDescription(mResources, VIA_NUMBER, 51 ""); 52 assertEquals(viaNumberLabel.toString(), result.toString()); 53 } 54 55 @SmallTest 56 public void testCreateAccountLabelDescription_AccountLabel() { 57 CharSequence accountLabel = TextUtils.expandTemplate( 58 mResources.getString(R.string.description_phone_account), PHONE_ACCOUNT_LABEL); 59 CharSequence result = PhoneCallDetails.createAccountLabelDescription(mResources, "", 60 PHONE_ACCOUNT_LABEL); 61 assertEquals(accountLabel, result); 62 } 63 } 64