Merge "Mock WifiP2pManager.class for WifiP2pSettingsTest"

This commit is contained in:
TreeHugger Robot
2022-01-24 02:49:09 +00:00
committed by Android (Google) Code Review

View File

@@ -49,7 +49,6 @@ import com.android.settings.testutils.shadow.ShadowInteractionJankMonitor;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import org.junit.Before; import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
@@ -68,7 +67,7 @@ public class WifiP2pSettingsTest {
private Context mContext; private Context mContext;
private FragmentActivity mActivity; private FragmentActivity mActivity;
private WifiP2pSettings mFragment; private TestWifiP2pSettings mFragment;
@Mock @Mock
public WifiP2pManager mWifiP2pManager; public WifiP2pManager mWifiP2pManager;
@@ -86,8 +85,10 @@ public class WifiP2pSettingsTest {
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mContext = RuntimeEnvironment.application; mContext = RuntimeEnvironment.application;
TestWifiP2pSettings.sMockWifiP2pManager = mWifiP2pManager;
mActivity = Robolectric.setupActivity(FragmentActivity.class); mActivity = Robolectric.setupActivity(FragmentActivity.class);
mFragment = new WifiP2pSettings(); mFragment = new TestWifiP2pSettings();
mFragment.mWifiP2pManager = mWifiP2pManager; mFragment.mWifiP2pManager = mWifiP2pManager;
doReturn(mChannel).when(mWifiP2pManager).initialize(any(), any(), any()); doReturn(mChannel).when(mWifiP2pManager).initialize(any(), any(), any());
FragmentManager fragmentManager = mActivity.getSupportFragmentManager(); FragmentManager fragmentManager = mActivity.getSupportFragmentManager();
@@ -504,7 +505,6 @@ public class WifiP2pSettingsTest {
} }
@Test @Test
@Ignore
public void onActivityCreate_withNullP2pManager_shouldGetP2pManagerAgain() { public void onActivityCreate_withNullP2pManager_shouldGetP2pManagerAgain() {
mFragment.mChannel = null; // Reset channel to re-test onActivityCreated flow mFragment.mChannel = null; // Reset channel to re-test onActivityCreated flow
mFragment.mWifiP2pManager = null; mFragment.mWifiP2pManager = null;
@@ -542,4 +542,13 @@ public class WifiP2pSettingsTest {
wifiP2pDevice.deviceName = "testName"; wifiP2pDevice.deviceName = "testName";
mWifiP2pPeer.device = wifiP2pDevice; mWifiP2pPeer.device = wifiP2pDevice;
} }
public static class TestWifiP2pSettings extends WifiP2pSettings {
static WifiP2pManager sMockWifiP2pManager;
@Override
protected Object getSystemService(final String name) {
if (Context.WIFI_P2P_SERVICE.equals(name)) return sMockWifiP2pManager;
return getActivity().getSystemService(name);
}
}
} }