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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataDialogFragmentTest.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: Removed button, fixed tests 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/ClearBrowsingDataDialogFragmentTest.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/ClearBrowsingDataDialogFragmentTest.java
index c9ba7b9daabb4062e941f0bcb5ef158e2d251d1e..fd5cd09a9ab3ae623ef5451b1445ee54b4833d0e 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/ClearBrowsingDataDialogFragmentTest.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;
@@ -28,7 +27,6 @@ import java.util.Set;
public class ClearBrowsingDataDialogFragmentTest
extends ChromeActivityTestCaseBase<ChromeActivity> {
- private TestClearDataDialogFragment mFragment;
private boolean mCallbackCalled;
public ClearBrowsingDataDialogFragmentTest() {
@@ -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(TestClearDataDialogFragment.class.getName());
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
- Dialog dialog = mFragment.getDialog();
- Button clearButton = ((AlertDialog) dialog).getButton(AlertDialog.BUTTON_POSITIVE);
- clearButton.performClick();
+ ClearBrowsingDataDialogFragment fragment =
+ (ClearBrowsingDataDialogFragment) preferences.getFragmentForTest();
+ PreferenceScreen screen = fragment.getPreferenceScreen();
+ ButtonPreference clearButton = (ButtonPreference) screen.findPreference(
+ ClearBrowsingDataDialogFragment.PREF_CLEAR_BUTTON);
+ clearButton.getOnPreferenceClickListener().onPreferenceClick(clearButton);
}
});
CriteriaHelper.pollForUIThreadCriteria(new Criteria() {
@Override
public boolean isSatisfied() {
- return mFragment.getProgressDialog() == null;
+ ClearBrowsingDataDialogFragment fragment =
+ (ClearBrowsingDataDialogFragment) 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 ClearBrowsingDataDialogFragment that preselects the cookies option.
+ * Must be public, as ChromeActivityTestCaseBase.startPreferences references it by name.
+ */
+ public static class TestClearDataDialogFragment extends ClearBrowsingDataDialogFragment {
+ private static final EnumSet<DialogOption> DEFAULT_OPTIONS = EnumSet.of(
+ ClearBrowsingDataDialogFragment.DialogOption.CLEAR_COOKIES_AND_SITE_DATA);
@Override
protected boolean isOptionSelectedByDefault(DialogOption option) {
- return mDefaultOptions.contains(option);
+ return DEFAULT_OPTIONS.contains(option);
}
}
}

Powered by Google App Engine
This is Rietveld 408576698