summaryrefslogtreecommitdiff
path: root/InCallUI/tests/src/com/android/incallui/StatusBarNotifierTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'InCallUI/tests/src/com/android/incallui/StatusBarNotifierTest.java')
-rw-r--r--InCallUI/tests/src/com/android/incallui/StatusBarNotifierTest.java98
1 files changed, 98 insertions, 0 deletions
diff --git a/InCallUI/tests/src/com/android/incallui/StatusBarNotifierTest.java b/InCallUI/tests/src/com/android/incallui/StatusBarNotifierTest.java
new file mode 100644
index 000000000..4c55ddcc0
--- /dev/null
+++ b/InCallUI/tests/src/com/android/incallui/StatusBarNotifierTest.java
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2016 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.incallui;
+
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.MediumTest;
+
+import com.android.contacts.common.preference.ContactsPreferences;
+import com.android.incallui.ContactInfoCache.ContactCacheEntry;
+
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
+
+@MediumTest
+public class StatusBarNotifierTest extends AndroidTestCase {
+
+ private static final String NAME_PRIMARY = "Full Name";
+ private static final String NAME_ALTERNATIVE = "Name, Full";
+ private static final String LOCATION = "US";
+ private static final String NUMBER = "8006459001";
+
+ @Mock private Call mCall;
+ @Mock private ContactsPreferences mContactsPreferences;
+ private ContactCacheEntry mUnlockedContactInfo;
+ private ContactCacheEntry mLockedContactInfo;
+
+ @Override
+ public void setUp() throws Exception {
+ super.setUp();
+ MockitoAnnotations.initMocks(this);
+
+ Mockito.when(mContactsPreferences.getDisplayOrder())
+ .thenReturn(ContactsPreferences.DISPLAY_ORDER_PRIMARY);
+
+ // Unlocked all contact info is available
+ mUnlockedContactInfo = new ContactCacheEntry();
+ mUnlockedContactInfo.namePrimary = NAME_PRIMARY;
+ mUnlockedContactInfo.nameAlternative = NAME_ALTERNATIVE;
+ mUnlockedContactInfo.location = LOCATION;
+ mUnlockedContactInfo.number = NUMBER;
+
+ // Locked only number and location are available
+ mLockedContactInfo = new ContactCacheEntry();
+ mLockedContactInfo .location = LOCATION;
+ mLockedContactInfo .number = NUMBER;
+ }
+
+ @Override
+ public void tearDown() throws Exception {
+ super.tearDown();
+ ContactsPreferencesFactory.setTestInstance(null);
+ }
+
+ public void testGetContentTitle_ConferenceCall() {
+ ContactsPreferencesFactory.setTestInstance(null);
+ StatusBarNotifier statusBarNotifier = new StatusBarNotifier(mContext, null);
+
+ Mockito.when(mCall.isConferenceCall()).thenReturn(true);
+ Mockito.when(mCall.hasProperty(Mockito.anyInt())).thenReturn(false);
+
+ assertEquals(mContext.getResources().getString(R.string.card_title_conf_call),
+ statusBarNotifier.getContentTitle(null, mCall));
+ }
+
+ public void testGetContentTitle_Unlocked() {
+ ContactsPreferencesFactory.setTestInstance(mContactsPreferences);
+ StatusBarNotifier statusBarNotifier = new StatusBarNotifier(mContext, null);
+ assertEquals(NAME_PRIMARY, statusBarNotifier.getContentTitle(mUnlockedContactInfo, mCall));
+ }
+
+ public void testGetContentTitle_Locked() {
+ ContactsPreferencesFactory.setTestInstance(null);
+ StatusBarNotifier statusBarNotifier = new StatusBarNotifier(mContext, null);
+ assertEquals(NUMBER, statusBarNotifier.getContentTitle(mLockedContactInfo, mCall));
+ }
+
+ public void testGetContentTitle_EmptyPreferredName() {
+ ContactCacheEntry contactCacheEntry = new ContactCacheEntry();
+ contactCacheEntry.number = NUMBER;
+ StatusBarNotifier statusBarNotifier = new StatusBarNotifier(mContext, null);
+ assertEquals(NUMBER, statusBarNotifier.getContentTitle(contactCacheEntry, mCall));
+ }
+}