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

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

Issue 1288593003: [BackgroundSync] Move read and write of shared preferences to an AsyncTask (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Sync as suffix instead of prefix Created 5 years, 4 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
« no previous file with comments | « content/public/android/java/src/org/chromium/content/browser/BackgroundSyncLauncherService.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
index c058953f650ee6e18541d94fd0b2d7cec17d6451..0fc40e3bc5b8abf7c9472b2e005d5ac9d938c151 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/BackgroundSyncLauncherTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/BackgroundSyncLauncherTest.java
@@ -6,7 +6,6 @@ package org.chromium.content.browser;
import android.content.Context;
import android.content.Intent;
-import android.content.SharedPreferences;
import android.net.ConnectivityManager;
import android.test.InstrumentationTestCase;
import android.test.suitebuilder.annotation.SmallTest;
@@ -14,6 +13,8 @@ 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}.
*/
@@ -21,8 +22,7 @@ public class BackgroundSyncLauncherTest extends InstrumentationTestCase {
private Context mContext;
private BackgroundSyncLauncher mLauncher;
private MockReceiver mLauncherServiceReceiver;
-
- private SharedPreferences mPrefs;
+ private Boolean mShouldLaunchResult;
static class MockReceiver extends BackgroundSyncLauncherService.Receiver {
private boolean mIsOnline = true;
@@ -56,9 +56,6 @@ public class BackgroundSyncLauncherTest extends InstrumentationTestCase {
mContext = new AdvancedMockContext(getInstrumentation().getTargetContext());
mLauncher = BackgroundSyncLauncher.create(mContext);
mLauncherServiceReceiver = new MockReceiver();
-
- mPrefs = mContext.getSharedPreferences(
- mContext.getPackageName() + "_preferences", Context.MODE_PRIVATE);
}
private void deleteLauncherInstance() {
@@ -72,6 +69,31 @@ public class BackgroundSyncLauncherTest extends InstrumentationTestCase {
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() {
@@ -83,55 +105,35 @@ public class BackgroundSyncLauncherTest extends InstrumentationTestCase {
@SmallTest
@Feature({"BackgroundSync"})
public void testDefaultNoLaunch() {
- assertFalse(BackgroundSyncLauncher.shouldLaunchWhenNextOnline(mPrefs));
+ assertFalse(shouldLaunchWhenNextOnlineSync());
}
@SmallTest
@Feature({"BackgroundSync"})
public void testSetLaunchWhenNextOnline() {
- assertFalse(BackgroundSyncLauncher.shouldLaunchWhenNextOnline(mPrefs));
- mLauncher.setLaunchWhenNextOnline(true);
- assertTrue(BackgroundSyncLauncher.shouldLaunchWhenNextOnline(mPrefs));
- mLauncher.setLaunchWhenNextOnline(false);
- assertFalse(BackgroundSyncLauncher.shouldLaunchWhenNextOnline(mPrefs));
+ assertFalse(shouldLaunchWhenNextOnlineSync());
+ mLauncher.setLaunchWhenNextOnline(mContext, true);
+ assertTrue(shouldLaunchWhenNextOnlineSync());
+ mLauncher.setLaunchWhenNextOnline(mContext, false);
+ assertFalse(shouldLaunchWhenNextOnlineSync());
}
@SmallTest
@Feature({"BackgroundSync"})
public void testNewLauncherDisablesNextOnline() {
- mLauncher.setLaunchWhenNextOnline(true);
- assertTrue(BackgroundSyncLauncher.shouldLaunchWhenNextOnline(mPrefs));
+ 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(BackgroundSyncLauncher.shouldLaunchWhenNextOnline(mPrefs));
- }
-
- @SmallTest
- @Feature({"BackgroundSync"})
- public void testFireWhenScheduled() {
- mLauncher.setLaunchWhenNextOnline(true);
- deleteLauncherInstance();
-
- mLauncherServiceReceiver.setOnline(true);
- startOnReceiveAndVerify(true);
- }
-
- @SmallTest
- @Feature({"BackgroundSync"})
- public void testNoFireWhenNotScheduled() {
- mLauncher.setLaunchWhenNextOnline(false);
- deleteLauncherInstance();
-
- mLauncherServiceReceiver.setOnline(true);
- startOnReceiveAndVerify(false);
+ assertFalse(shouldLaunchWhenNextOnlineSync());
}
@SmallTest
@Feature({"BackgroundSync"})
public void testNoFireWhenInstanceExists() {
- mLauncher.setLaunchWhenNextOnline(true);
+ mLauncher.setLaunchWhenNextOnline(mContext, true);
mLauncherServiceReceiver.setOnline(true);
startOnReceiveAndVerify(false);
@@ -142,7 +144,7 @@ public class BackgroundSyncLauncherTest extends InstrumentationTestCase {
@SmallTest
@Feature({"BackgroundSync"})
public void testReceiverOffline() {
- mLauncher.setLaunchWhenNextOnline(true);
+ mLauncher.setLaunchWhenNextOnline(mContext, true);
mLauncherServiceReceiver.setOnline(false);
deleteLauncherInstance();
startOnReceiveAndVerify(false);
@@ -151,7 +153,7 @@ public class BackgroundSyncLauncherTest extends InstrumentationTestCase {
@SmallTest
@Feature({"BackgroundSync"})
public void testReceiverOnline() {
- mLauncher.setLaunchWhenNextOnline(true);
+ mLauncher.setLaunchWhenNextOnline(mContext, true);
mLauncherServiceReceiver.setOnline(true);
deleteLauncherInstance();
startOnReceiveAndVerify(true);
« no previous file with comments | « content/public/android/java/src/org/chromium/content/browser/BackgroundSyncLauncherService.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698