Chromium Code Reviews| Index: chrome/android/javatests/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferencesTest.java |
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferencesTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferencesTest.java |
| index 047dd81fa5db917c79b1d60339ecae0f64229a64..aa42769c5ac7cdc0d907a37172b4a513bc59bc31 100644 |
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferencesTest.java |
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferencesTest.java |
| @@ -123,6 +123,16 @@ public class SiteSettingsPreferencesTest extends ChromeActivityTestCaseBase<Chro |
| return (Preferences) getInstrumentation().startActivitySync(intent); |
| } |
| + private Preferences startSingleWebsitePreferences() { |
| + Bundle fragmentArgs = SingleWebsitePreferences.createFragmentArgsForSite( |
| + TestHttpServerClient.getUrl("")); |
|
newt (away)
2015/12/15 00:10:01
Why not use a real page here? Seems like TestHttpS
svaldez
2015/12/15 21:45:57
Done.
|
| + Intent intent = PreferencesLauncher.createIntentForSettingsPage( |
| + getInstrumentation().getTargetContext(), |
| + SingleWebsitePreferences.class.getName()); |
| + intent.putExtra(Preferences.EXTRA_SHOW_FRAGMENT_ARGUMENTS, fragmentArgs); |
| + return (Preferences) getInstrumentation().startActivitySync(intent); |
| + } |
| + |
| private void setCookiesEnabled(final Preferences preferenceActivity, final boolean enabled) { |
| ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
| @Override |
| @@ -254,6 +264,23 @@ public class SiteSettingsPreferencesTest extends ChromeActivityTestCaseBase<Chro |
| preferenceActivity.finish(); |
| } |
| + private void setEnableKeygen(final boolean enabled) { |
| + final Preferences preferenceActivity = startSingleWebsitePreferences(); |
| + |
| + ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
| + @Override |
| + public void run() { |
| + SingleWebsitePreferences websitePreferences = |
| + (SingleWebsitePreferences) preferenceActivity.getFragmentForTest(); |
| + ChromeSwitchPreference keygen = (ChromeSwitchPreference) |
|
newt (away)
2015/12/15 00:10:01
Doesn't this cast fail? I thought PREF_KEYGEN_PERM
svaldez
2015/12/15 21:45:57
Done.
|
| + websitePreferences.findPreference( |
| + SingleWebsitePreferences.PREF_KEYGEN_PERMISSION); |
| + websitePreferences.onPreferenceChange(keygen, (enabled ? "ALLOW" : "BLOCK")); |
|
newt (away)
2015/12/15 00:10:01
I'd simulate clicking the switch, rather than call
svaldez
2015/12/15 21:45:57
Done.
|
| + } |
| + }); |
| + preferenceActivity.finish(); |
| + } |
| + |
| /** |
| * Tests that disabling cookies turns off the third-party cookie toggle. |
| * @throws Exception |
| @@ -351,6 +378,32 @@ public class SiteSettingsPreferencesTest extends ChromeActivityTestCaseBase<Chro |
| } |
| /** |
| + * Sets Allow Keygen Enabled to be false and make sure it is set correctly. |
| + * @throws Exception |
| + */ |
| + @SmallTest |
| + @Feature({"Preferences"}) |
| + public void testKeygenBlocked() throws Exception { |
|
newt (away)
2015/12/15 00:10:01
Alternatively, you could just test the Preferences
svaldez
2015/12/15 21:45:57
Done.
|
| + setEnableKeygen(false); |
| + |
| + loadUrl(TestHttpServerClient.getUrl("chrome/test/data/android/keygen.html")); |
| + assertEquals("false", runJavaScriptCodeInCurrentTab("didKeygen();")); |
| + } |
| + |
| + /** |
| + * Sets Allow Keygen Enabled to be true and make sure it is set correctly. |
| + * @throws Exception |
| + */ |
| + @SmallTest |
| + @Feature({"Preferences"}) |
| + public void testKeygenNotBlocked() throws Exception { |
| + setEnableKeygen(true); |
| + |
| + loadUrl(TestHttpServerClient.getUrl("chrome/test/data/android/keygen.html")); |
| + assertEquals("true", runJavaScriptCodeInCurrentTab("didKeygen();")); |
| + } |
| + |
| + /** |
| * Sets Allow Camera Enabled to be false and make sure it is set correctly. |
| * @throws Exception |
| */ |