Index: sync/android/javatests/src/org/chromium/sync/AndroidSyncSettingsTest.java |
diff --git a/sync/android/javatests/src/org/chromium/sync/AndroidSyncSettingsTest.java b/sync/android/javatests/src/org/chromium/sync/AndroidSyncSettingsTest.java |
index 13c43f64d55b103d3c722a2e9da2ea9de9567090..c6b3ff8e518f987b669b625e8c00dbeee4856880 100644 |
--- a/sync/android/javatests/src/org/chromium/sync/AndroidSyncSettingsTest.java |
+++ b/sync/android/javatests/src/org/chromium/sync/AndroidSyncSettingsTest.java |
@@ -6,6 +6,7 @@ package org.chromium.sync; |
import android.accounts.Account; |
import android.content.Context; |
+import android.os.Bundle; |
import android.test.InstrumentationTestCase; |
import android.test.suitebuilder.annotation.SmallTest; |
@@ -29,6 +30,7 @@ public class AndroidSyncSettingsTest extends InstrumentationTestCase { |
private int mGetIsSyncableCalls; |
private int mSetIsSyncableCalls; |
private int mSetSyncAutomaticallyCalls; |
+ private int mRemovePeriodicSyncCalls; |
@Override |
public boolean getMasterSyncAutomatically() { |
@@ -59,6 +61,12 @@ public class AndroidSyncSettingsTest extends InstrumentationTestCase { |
mSetSyncAutomaticallyCalls++; |
super.setSyncAutomatically(account, authority, sync); |
} |
+ |
+ @Override |
+ public void removePeriodicSync(Account account, String authority, Bundle extras) { |
+ mRemovePeriodicSyncCalls++; |
+ super.removePeriodicSync(account, authority, extras); |
+ } |
} |
private static class MockSyncSettingsObserver implements AndroidSyncSettingsObserver { |
@@ -138,6 +146,22 @@ public class AndroidSyncSettingsTest extends InstrumentationTestCase { |
@SmallTest |
@Feature({"Sync"}) |
+ public void testAccountInitialization() throws InterruptedException { |
+ // mAccount was set to be syncable and not have periodic syncs. |
+ assertEquals(1, mSyncContentResolverDelegate.mSetIsSyncableCalls); |
+ assertEquals(1, mSyncContentResolverDelegate.mRemovePeriodicSyncCalls); |
+ mAndroid.updateAccount(null); |
+ // mAccount was set to be not syncable. |
+ assertEquals(2, mSyncContentResolverDelegate.mSetIsSyncableCalls); |
+ assertEquals(1, mSyncContentResolverDelegate.mRemovePeriodicSyncCalls); |
+ mAndroid.updateAccount(mAlternateAccount); |
+ // mAlternateAccount was set to be syncable and not have periodic syncs. |
+ assertEquals(3, mSyncContentResolverDelegate.mSetIsSyncableCalls); |
+ assertEquals(2, mSyncContentResolverDelegate.mRemovePeriodicSyncCalls); |
+ } |
+ |
+ @SmallTest |
+ @Feature({"Sync"}) |
public void testToggleMasterSyncFromSettings() throws InterruptedException { |
mSyncContentResolverDelegate.setMasterSyncAutomatically(true); |
mSyncContentResolverDelegate.waitForLastNotificationCompleted(); |