Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(280)

Unified Diff: chrome/android/sync_shell/javatests/src/chromium/chrome/browser/sync/SyncCustomizationFragmentTest.java

Issue 1060373004: Add SyncCustomizationFragmentTest. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use better start browser function. Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/sync_shell/javatests/src/chromium/chrome/browser/sync/SyncCustomizationFragmentTest.java
diff --git a/chrome/android/sync_shell/javatests/src/chromium/chrome/browser/sync/SyncCustomizationFragmentTest.java b/chrome/android/sync_shell/javatests/src/chromium/chrome/browser/sync/SyncCustomizationFragmentTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..c578ea812ded78802e2fd327306261a0577feaf8
--- /dev/null
+++ b/chrome/android/sync_shell/javatests/src/chromium/chrome/browser/sync/SyncCustomizationFragmentTest.java
@@ -0,0 +1,86 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.sync;
+
+import android.app.Activity;
+import android.app.FragmentTransaction;
+import android.preference.SwitchPreference;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import org.chromium.base.ThreadUtils;
+import org.chromium.base.test.util.Feature;
+import org.chromium.chrome.R;
+import org.chromium.chrome.browser.sync.ui.SyncCustomizationFragment;
+import org.chromium.sync.AndroidSyncSettings;
+
+/**
+ * Tests for SyncCustomizationFragment.
+ */
+public class SyncCustomizationFragmentTest extends SyncTestBase {
+ private static final String TAG = "SyncCustomizationFragmentTest";
+ private static final String TEST_ACCOUNT = "test@gmail.com";
+
+ private Activity mActivity;
+ private AndroidSyncSettings mAndroidSyncSettings;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ mAndroidSyncSettings = AndroidSyncSettings.get(mContext);
+ mActivity = getActivity();
+ }
+
+ @SmallTest
+ @Feature({"Sync"})
+ public void testSyncSwitch() throws Exception {
+ setupTestAccountAndSignInToSync(CLIENT_ID);
+
+ // Make sure sync is actually enabled.
+ mAndroidSyncSettings.enableChromeSync();
+ getInstrumentation().waitForIdleSync();
+ SyncCustomizationFragment fragment = startSyncCustomizationFragment();
+ final SwitchPreference syncSwitch = getSyncSwitch(fragment);
+
+ assertTrue(syncSwitch.isChecked());
+ assertTrue(mAndroidSyncSettings.isChromeSyncEnabled());
+ toggleSwitch(syncSwitch);
+ assertFalse(syncSwitch.isChecked());
+ assertFalse(mAndroidSyncSettings.isChromeSyncEnabled());
+ toggleSwitch(syncSwitch);
+ assertTrue(syncSwitch.isChecked());
+ assertTrue(mAndroidSyncSettings.isChromeSyncEnabled());
+ }
+
+ private SyncCustomizationFragment startSyncCustomizationFragment() {
+ FragmentTransaction transaction = mActivity.getFragmentManager().beginTransaction();
+ transaction.add(R.id.content_container, new SyncCustomizationFragment(), TAG);
+ transaction.commit();
+ getInstrumentation().waitForIdleSync();
+ return (SyncCustomizationFragment) mActivity.getFragmentManager().findFragmentByTag(TAG);
+ }
+
+ private SwitchPreference getSyncSwitch(SyncCustomizationFragment fragment) {
+ return (SwitchPreference) fragment.findPreference(
+ SyncCustomizationFragment.PREF_SYNC_SWITCH);
+ }
+
+ private SwitchPreference getSyncEverything(SyncCustomizationFragment fragment) {
+ return (SwitchPreference) fragment.findPreference(
+ SyncCustomizationFragment.PREFERENCE_SYNC_EVERYTHING);
+ }
+
+ private void toggleSwitch(final SwitchPreference pref) {
+ ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+ @Override
+ public void run() {
+ boolean newValue = !pref.isChecked();
+ pref.getOnPreferenceChangeListener().onPreferenceChange(
+ pref, Boolean.valueOf(newValue));
+ pref.setChecked(newValue);
+ }
+ });
+ getInstrumentation().waitForIdleSync();
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698