Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Unified Diff: content/public/android/javatests/src/org/chromium/content/browser/BackgroundSyncLauncherTest.java

Issue 1324173002: [Background Sync] Use GcmNetworkManager to start the browser for sync events. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@bgsync-fix-background5
Patch Set: Addressing comments from PS#25 Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/public/android/javatests/src/org/chromium/content/browser/BackgroundSyncLauncherTest.java
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/BackgroundSyncLauncherTest.java b/content/public/android/javatests/src/org/chromium/content/browser/BackgroundSyncLauncherTest.java
deleted file mode 100644
index 0fc40e3bc5b8abf7c9472b2e005d5ac9d938c151..0000000000000000000000000000000000000000
--- a/content/public/android/javatests/src/org/chromium/content/browser/BackgroundSyncLauncherTest.java
+++ /dev/null
@@ -1,168 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.content.browser;
-
-import android.content.Context;
-import android.content.Intent;
-import android.net.ConnectivityManager;
-import android.test.InstrumentationTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
-
-import org.chromium.base.test.util.AdvancedMockContext;
-import org.chromium.base.test.util.Feature;
-
-import java.util.concurrent.Semaphore;
-
-/**
- * Tests {@link BackgroundSyncLauncherService} and {@link BackgroundSyncLauncherService.Receiver}.
- */
-public class BackgroundSyncLauncherTest extends InstrumentationTestCase {
- private Context mContext;
- private BackgroundSyncLauncher mLauncher;
- private MockReceiver mLauncherServiceReceiver;
- private Boolean mShouldLaunchResult;
-
- static class MockReceiver extends BackgroundSyncLauncherService.Receiver {
- private boolean mIsOnline = true;
- private boolean mDidStartService;
-
- public void setOnline(boolean online) {
- mIsOnline = online;
- }
-
- @Override
- protected boolean isOnline(Context context) {
- return mIsOnline;
- }
-
- @Override
- protected void startService(Context context) {
- startServiceImpl();
- }
-
- private void startServiceImpl() {
- mDidStartService = true;
- }
-
- protected void checkExpectations(boolean expectedStartService) {
- assertEquals("StartedService", expectedStartService, mDidStartService);
- }
- }
-
- @Override
- protected void setUp() throws Exception {
- mContext = new AdvancedMockContext(getInstrumentation().getTargetContext());
- mLauncher = BackgroundSyncLauncher.create(mContext);
- mLauncherServiceReceiver = new MockReceiver();
- }
-
- private void deleteLauncherInstance() {
- mLauncher.destroy();
- mLauncher = null;
- }
-
- private void startOnReceiveAndVerify(boolean shouldStart) {
- mLauncherServiceReceiver.onReceive(
- mContext, new Intent(ConnectivityManager.CONNECTIVITY_ACTION));
- mLauncherServiceReceiver.checkExpectations(shouldStart);
- }
-
- private Boolean shouldLaunchWhenNextOnlineSync() {
- mShouldLaunchResult = false;
-
- // Use a semaphore to wait for the callback to be called.
- final Semaphore semaphore = new Semaphore(0);
-
- BackgroundSyncLauncher.ShouldLaunchCallback callback =
- new BackgroundSyncLauncher.ShouldLaunchCallback() {
- @Override
- public void run(Boolean shouldLaunch) {
- mShouldLaunchResult = shouldLaunch;
- semaphore.release();
- }
- };
-
- BackgroundSyncLauncher.shouldLaunchWhenNextOnline(mContext, callback);
- try {
- // Wait on the callback to be called.
- semaphore.acquire();
- } catch (InterruptedException e) {
- fail("Failed to acquire semaphore");
- }
- return mShouldLaunchResult;
- }
-
- @SmallTest
- @Feature({"BackgroundSync"})
- public void testHasInstance() {
- assertTrue(BackgroundSyncLauncher.hasInstance());
- mLauncher.destroy();
- assertFalse(BackgroundSyncLauncher.hasInstance());
- }
-
- @SmallTest
- @Feature({"BackgroundSync"})
- public void testDefaultNoLaunch() {
- assertFalse(shouldLaunchWhenNextOnlineSync());
- }
-
- @SmallTest
- @Feature({"BackgroundSync"})
- public void testSetLaunchWhenNextOnline() {
- assertFalse(shouldLaunchWhenNextOnlineSync());
- mLauncher.setLaunchWhenNextOnline(mContext, true);
- assertTrue(shouldLaunchWhenNextOnlineSync());
- mLauncher.setLaunchWhenNextOnline(mContext, false);
- assertFalse(shouldLaunchWhenNextOnlineSync());
- }
-
- @SmallTest
- @Feature({"BackgroundSync"})
- public void testNewLauncherDisablesNextOnline() {
- mLauncher.setLaunchWhenNextOnline(mContext, true);
- assertTrue(shouldLaunchWhenNextOnlineSync());
-
- // Simulate restarting the browser by deleting the launcher and creating a new one.
- deleteLauncherInstance();
- mLauncher = BackgroundSyncLauncher.create(mContext);
- assertFalse(shouldLaunchWhenNextOnlineSync());
- }
-
- @SmallTest
- @Feature({"BackgroundSync"})
- public void testNoFireWhenInstanceExists() {
- mLauncher.setLaunchWhenNextOnline(mContext, true);
- mLauncherServiceReceiver.setOnline(true);
- startOnReceiveAndVerify(false);
-
- deleteLauncherInstance();
- startOnReceiveAndVerify(true);
- }
-
- @SmallTest
- @Feature({"BackgroundSync"})
- public void testReceiverOffline() {
- mLauncher.setLaunchWhenNextOnline(mContext, true);
- mLauncherServiceReceiver.setOnline(false);
- deleteLauncherInstance();
- startOnReceiveAndVerify(false);
- }
-
- @SmallTest
- @Feature({"BackgroundSync"})
- public void testReceiverOnline() {
- mLauncher.setLaunchWhenNextOnline(mContext, true);
- mLauncherServiceReceiver.setOnline(true);
- deleteLauncherInstance();
- startOnReceiveAndVerify(true);
- }
-
- @SmallTest
- @Feature({"BackgroundSync"})
- public void testStartingService() {
- Intent serviceIntent = new Intent(mContext, BackgroundSyncLauncherService.class);
- MockReceiver.startWakefulService(mContext, serviceIntent);
- }
-}

Powered by Google App Engine
This is Rietveld 408576698