OSDN Git Service

Import translations. DO NOT MERGE am: 8a25fb603a -s ours
[android-x86/packages-apps-Settings.git] / tests / unit / src / com / android / settings / wifi / WifiSettingsUiTest.java
index 3c464a7..a85d591 100644 (file)
@@ -49,6 +49,7 @@ import android.support.test.runner.AndroidJUnit4;
 
 import com.android.settings.Settings.WifiSettingsActivity;
 import com.android.settingslib.wifi.AccessPoint;
+import com.android.settingslib.wifi.TestAccessPointBuilder;
 import com.android.settingslib.wifi.WifiTracker;
 import com.android.settingslib.wifi.WifiTracker.WifiListener;
 import com.android.settingslib.wifi.WifiTrackerFactory;
@@ -84,8 +85,10 @@ public class WifiSettingsUiTest {
     private static final int TEST_RSSI = 123;
     private static final int TEST_NETWORK_ID = 1;
 
-    @Mock private WifiTracker mWifiTracker;
-    @Mock private WifiManager mWifiManager;
+    @Mock
+    private WifiTracker mWifiTracker;
+    @Mock
+    private WifiManager mWifiManager;
     private Context mContext;
     private WifiListener mWifiListener;
 
@@ -144,7 +147,7 @@ public class WifiSettingsUiTest {
 
     private void callOnWifiStateChanged(int state) {
         mActivityRule.getActivity().getMainThreadHandler()
-                .post( () -> mWifiListener.onWifiStateChanged(state) );
+                .post(() -> mWifiListener.onWifiStateChanged(state));
     }
 
     @Test
@@ -160,7 +163,7 @@ public class WifiSettingsUiTest {
     }
 
     @Test
-    public void noSavedNetworks_shouldNotShowSavedNetworksButton() {
+    public void noSavedNetworks_wifiEnabled_shouldNotShowSavedNetworksButton() {
         setWifiState(WifiManager.WIFI_STATE_ENABLED);
         when(mWifiTracker.getNumSavedNetworks()).thenReturn(0);
 
@@ -170,6 +173,16 @@ public class WifiSettingsUiTest {
     }
 
     @Test
+    public void noSavedNetworks_wifiDisabled_shouldNotShowSavedNetworksButton() {
+        setWifiState(WifiManager.WIFI_STATE_DISABLED);
+        when(mWifiTracker.getNumSavedNetworks()).thenReturn(0);
+
+        launchActivity();
+
+        onView(withText(SAVED_NETWORKS)).check(doesNotExist());
+    }
+
+    @Test
     public void savedNetworksExist_shouldShowSavedNetworksButton() {
         setWifiState(WifiManager.WIFI_STATE_ENABLED);
         when(mWifiTracker.getNumSavedNetworks()).thenReturn(1);
@@ -229,4 +242,34 @@ public class WifiSettingsUiTest {
         getInstrumentation().callActivityOnStart(activity);
         verify(mWifiTracker, atMost(1)).forceUpdate();
     }
+
+    @Test
+    public void changingSecurityStateOnApShouldNotCauseMultipleListItems() {
+        setWifiState(WifiManager.WIFI_STATE_ENABLED);
+        TestAccessPointBuilder builder = new TestAccessPointBuilder(mContext)
+                .setSsid(TEST_SSID).setSecurity(AccessPoint.SECURITY_NONE);
+        AccessPoint open = builder.build();
+
+        builder.setSecurity(AccessPoint.SECURITY_EAP);
+        AccessPoint eap = builder.build();
+
+        builder.setSecurity(AccessPoint.SECURITY_WEP);
+        AccessPoint wep = builder.build();
+
+        // Return a different security state each time getAccessPoints is invoked
+        when(mWifiTracker.getAccessPoints())
+                .thenReturn(Lists.newArrayList(open, eap))
+                .thenReturn(Lists.newArrayList(eap))
+                .thenReturn(Lists.newArrayList(wep));
+
+        launchActivity();
+
+        onView(withText(TEST_SSID)).check(matches(isDisplayed()));
+
+        mWifiListener.onAccessPointsChanged();
+        onView(withText(TEST_SSID)).check(matches(isDisplayed()));
+
+        mWifiListener.onAccessPointsChanged();
+        onView(withText(TEST_SSID)).check(matches(isDisplayed()));
+    }
 }