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); |
} |
} |
} |