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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataPreferencesTest.java

Issue 1618413002: Change the CBD dialog on Android to a PreferenceFragment (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Renaming. Created 4 years, 11 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/javatests/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataPreferencesTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataDialogFragmentTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataPreferencesTest.java
similarity index 60%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataDialogFragmentTest.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataPreferencesTest.java
index c9ba7b9daabb4062e941f0bcb5ef158e2d251d1e..943d45c120fcf4adda8a5277bfc53e70568c0f1e 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataDialogFragmentTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataPreferencesTest.java
@@ -4,14 +4,13 @@
package org.chromium.chrome.browser.preferences.privacy;
-import android.app.Dialog;
-import android.support.v7.app.AlertDialog;
+import android.preference.PreferenceScreen;
import android.test.suitebuilder.annotation.MediumTest;
-import android.widget.Button;
import org.chromium.base.ThreadUtils;
import org.chromium.chrome.browser.ChromeActivity;
-import org.chromium.chrome.browser.preferences.privacy.ClearBrowsingDataDialogFragment.DialogOption;
+import org.chromium.chrome.browser.preferences.ButtonPreference;
+import org.chromium.chrome.browser.preferences.Preferences;
import org.chromium.chrome.browser.webapps.WebappRegistry;
import org.chromium.chrome.test.ChromeActivityTestCaseBase;
import org.chromium.content.browser.test.util.Criteria;
@@ -23,15 +22,14 @@ import java.util.HashSet;
import java.util.Set;
/**
- * Peforms integration tests with ClearBrowsingDataDialogFragment.
+ * Peforms integration tests with ClearBrowsingDataPreferences.
*/
-public class ClearBrowsingDataDialogFragmentTest
+public class ClearBrowsingDataPreferencesTest
extends ChromeActivityTestCaseBase<ChromeActivity> {
- private TestClearDataDialogFragment mFragment;
private boolean mCallbackCalled;
- public ClearBrowsingDataDialogFragmentTest() {
+ public ClearBrowsingDataPreferencesTest() {
super(ChromeActivity.class);
}
@@ -42,9 +40,6 @@ public class ClearBrowsingDataDialogFragmentTest
@MediumTest
public void testClearingSiteDataClearsWebapps() throws Exception {
- mFragment = new TestClearDataDialogFragment(EnumSet.of(
- ClearBrowsingDataDialogFragment.DialogOption.CLEAR_COOKIES_AND_SITE_DATA));
-
WebappRegistry.registerWebapp(getActivity(), "first");
WebappRegistry.getRegisteredWebappIds(getActivity(), new WebappRegistry.FetchCallback() {
@Override
@@ -61,32 +56,26 @@ public class ClearBrowsingDataDialogFragmentTest
});
mCallbackCalled = false;
- ThreadUtils.runOnUiThreadBlocking(new Runnable() {
- @Override
- public void run() {
- mFragment.show(getActivity().getFragmentManager(),
- ClearBrowsingDataDialogFragment.FRAGMENT_TAG);
- }
- });
- CriteriaHelper.pollForUIThreadCriteria(new Criteria() {
- @Override
- public boolean isSatisfied() {
- return mFragment.getDialog() != null;
- }
- });
+ final Preferences preferences =
+ startPreferences(TestClearBrowsingDataPreferences.class.getName());
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
- Dialog dialog = mFragment.getDialog();
- Button clearButton = ((AlertDialog) dialog).getButton(AlertDialog.BUTTON_POSITIVE);
- clearButton.performClick();
+ ClearBrowsingDataPreferences fragment =
+ (ClearBrowsingDataPreferences) preferences.getFragmentForTest();
+ PreferenceScreen screen = fragment.getPreferenceScreen();
+ ButtonPreference clearButton = (ButtonPreference) screen.findPreference(
+ ClearBrowsingDataPreferences.PREF_CLEAR_BUTTON);
+ clearButton.getOnPreferenceClickListener().onPreferenceClick(clearButton);
}
});
CriteriaHelper.pollForUIThreadCriteria(new Criteria() {
@Override
public boolean isSatisfied() {
- return mFragment.getProgressDialog() == null;
+ ClearBrowsingDataPreferences fragment =
+ (ClearBrowsingDataPreferences) preferences.getFragmentForTest();
+ return fragment.getProgressDialog() == null;
}
});
@@ -105,16 +94,17 @@ public class ClearBrowsingDataDialogFragmentTest
});
}
- private static class TestClearDataDialogFragment extends ClearBrowsingDataDialogFragment {
- private final EnumSet<DialogOption> mDefaultOptions;
-
- public TestClearDataDialogFragment(EnumSet<DialogOption> defaultOptions) {
- mDefaultOptions = defaultOptions;
- }
+ /**
+ * A testing version of ClearBrowsingDataPreferences that preselects the cookies option.
+ * Must be public, as ChromeActivityTestCaseBase.startPreferences references it by name.
+ */
+ public static class TestClearBrowsingDataPreferences extends ClearBrowsingDataPreferences {
+ private static final EnumSet<DialogOption> DEFAULT_OPTIONS = EnumSet.of(
+ ClearBrowsingDataPreferences.DialogOption.CLEAR_COOKIES_AND_SITE_DATA);
@Override
protected boolean isOptionSelectedByDefault(DialogOption option) {
- return mDefaultOptions.contains(option);
+ return DEFAULT_OPTIONS.contains(option);
}
}
}
« no previous file with comments | « chrome/android/javatests/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataDialogFragmentTest.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698