예제 #1
0
  @SmallTest
  @Feature({"Sync"})
  public void testAndroidSyncSettingsPostsNotifications() throws InterruptedException {
    // Turn on syncability.
    mSyncContentResolverDelegate.setMasterSyncAutomatically(true);
    mSyncContentResolverDelegate.waitForLastNotificationCompleted();

    mSyncSettingsObserver.clearNotification();
    AndroidSyncSettings.enableChromeSync(mContext);
    assertTrue(
        "enableChromeSync should trigger observers", mSyncSettingsObserver.receivedNotification());

    mSyncSettingsObserver.clearNotification();
    AndroidSyncSettings.updateAccount(mContext, mAlternateAccount);
    assertTrue(
        "switching to account with different settings should notify",
        mSyncSettingsObserver.receivedNotification());

    mSyncSettingsObserver.clearNotification();
    AndroidSyncSettings.updateAccount(mContext, mAccount);
    assertTrue(
        "switching to account with different settings should notify",
        mSyncSettingsObserver.receivedNotification());

    mSyncSettingsObserver.clearNotification();
    AndroidSyncSettings.enableChromeSync(mContext);
    assertFalse(
        "enableChromeSync shouldn't trigger observers",
        mSyncSettingsObserver.receivedNotification());

    mSyncSettingsObserver.clearNotification();
    AndroidSyncSettings.disableChromeSync(mContext);
    assertTrue(
        "disableChromeSync should trigger observers", mSyncSettingsObserver.receivedNotification());

    mSyncSettingsObserver.clearNotification();
    AndroidSyncSettings.disableChromeSync(mContext);
    assertFalse(
        "disableChromeSync shouldn't observers", mSyncSettingsObserver.receivedNotification());
  }
예제 #2
0
  /** Regression test for crbug.com/475299. */
  @SmallTest
  @Feature({"Sync"})
  public void testSyncableIsAlwaysSetWhenEnablingSync() throws InterruptedException {
    // Setup bad state.
    mSyncContentResolverDelegate.setMasterSyncAutomatically(true);
    mSyncContentResolverDelegate.waitForLastNotificationCompleted();
    mSyncContentResolverDelegate.setIsSyncable(mAccount, mAuthority, 1);
    mSyncContentResolverDelegate.waitForLastNotificationCompleted();
    mSyncContentResolverDelegate.setSyncAutomatically(mAccount, mAuthority, true);
    mSyncContentResolverDelegate.waitForLastNotificationCompleted();
    mSyncContentResolverDelegate.setIsSyncable(mAccount, mAuthority, 0);
    mSyncContentResolverDelegate.waitForLastNotificationCompleted();
    assertTrue(mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority) == 0);
    assertTrue(mSyncContentResolverDelegate.getSyncAutomatically(mAccount, mAuthority));

    // Ensure bug is fixed.
    AndroidSyncSettings.enableChromeSync(mContext);
    assertTrue(mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority) == 1);
    // Should still be enabled.
    assertTrue(mSyncContentResolverDelegate.getSyncAutomatically(mAccount, mAuthority));
  }