| 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 5b4e57528cfed9d71cf56ab24dead4d499bf5856..13c43f64d55b103d3c722a2e9da2ea9de9567090 100644
|
| --- a/sync/android/javatests/src/org/chromium/sync/AndroidSyncSettingsTest.java
|
| +++ b/sync/android/javatests/src/org/chromium/sync/AndroidSyncSettingsTest.java
|
| @@ -12,6 +12,9 @@ import android.test.suitebuilder.annotation.SmallTest;
|
| import org.chromium.base.ThreadUtils;
|
| import org.chromium.base.test.util.Feature;
|
| import org.chromium.sync.AndroidSyncSettings.AndroidSyncSettingsObserver;
|
| +import org.chromium.sync.signin.AccountManagerHelper;
|
| +import org.chromium.sync.test.util.AccountHolder;
|
| +import org.chromium.sync.test.util.MockAccountManager;
|
| import org.chromium.sync.test.util.MockSyncContentResolverDelegate;
|
|
|
| /**
|
| @@ -81,16 +84,17 @@ public class AndroidSyncSettingsTest extends InstrumentationTestCase {
|
| private Account mAccount;
|
| private Account mAlternateAccount;
|
| private MockSyncSettingsObserver mSyncSettingsObserver;
|
| + private MockAccountManager mAccountManager;
|
|
|
| @Override
|
| protected void setUp() throws Exception {
|
| mSyncContentResolverDelegate = new CountingMockSyncContentResolverDelegate();
|
| Context context = getInstrumentation().getTargetContext();
|
| + setupTestAccounts(context);
|
| +
|
| AndroidSyncSettings.overrideForTests(context, mSyncContentResolverDelegate);
|
| mAndroid = AndroidSyncSettings.get(context);
|
| mAuthority = mAndroid.getContractAuthority();
|
| - mAccount = new Account("account@example.com", "com.google");
|
| - mAlternateAccount = new Account("alternateAccount@example.com", "com.google");
|
| mAndroid.updateAccount(mAccount);
|
|
|
| mSyncSettingsObserver = new MockSyncSettingsObserver();
|
| @@ -99,6 +103,21 @@ public class AndroidSyncSettingsTest extends InstrumentationTestCase {
|
| super.setUp();
|
| }
|
|
|
| + private void setupTestAccounts(Context context) {
|
| + mAccountManager = new MockAccountManager(context, context);
|
| + AccountManagerHelper.overrideAccountManagerHelperForTests(context, mAccountManager);
|
| + mAccount = setupTestAccount("account@example.com");
|
| + mAlternateAccount = setupTestAccount("alternate@example.com");
|
| + }
|
| +
|
| + private Account setupTestAccount(String accountName) {
|
| + Account account = AccountManagerHelper.createAccountFromName(accountName);
|
| + AccountHolder.Builder accountHolder =
|
| + AccountHolder.create().account(account).password("password").alwaysAccept(true);
|
| + mAccountManager.addAccountHolderExplicitly(accountHolder.build());
|
| + return account;
|
| + }
|
| +
|
| private void enableChromeSyncOnUiThread() {
|
| ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| @Override
|
| @@ -295,6 +314,16 @@ public class AndroidSyncSettingsTest extends InstrumentationTestCase {
|
| mSyncSettingsObserver.receivedNotification());
|
| }
|
|
|
| + @SmallTest
|
| + @Feature({"Sync"})
|
| + public void testIsSyncableOnSigninAndNotOnSignout() throws InterruptedException {
|
| + assertTrue(mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority) == 1);
|
| + mAndroid.updateAccount(null);
|
| + assertTrue(mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority) == 0);
|
| + mAndroid.updateAccount(mAccount);
|
| + assertTrue(mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority) == 1);
|
| + }
|
| +
|
| /**
|
| * Regression test for crbug.com/475299.
|
| */
|
|
|