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 94e099bed9ff459a98b65c10d33354b3ae7658d0..507989a176cdeed63379edb6b9bbdb49b1d68f2e 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 { |
@@ -137,6 +145,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); |
+ AndroidSyncSettings.updateAccount(mContext, null); |
+ // mAccount was set to be not syncable. |
+ assertEquals(2, mSyncContentResolverDelegate.mSetIsSyncableCalls); |
+ assertEquals(1, mSyncContentResolverDelegate.mRemovePeriodicSyncCalls); |
+ AndroidSyncSettings.updateAccount(mContext, 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(); |