Implement the Copyable interface to PhoneNumberPreferenceController

Change-Id: I70085cffe13047ac808d1bf08a467f693b1d8737
Fixes: 118398321
Test: manual and robotests
This commit is contained in:
Stanley Wang
2018-12-12 15:24:21 +08:00
parent d4dfba4237
commit 3f80d1b64b
7 changed files with 51 additions and 8 deletions

View File

@@ -16,6 +16,8 @@
package com.android.settings.deviceinfo;
import static android.content.Context.CLIPBOARD_SERVICE;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyInt;
@@ -24,6 +26,7 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.ClipboardManager;
import android.content.Context;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
@@ -43,6 +46,9 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import java.util.ArrayList;
import java.util.List;
@RunWith(RobolectricTestRunner.class)
public class PhoneNumberPreferenceControllerTest {
@@ -146,4 +152,20 @@ public class PhoneNumberPreferenceControllerTest {
public void isSliceable_shouldBeTrue() {
assertThat(mController.isSliceable()).isTrue();
}
@Test
public void copy_shouldCopyPhoneNumberToClipboard() {
final List<SubscriptionInfo> list = new ArrayList<>();
list.add(mSubscriptionInfo);
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(list);
final String phoneNumber = "1111111111";
doReturn(phoneNumber).when(mController).getFormattedPhoneNumber(mSubscriptionInfo);
mController.copy();
final ClipboardManager clipboard = (ClipboardManager) mContext.getSystemService(
CLIPBOARD_SERVICE);
final CharSequence data = clipboard.getPrimaryClip().getItemAt(0).getText();
assertThat(phoneNumber.contentEquals(data)).isTrue();
}
}