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; |
| 10 import org.chromium.base.test.util.CommandLineFlags; |
11 import org.chromium.base.test.util.Feature; | 11 import org.chromium.base.test.util.Feature; |
| 12 import org.chromium.chrome.browser.ChromeFeatureList; |
12 import org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference; | 13 import org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference; |
13 import org.chromium.chrome.browser.preferences.ChromeSwitchPreference; | 14 import org.chromium.chrome.browser.preferences.ChromeSwitchPreference; |
14 import org.chromium.chrome.browser.preferences.PrefServiceBridge; | 15 import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
15 import org.chromium.chrome.browser.preferences.Preferences; | 16 import org.chromium.chrome.browser.preferences.Preferences; |
16 import org.chromium.chrome.browser.preferences.PreferencesTest; | 17 import org.chromium.chrome.browser.preferences.PreferencesTest; |
17 import org.chromium.content.browser.test.NativeLibraryTestBase; | 18 import org.chromium.content.browser.test.NativeLibraryTestBase; |
18 import org.chromium.content.common.ContentSwitches; | |
19 | 19 |
20 /** | 20 /** |
21 * Tests for the "Save Passwords" settings screen. | 21 * Tests for the "Save Passwords" settings screen. |
22 */ | 22 */ |
23 public class SavePasswordsPreferencesTest extends NativeLibraryTestBase { | 23 public class SavePasswordsPreferencesTest extends NativeLibraryTestBase { |
24 | 24 |
25 @Override | 25 @Override |
26 protected void setUp() throws Exception { | 26 protected void setUp() throws Exception { |
27 super.setUp(); | 27 super.setUp(); |
28 CommandLine.getInstance().appendSwitch(ContentSwitches.ENABLE_CREDENTIAL
_MANAGER_API); | |
29 loadNativeLibraryAndInitBrowserProcess(); | 28 loadNativeLibraryAndInitBrowserProcess(); |
30 } | 29 } |
31 | 30 |
32 /** | 31 /** |
33 * Ensure that the on/off switch in "Save Passwords" settings actually enabl
es and disables | 32 * Ensure that the on/off switch in "Save Passwords" settings actually enabl
es and disables |
34 * password saving. | 33 * password saving. |
35 */ | 34 */ |
36 @SmallTest | 35 @SmallTest |
37 @Feature({"Preferences"}) | 36 @Feature({"Preferences"}) |
38 public void testSavePasswordsSwitch() throws Exception { | 37 public void testSavePasswordsSwitch() throws Exception { |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 assertFalse(onOffSwitch.isChecked()); | 79 assertFalse(onOffSwitch.isChecked()); |
81 } | 80 } |
82 }); | 81 }); |
83 } | 82 } |
84 | 83 |
85 /** | 84 /** |
86 * Ensure that the "Auto Sign-in" switch in "Save Passwords" settings actual
ly enables and | 85 * Ensure that the "Auto Sign-in" switch in "Save Passwords" settings actual
ly enables and |
87 * disables auto sign-in. | 86 * disables auto sign-in. |
88 */ | 87 */ |
89 @SmallTest | 88 @SmallTest |
| 89 @CommandLineFlags.Add("enable-features=" + SavePasswordsPreferences.CREDENTI
AL_MANAGER_API) |
90 @Feature({"Preferences"}) | 90 @Feature({"Preferences"}) |
91 public void testAutoSignInCheckbox() throws Exception { | 91 public void testAutoSignInCheckbox() throws Exception { |
92 ThreadUtils.runOnUiThreadBlocking(new Runnable() { | 92 ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
93 @Override | 93 @Override |
94 public void run() { | 94 public void run() { |
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 assertTrue(ChromeFeatureList.isEnabled( |
106 ContentSwitches.ENABLE_CREDENTIAL_MANAGER_API)); | 106 SavePasswordsPreferences.CREDENTIAL_MANAGER_API)); |
107 SavePasswordsPreferences passwordPrefs = | 107 SavePasswordsPreferences passwordPrefs = |
108 (SavePasswordsPreferences) preferences.getFragmentForTes
t(); | 108 (SavePasswordsPreferences) preferences.getFragmentForTes
t(); |
109 ChromeBaseCheckBoxPreference onOffSwitch = | 109 ChromeBaseCheckBoxPreference onOffSwitch = |
110 (ChromeBaseCheckBoxPreference) passwordPrefs.findPrefere
nce( | 110 (ChromeBaseCheckBoxPreference) passwordPrefs.findPrefere
nce( |
111 SavePasswordsPreferences.PREF_AUTOSIGNIN_SWITCH)
; | 111 SavePasswordsPreferences.PREF_AUTOSIGNIN_SWITCH)
; |
112 assertTrue(onOffSwitch.isChecked()); | 112 assertTrue(onOffSwitch.isChecked()); |
113 | 113 |
114 PreferencesTest.clickPreference(passwordPrefs, onOffSwitch); | 114 PreferencesTest.clickPreference(passwordPrefs, onOffSwitch); |
115 assertFalse(PrefServiceBridge.getInstance().isPasswordManagerAut
oSigninEnabled()); | 115 assertFalse(PrefServiceBridge.getInstance().isPasswordManagerAut
oSigninEnabled()); |
116 PreferencesTest.clickPreference(passwordPrefs, onOffSwitch); | 116 PreferencesTest.clickPreference(passwordPrefs, onOffSwitch); |
117 assertTrue(PrefServiceBridge.getInstance().isPasswordManagerAuto
SigninEnabled()); | 117 assertTrue(PrefServiceBridge.getInstance().isPasswordManagerAuto
SigninEnabled()); |
118 | 118 |
119 preferences.finish(); | 119 preferences.finish(); |
120 | 120 |
121 PrefServiceBridge.getInstance().setPasswordManagerAutoSigninEnab
led(false); | 121 PrefServiceBridge.getInstance().setPasswordManagerAutoSigninEnab
led(false); |
122 } | 122 } |
123 }); | 123 }); |
124 | 124 |
125 final Preferences preferences2 = PreferencesTest.startPreferences( | 125 final Preferences preferences2 = PreferencesTest.startPreferences( |
126 getInstrumentation(), SavePasswordsPreferences.class.getName()); | 126 getInstrumentation(), SavePasswordsPreferences.class.getName()); |
127 ThreadUtils.runOnUiThreadBlocking(new Runnable() { | 127 ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
128 @Override | 128 @Override |
129 public void run() { | 129 public void run() { |
130 assertTrue(CommandLine.getInstance().hasSwitch( | 130 assertTrue(ChromeFeatureList.isEnabled( |
131 ContentSwitches.ENABLE_CREDENTIAL_MANAGER_API)); | 131 SavePasswordsPreferences.CREDENTIAL_MANAGER_API)); |
132 SavePasswordsPreferences passwordPrefs = | 132 SavePasswordsPreferences passwordPrefs = |
133 (SavePasswordsPreferences) preferences2.getFragmentForTe
st(); | 133 (SavePasswordsPreferences) preferences2.getFragmentForTe
st(); |
134 ChromeBaseCheckBoxPreference onOffSwitch = | 134 ChromeBaseCheckBoxPreference onOffSwitch = |
135 (ChromeBaseCheckBoxPreference) passwordPrefs.findPrefere
nce( | 135 (ChromeBaseCheckBoxPreference) passwordPrefs.findPrefere
nce( |
136 SavePasswordsPreferences.PREF_AUTOSIGNIN_SWITCH)
; | 136 SavePasswordsPreferences.PREF_AUTOSIGNIN_SWITCH)
; |
137 assertFalse(onOffSwitch.isChecked()); | 137 assertFalse(onOffSwitch.isChecked()); |
138 } | 138 } |
139 }); | 139 }); |
140 } | 140 } |
141 } | 141 } |
OLD | NEW |