diff --git a/packages/SystemUI/tests/Android.mk b/packages/SystemUI/tests/Android.mk index ecf174ff4b0b6..e96ea19f12365 100644 --- a/packages/SystemUI/tests/Android.mk +++ b/packages/SystemUI/tests/Android.mk @@ -44,7 +44,7 @@ LOCAL_STATIC_ANDROID_LIBRARIES := \ LOCAL_STATIC_JAVA_LIBRARIES := \ android-support-test \ - mockito-target-minus-junit4 \ + mockito-updated-target-minus-junit4 \ SystemUI-proto \ SystemUI-tags diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java index 136e7c0bc7a92..6fe776842eaf8 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java @@ -49,6 +49,11 @@ import java.util.ArrayList; import java.util.List; import static junit.framework.Assert.assertEquals; + +import static org.mockito.Matchers.any; +import static org.mockito.Matchers.anyBoolean; +import static org.mockito.Matchers.anyInt; +import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -282,14 +287,11 @@ public class NetworkControllerBaseTest extends SysuiTestCase { ArgumentCaptor dataOutArg = ArgumentCaptor.forClass(Boolean.class); Mockito.verify(mCallbackHandler, Mockito.atLeastOnce()).setMobileDataIndicators( - ArgumentCaptor.forClass(IconState.class).capture(), + any(), iconArg.capture(), - ArgumentCaptor.forClass(Integer.class).capture(), + anyInt(), typeIconArg.capture(), dataInArg.capture(), dataOutArg.capture(), - ArgumentCaptor.forClass(String.class).capture(), - ArgumentCaptor.forClass(String.class).capture(), - ArgumentCaptor.forClass(Boolean.class).capture(), - ArgumentCaptor.forClass(Integer.class).capture()); + anyString(), anyString(), anyBoolean(), anyInt()); IconState iconState = iconArg.getValue(); assertEquals("Visibility in, quick settings", visible, iconState.visible); assertEquals("Signal icon in, quick settings", icon, iconState.icon); @@ -307,21 +309,50 @@ public class NetworkControllerBaseTest extends SysuiTestCase { // TODO: Verify all fields. Mockito.verify(mCallbackHandler, Mockito.atLeastOnce()).setMobileDataIndicators( iconArg.capture(), - ArgumentCaptor.forClass(IconState.class).capture(), + any(), typeIconArg.capture(), - ArgumentCaptor.forClass(Integer.class).capture(), - ArgumentCaptor.forClass(Boolean.class).capture(), - ArgumentCaptor.forClass(Boolean.class).capture(), - ArgumentCaptor.forClass(String.class).capture(), - ArgumentCaptor.forClass(String.class).capture(), - ArgumentCaptor.forClass(Boolean.class).capture(), - ArgumentCaptor.forClass(Integer.class).capture()); + anyInt(), anyBoolean(), anyBoolean(), anyString(), anyString(), anyBoolean(), + anyInt()); IconState iconState = iconArg.getValue(); assertEquals("Data icon in status bar", typeIcon, (int) typeIconArg.getValue()); assertEquals("Visibility in status bar", visible, iconState.visible); } + protected void verifyLastMobileDataIndicators(boolean visible, int icon, int typeIcon, + boolean qsVisible, int qsIcon, int qsTypeIcon, boolean dataIn, boolean dataOut) { + ArgumentCaptor iconArg = ArgumentCaptor.forClass(IconState.class); + ArgumentCaptor typeIconArg = ArgumentCaptor.forClass(Integer.class); + ArgumentCaptor qsIconArg = ArgumentCaptor.forClass(IconState.class); + ArgumentCaptor qsTypeIconArg = ArgumentCaptor.forClass(Integer.class); + ArgumentCaptor dataInArg = ArgumentCaptor.forClass(Boolean.class); + ArgumentCaptor dataOutArg = ArgumentCaptor.forClass(Boolean.class); + + Mockito.verify(mCallbackHandler, Mockito.atLeastOnce()).setMobileDataIndicators( + iconArg.capture(), + qsIconArg.capture(), + typeIconArg.capture(), + qsTypeIconArg.capture(), + dataInArg.capture(), + dataOutArg.capture(), + anyString(), anyString(), anyBoolean(), anyInt()); + + IconState iconState = iconArg.getValue(); + + assertEquals("Data icon in status bar", typeIcon, (int) typeIconArg.getValue()); + assertEquals("Signal icon in status bar", icon, iconState.icon); + assertEquals("Visibility in status bar", visible, iconState.visible); + + iconState = qsIconArg.getValue(); + assertEquals("Visibility in quick settings", qsVisible, iconState.visible); + assertEquals("Signal icon in quick settings", qsIcon, iconState.icon); + assertEquals("Data icon in quick settings", qsTypeIcon, (int) qsTypeIconArg.getValue()); + assertEquals("Data direction in in quick settings", dataIn, + (boolean) dataInArg.getValue()); + assertEquals("Data direction out in quick settings", dataOut, + (boolean) dataOutArg.getValue()); + } + protected void assertNetworkNameEquals(String expected) { assertEquals("Network name", expected, mMobileSignalController.getState().networkName); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java index 55ec572518f98..4f961abffe6ad 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java @@ -29,8 +29,8 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { verifyLastMobileDataIndicators(true, TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH_ROAMING[1][DEFAULT_LEVEL], - TelephonyIcons.ROAMING_ICON); - verifyLastQsMobileDataIndicators(true, + TelephonyIcons.ROAMING_ICON, + true, TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH[1][DEFAULT_LEVEL], TelephonyIcons.QS_DATA_R, false, false); } @@ -183,14 +183,13 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { private void testDataActivity(int direction, boolean in, boolean out) { updateDataActivity(direction); - verifyLastMobileDataIndicators(true, DEFAULT_SIGNAL_STRENGTH, DEFAULT_ICON); - verifyLastQsMobileDataIndicators(true, DEFAULT_QS_SIGNAL_STRENGTH, - DEFAULT_QS_ICON, in, out); + verifyLastMobileDataIndicators(true, DEFAULT_SIGNAL_STRENGTH, DEFAULT_ICON, true, + DEFAULT_QS_SIGNAL_STRENGTH, DEFAULT_QS_ICON, in, out); } private void verifyDataIndicators(int dataIcon, int qsDataIcon) { - verifyLastMobileDataIndicators(true, DEFAULT_SIGNAL_STRENGTH, dataIcon); - verifyLastQsMobileDataIndicators(true, DEFAULT_QS_SIGNAL_STRENGTH, qsDataIcon, false, + verifyLastMobileDataIndicators(true, DEFAULT_SIGNAL_STRENGTH, dataIcon, + true, DEFAULT_QS_SIGNAL_STRENGTH, qsDataIcon, false, false); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerWifiTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerWifiTest.java index fc7f94274e5ad..ed32f65179c6d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerWifiTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerWifiTest.java @@ -17,6 +17,9 @@ import org.mockito.Mockito; import static junit.framework.Assert.assertEquals; +import static org.mockito.Matchers.any; +import static org.mockito.Matchers.anyBoolean; + @SmallTest @RunWith(AndroidJUnit4.class) public class NetworkControllerWifiTest extends NetworkControllerBaseTest { @@ -78,6 +81,9 @@ public class NetworkControllerWifiTest extends NetworkControllerBaseTest { verifyLastQsWifiIcon(true, true, WifiIcons.QS_WIFI_SIGNAL_STRENGTH[1][testLevel], testSsid); + // Set to different activity state first to ensure a callback happens. + setWifiActivity(WifiManager.DATA_ACTIVITY_IN); + setWifiActivity(WifiManager.DATA_ACTIVITY_NONE); verifyLastQsDataDirection(false, false); setWifiActivity(WifiManager.DATA_ACTIVITY_IN); @@ -148,8 +154,7 @@ public class NetworkControllerWifiTest extends NetworkControllerBaseTest { ArgumentCaptor outArg = ArgumentCaptor.forClass(Boolean.class); Mockito.verify(mCallbackHandler, Mockito.atLeastOnce()).setWifiIndicators( - Mockito.anyBoolean(), Mockito.any(IconState.class), Mockito.any(IconState.class), - inArg.capture(), outArg.capture(), Mockito.anyString()); + anyBoolean(), any(), any(), inArg.capture(), outArg.capture(), any()); assertEquals("WiFi data in, in quick settings", in, (boolean) inArg.getValue()); assertEquals("WiFi data out, in quick settings", out, (boolean) outArg.getValue()); } @@ -161,9 +166,7 @@ public class NetworkControllerWifiTest extends NetworkControllerBaseTest { ArgumentCaptor descArg = ArgumentCaptor.forClass(String.class); Mockito.verify(mCallbackHandler, Mockito.atLeastOnce()).setWifiIndicators( - enabledArg.capture(), Mockito.any(IconState.class), - iconArg.capture(), Mockito.anyBoolean(), - Mockito.anyBoolean(), + enabledArg.capture(), any(), iconArg.capture(), anyBoolean(), anyBoolean(), descArg.capture()); IconState iconState = iconArg.getValue(); assertEquals("WiFi enabled, in quick settings", enabled, (boolean) enabledArg.getValue()); @@ -176,8 +179,7 @@ public class NetworkControllerWifiTest extends NetworkControllerBaseTest { ArgumentCaptor iconArg = ArgumentCaptor.forClass(IconState.class); Mockito.verify(mCallbackHandler, Mockito.atLeastOnce()).setWifiIndicators( - Mockito.anyBoolean(), iconArg.capture(), Mockito.any(IconState.class), - Mockito.anyBoolean(), Mockito.anyBoolean(), Mockito.anyString()); + anyBoolean(), iconArg.capture(), any(), anyBoolean(), anyBoolean(), any()); IconState iconState = iconArg.getValue(); assertEquals("WiFi visible, in status bar", visible, iconState.visible); assertEquals("WiFi signal, in status bar", icon, iconState.icon);