OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.chrome.browser.preferences.password; | 5 package org.chromium.chrome.browser.preferences.password; |
6 | 6 |
7 import android.test.suitebuilder.annotation.SmallTest; | 7 import android.test.suitebuilder.annotation.SmallTest; |
8 | 8 |
9 import org.chromium.base.CommandLine; | |
10 import org.chromium.base.ThreadUtils; | 9 import org.chromium.base.ThreadUtils; |
11 import org.chromium.base.test.util.Feature; | 10 import org.chromium.base.test.util.Feature; |
11 import org.chromium.chrome.browser.ChromeFeatureList; | |
12 import org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference; | 12 import org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference; |
13 import org.chromium.chrome.browser.preferences.ChromeSwitchPreference; | 13 import org.chromium.chrome.browser.preferences.ChromeSwitchPreference; |
14 import org.chromium.chrome.browser.preferences.PrefServiceBridge; | 14 import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
15 import org.chromium.chrome.browser.preferences.Preferences; | 15 import org.chromium.chrome.browser.preferences.Preferences; |
16 import org.chromium.chrome.browser.preferences.PreferencesTest; | 16 import org.chromium.chrome.browser.preferences.PreferencesTest; |
17 import org.chromium.content.browser.test.NativeLibraryTestBase; | 17 import org.chromium.content.browser.test.NativeLibraryTestBase; |
18 import org.chromium.content.common.ContentSwitches; | |
19 | 18 |
20 /** | 19 /** |
21 * Tests for the "Save Passwords" settings screen. | 20 * Tests for the "Save Passwords" settings screen. |
22 */ | 21 */ |
23 public class SavePasswordsPreferencesTest extends NativeLibraryTestBase { | 22 public class SavePasswordsPreferencesTest extends NativeLibraryTestBase { |
24 | 23 |
24 private static final String ENABLE_CREDENTIAL_MANAGER_API = "CredentialManag ementAPI"; | |
Bernhard Bauer
2016/04/13 14:23:01
Declaring this constant multiple times defeats the
melandory
2016/04/14 11:23:01
I haven't fount the right place where to put it. D
Bernhard Bauer
2016/04/14 11:27:38
It's not a switch.
Can you just use the one from
| |
25 | |
25 @Override | 26 @Override |
26 protected void setUp() throws Exception { | 27 protected void setUp() throws Exception { |
27 super.setUp(); | 28 super.setUp(); |
28 CommandLine.getInstance().appendSwitch(ContentSwitches.ENABLE_CREDENTIAL _MANAGER_API); | |
29 loadNativeLibraryAndInitBrowserProcess(); | 29 loadNativeLibraryAndInitBrowserProcess(); |
30 } | 30 } |
31 | 31 |
32 /** | 32 /** |
33 * Ensure that the on/off switch in "Save Passwords" settings actually enabl es and disables | 33 * Ensure that the on/off switch in "Save Passwords" settings actually enabl es and disables |
34 * password saving. | 34 * password saving. |
35 */ | 35 */ |
36 @SmallTest | 36 @SmallTest |
37 @Feature({"Preferences"}) | 37 @Feature({"Preferences"}) |
38 public void testSavePasswordsSwitch() throws Exception { | 38 public void testSavePasswordsSwitch() throws Exception { |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
95 PrefServiceBridge.getInstance().setPasswordManagerAutoSigninEnab led(true); | 95 PrefServiceBridge.getInstance().setPasswordManagerAutoSigninEnab led(true); |
96 } | 96 } |
97 }); | 97 }); |
98 | 98 |
99 final Preferences preferences = PreferencesTest.startPreferences( | 99 final Preferences preferences = PreferencesTest.startPreferences( |
100 getInstrumentation(), SavePasswordsPreferences.class.getName()); | 100 getInstrumentation(), SavePasswordsPreferences.class.getName()); |
101 | 101 |
102 ThreadUtils.runOnUiThreadBlocking(new Runnable() { | 102 ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
103 @Override | 103 @Override |
104 public void run() { | 104 public void run() { |
105 assertTrue(CommandLine.getInstance().hasSwitch( | 105 if (!ChromeFeatureList.isEnabled(ENABLE_CREDENTIAL_MANAGER_API)) { |
Bernhard Bauer
2016/04/13 14:23:01
Wouldn't it be a better idea to force-enable this
Bernhard Bauer
2016/04/13 14:26:31
So, it turns out there is already @CommandLineFlag
| |
106 ContentSwitches.ENABLE_CREDENTIAL_MANAGER_API)); | 106 return; |
107 } | |
107 SavePasswordsPreferences passwordPrefs = | 108 SavePasswordsPreferences passwordPrefs = |
108 (SavePasswordsPreferences) preferences.getFragmentForTes t(); | 109 (SavePasswordsPreferences) preferences.getFragmentForTes t(); |
109 ChromeBaseCheckBoxPreference onOffSwitch = | 110 ChromeBaseCheckBoxPreference onOffSwitch = |
110 (ChromeBaseCheckBoxPreference) passwordPrefs.findPrefere nce( | 111 (ChromeBaseCheckBoxPreference) passwordPrefs.findPrefere nce( |
111 SavePasswordsPreferences.PREF_AUTOSIGNIN_SWITCH) ; | 112 SavePasswordsPreferences.PREF_AUTOSIGNIN_SWITCH) ; |
112 assertTrue(onOffSwitch.isChecked()); | 113 assertTrue(onOffSwitch.isChecked()); |
113 | 114 |
114 PreferencesTest.clickPreference(passwordPrefs, onOffSwitch); | 115 PreferencesTest.clickPreference(passwordPrefs, onOffSwitch); |
115 assertFalse(PrefServiceBridge.getInstance().isPasswordManagerAut oSigninEnabled()); | 116 assertFalse(PrefServiceBridge.getInstance().isPasswordManagerAut oSigninEnabled()); |
116 PreferencesTest.clickPreference(passwordPrefs, onOffSwitch); | 117 PreferencesTest.clickPreference(passwordPrefs, onOffSwitch); |
117 assertTrue(PrefServiceBridge.getInstance().isPasswordManagerAuto SigninEnabled()); | 118 assertTrue(PrefServiceBridge.getInstance().isPasswordManagerAuto SigninEnabled()); |
118 | 119 |
119 preferences.finish(); | 120 preferences.finish(); |
120 | 121 |
121 PrefServiceBridge.getInstance().setPasswordManagerAutoSigninEnab led(false); | 122 PrefServiceBridge.getInstance().setPasswordManagerAutoSigninEnab led(false); |
122 } | 123 } |
123 }); | 124 }); |
124 | 125 |
125 final Preferences preferences2 = PreferencesTest.startPreferences( | 126 final Preferences preferences2 = PreferencesTest.startPreferences( |
126 getInstrumentation(), SavePasswordsPreferences.class.getName()); | 127 getInstrumentation(), SavePasswordsPreferences.class.getName()); |
127 ThreadUtils.runOnUiThreadBlocking(new Runnable() { | 128 ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
128 @Override | 129 @Override |
129 public void run() { | 130 public void run() { |
130 assertTrue(CommandLine.getInstance().hasSwitch( | 131 if (!ChromeFeatureList.isEnabled(ENABLE_CREDENTIAL_MANAGER_API)) { |
131 ContentSwitches.ENABLE_CREDENTIAL_MANAGER_API)); | 132 return; |
133 } | |
132 SavePasswordsPreferences passwordPrefs = | 134 SavePasswordsPreferences passwordPrefs = |
133 (SavePasswordsPreferences) preferences2.getFragmentForTe st(); | 135 (SavePasswordsPreferences) preferences2.getFragmentForTe st(); |
134 ChromeBaseCheckBoxPreference onOffSwitch = | 136 ChromeBaseCheckBoxPreference onOffSwitch = |
135 (ChromeBaseCheckBoxPreference) passwordPrefs.findPrefere nce( | 137 (ChromeBaseCheckBoxPreference) passwordPrefs.findPrefere nce( |
136 SavePasswordsPreferences.PREF_AUTOSIGNIN_SWITCH) ; | 138 SavePasswordsPreferences.PREF_AUTOSIGNIN_SWITCH) ; |
137 assertFalse(onOffSwitch.isChecked()); | 139 assertFalse(onOffSwitch.isChecked()); |
138 } | 140 } |
139 }); | 141 }); |
140 } | 142 } |
141 } | 143 } |
OLD | NEW |