| Index: chrome/android/javatests/src/org/chromium/chrome/browser/ChromeBackgroundServiceTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/ChromeBackgroundServiceTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/ChromeBackgroundServiceTest.java
|
| index 2a176d9e7f374e9b3fa18abdfcc88c3c88191a6b..d07b2bf26ce414b4f29b1656421cd347d16efe65 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/ChromeBackgroundServiceTest.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/ChromeBackgroundServiceTest.java
|
| @@ -16,6 +16,7 @@ import org.chromium.base.test.util.AdvancedMockContext;
|
| import org.chromium.base.test.util.Feature;
|
| import org.chromium.chrome.browser.ntp.snippets.SnippetsController;
|
| import org.chromium.chrome.browser.ntp.snippets.SnippetsLauncher;
|
| +import org.chromium.chrome.browser.precache.PrecacheController;
|
|
|
| /**
|
| * Tests {@link ChromeBackgroundService}.
|
| @@ -29,23 +30,43 @@ public class ChromeBackgroundServiceTest extends InstrumentationTestCase {
|
|
|
| static class MockTaskService extends ChromeBackgroundService {
|
| private boolean mDidLaunchBrowser = false;
|
| + private boolean mHasPrecacheInstance = true;
|
| + private boolean mPrecachingStarted = false;
|
|
|
| @Override
|
| protected void launchBrowser(Context context) {
|
| mDidLaunchBrowser = true;
|
| }
|
|
|
| + @Override
|
| + protected boolean hasPrecacheInstance() {
|
| + return mHasPrecacheInstance;
|
| + }
|
| +
|
| + @Override
|
| + protected void precache(Context context, String tag) {
|
| + if (!mHasPrecacheInstance) {
|
| + mPrecachingStarted = true;
|
| + }
|
| + }
|
| +
|
| // Posts an assertion task to the UI thread. Since this is only called after the call
|
| // to onRunTask, it will be enqueued after any possible call to launchBrowser, and we
|
| // can reliably check whether launchBrowser was called.
|
| - protected void checkExpectations(final boolean expectedLaunchBrowser) {
|
| + protected void checkExpectations(
|
| + final boolean expectedLaunchBrowser, final boolean expectedPrecacheStarted) {
|
| ThreadUtils.runOnUiThread(new Runnable() {
|
| @Override
|
| public void run() {
|
| assertEquals("StartedService", expectedLaunchBrowser, mDidLaunchBrowser);
|
| + assertEquals("StartedPrecache", expectedPrecacheStarted, mPrecachingStarted);
|
| }
|
| });
|
| }
|
| +
|
| + protected void deletePrecacheInstance() {
|
| + mHasPrecacheInstance = false;
|
| + }
|
| }
|
|
|
| static class MockSnippetsController extends SnippetsController {
|
| @@ -93,39 +114,52 @@ public class ChromeBackgroundServiceTest extends InstrumentationTestCase {
|
| }
|
|
|
| private void startOnRunTaskAndVerify(String taskTag, boolean shouldStart,
|
| - boolean shouldFetchSnippets) {
|
| + boolean shouldPrecache, boolean shouldFetchSnippets) {
|
| mTaskService.onRunTask(new TaskParams(taskTag));
|
| - mTaskService.checkExpectations(shouldStart);
|
| + mTaskService.checkExpectations(shouldStart, shouldPrecache);
|
| mSnippetsController.checkExpectations(shouldFetchSnippets);
|
| }
|
|
|
| @SmallTest
|
| @Feature({"BackgroundSync"})
|
| public void testBackgroundSyncNoLaunchBrowserWhenInstanceExists() {
|
| - startOnRunTaskAndVerify(BackgroundSyncLauncher.TASK_TAG, false, false);
|
| + startOnRunTaskAndVerify(BackgroundSyncLauncher.TASK_TAG, false, false, false);
|
| }
|
|
|
| @SmallTest
|
| @Feature({"BackgroundSync"})
|
| public void testBackgroundSyncLaunchBrowserWhenInstanceDoesNotExist() {
|
| deleteSyncLauncherInstance();
|
| - startOnRunTaskAndVerify(BackgroundSyncLauncher.TASK_TAG, true, false);
|
| + startOnRunTaskAndVerify(BackgroundSyncLauncher.TASK_TAG, true, false, false);
|
| }
|
|
|
| @SmallTest
|
| @Feature({"NTPSnippets"})
|
| public void testNTPSnippetsNoLaunchBrowserWhenInstanceExists() {
|
| - startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_WIFI_CHARGING, false, true);
|
| - startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_WIFI, false, true);
|
| - startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_FALLBACK, false, true);
|
| + startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_WIFI_CHARGING, false, false, true);
|
| + startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_WIFI, false, false, true);
|
| + startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_FALLBACK, false, false, true);
|
| }
|
|
|
| @SmallTest
|
| @Feature({"NTPSnippets"})
|
| public void testNTPSnippetsLaunchBrowserWhenInstanceDoesNotExist() {
|
| deleteSnippetsLauncherInstance();
|
| - startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_WIFI_CHARGING, true, true);
|
| - startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_WIFI, true, true);
|
| - startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_FALLBACK, true, true);
|
| + startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_WIFI_CHARGING, true, false, true);
|
| + startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_WIFI, true, false, true);
|
| + startOnRunTaskAndVerify(SnippetsLauncher.TASK_TAG_FALLBACK, true, false, true);
|
| + }
|
| +
|
| + @SmallTest
|
| + @Feature({"Precache"})
|
| + public void testPrecacheNoLaunchBrowserWhenInstanceExists() {
|
| + startOnRunTaskAndVerify(PrecacheController.PERIODIC_TASK_TAG, false, false, false);
|
| + }
|
| +
|
| + @SmallTest
|
| + @Feature({"Precache"})
|
| + public void testPrecacheLaunchBrowserWhenInstanceDoesNotExist() {
|
| + mTaskService.deletePrecacheInstance();
|
| + startOnRunTaskAndVerify(PrecacheController.PERIODIC_TASK_TAG, true, true, false);
|
| }
|
| }
|
|
|