Commit 89881149 authored by Jian Li's avatar Jian Li Committed by Commit Bot

Fix 2 failed OfflineIndicatorController tests

Bug: 859849
Change-Id: I88b4dc690cef0d482bb9f4a49a9aa7b688e8ae45
Reviewed-on: https://chromium-review.googlesource.com/1136470Reviewed-by: default avatarPeter Williamson <petewil@chromium.org>
Commit-Queue: Jian Li <jianli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575410}
parent 580f2af5
...@@ -18,6 +18,7 @@ import android.support.v7.content.res.AppCompatResources; ...@@ -18,6 +18,7 @@ import android.support.v7.content.res.AppCompatResources;
import org.chromium.base.ApplicationStatus; import org.chromium.base.ApplicationStatus;
import org.chromium.base.ContextUtils; import org.chromium.base.ContextUtils;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.metrics.RecordHistogram; import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeActivity; import org.chromium.chrome.browser.ChromeActivity;
...@@ -46,6 +47,8 @@ public class OfflineIndicatorController ...@@ -46,6 +47,8 @@ public class OfflineIndicatorController
private static final int DURATION_MS = 10000; private static final int DURATION_MS = 10000;
private static boolean sSkipSystemCheckForTesting = false;
@SuppressLint("StaticFieldLeak") @SuppressLint("StaticFieldLeak")
private static OfflineIndicatorController sInstance; private static OfflineIndicatorController sInstance;
...@@ -120,6 +123,8 @@ public class OfflineIndicatorController ...@@ -120,6 +123,8 @@ public class OfflineIndicatorController
*/ */
@TargetApi(Build.VERSION_CODES.M) @TargetApi(Build.VERSION_CODES.M)
private boolean performSystemCheckForValidatedNetwork() { private boolean performSystemCheckForValidatedNetwork() {
if (sSkipSystemCheckForTesting) return false;
// NetworkCapabilities.NET_CAPABILITY_VALIDATED is only available on Marshmallow and // NetworkCapabilities.NET_CAPABILITY_VALIDATED is only available on Marshmallow and
// later versions. // later versions.
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return false; if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return false;
...@@ -200,4 +205,9 @@ public class OfflineIndicatorController ...@@ -200,4 +205,9 @@ public class OfflineIndicatorController
if (!mIsShowingOfflineIndicator) return; if (!mIsShowingOfflineIndicator) return;
snackbarManager.dismissSnackbars(this); snackbarManager.dismissSnackbars(this);
} }
@VisibleForTesting
static void skipSystemCheckForTesting() {
sSkipSystemCheckForTesting = true;
}
} }
...@@ -15,7 +15,6 @@ import org.junit.runner.RunWith; ...@@ -15,7 +15,6 @@ import org.junit.runner.RunWith;
import org.chromium.base.ThreadUtils; import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.CommandLineFlags; import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.DisableIf;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeActivity; import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.ChromeFeatureList; import org.chromium.chrome.browser.ChromeFeatureList;
...@@ -49,6 +48,7 @@ public class OfflineIndicatorControllerTest { ...@@ -49,6 +48,7 @@ public class OfflineIndicatorControllerTest {
@Before @Before
public void setUp() throws Exception { public void setUp() throws Exception {
OfflineIndicatorController.skipSystemCheckForTesting();
mActivityTestRule.startMainActivityOnBlankPage(); mActivityTestRule.startMainActivityOnBlankPage();
ThreadUtils.runOnUiThreadBlocking(() -> { ThreadUtils.runOnUiThreadBlocking(() -> {
if (!NetworkChangeNotifier.isInitialized()) { if (!NetworkChangeNotifier.isInitialized()) {
...@@ -93,7 +93,6 @@ public class OfflineIndicatorControllerTest { ...@@ -93,7 +93,6 @@ public class OfflineIndicatorControllerTest {
} }
@Test @Test
@DisableIf.Build(sdk_is_greater_than = 22, message = "https://crbug.com/859849")
@MediumTest @MediumTest
public void testHideOfflineIndicatorWhenBackToOnline() throws Exception { public void testHideOfflineIndicatorWhenBackToOnline() throws Exception {
EmbeddedTestServer testServer = EmbeddedTestServer testServer =
...@@ -110,15 +109,13 @@ public class OfflineIndicatorControllerTest { ...@@ -110,15 +109,13 @@ public class OfflineIndicatorControllerTest {
checkOfflineIndicatorVisibility(mActivityTestRule.getActivity(), true); checkOfflineIndicatorVisibility(mActivityTestRule.getActivity(), true);
// Reconnect the network. // Reconnect the network.
ThreadUtils.runOnUiThreadBlocking( setNetworkConnectivity(true);
() -> { NetworkChangeNotifier.forceConnectivityState(true); });
// Offline indicator should go away. // Offline indicator should go away.
checkOfflineIndicatorVisibility(mActivityTestRule.getActivity(), false); checkOfflineIndicatorVisibility(mActivityTestRule.getActivity(), false);
} }
@Test @Test
@DisableIf.Build(sdk_is_greater_than = 22, message = "https://crbug.com/859849")
@MediumTest @MediumTest
public void testDoNotShowOfflineIndicatorOnErrorPageWhenOffline() throws Exception { public void testDoNotShowOfflineIndicatorOnErrorPageWhenOffline() throws Exception {
EmbeddedTestServer testServer = EmbeddedTestServer testServer =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment