OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "chrome/browser/chromeos/settings/cros_settings.h" | 5 #include "chrome/browser/chromeos/settings/cros_settings.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <memory> | 8 #include <memory> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 ScopedDeviceSettingsTestHelper device_settings_test_helper_; | 97 ScopedDeviceSettingsTestHelper device_settings_test_helper_; |
98 CrosSettings settings_; | 98 CrosSettings settings_; |
99 | 99 |
100 std::map<std::string, std::unique_ptr<base::Value>> expected_props_; | 100 std::map<std::string, std::unique_ptr<base::Value>> expected_props_; |
101 | 101 |
102 base::WeakPtrFactory<CrosSettingsTest> weak_factory_; | 102 base::WeakPtrFactory<CrosSettingsTest> weak_factory_; |
103 }; | 103 }; |
104 | 104 |
105 TEST_F(CrosSettingsTest, SetPref) { | 105 TEST_F(CrosSettingsTest, SetPref) { |
106 // Change to something that is not the default. | 106 // Change to something that is not the default. |
107 AddExpectation(kAccountsPrefAllowGuest, | 107 AddExpectation(kAccountsPrefAllowGuest, base::MakeUnique<base::Value>(false)); |
108 base::MakeUnique<base::FundamentalValue>(false)); | |
109 SetPref(kAccountsPrefAllowGuest, | 108 SetPref(kAccountsPrefAllowGuest, |
110 expected_props_[kAccountsPrefAllowGuest].get()); | 109 expected_props_[kAccountsPrefAllowGuest].get()); |
111 FetchPref(kAccountsPrefAllowGuest); | 110 FetchPref(kAccountsPrefAllowGuest); |
112 ASSERT_TRUE(expected_props_.empty()); | 111 ASSERT_TRUE(expected_props_.empty()); |
113 } | 112 } |
114 | 113 |
115 TEST_F(CrosSettingsTest, GetPref) { | 114 TEST_F(CrosSettingsTest, GetPref) { |
116 // We didn't change the default so look for it. | 115 // We didn't change the default so look for it. |
117 AddExpectation(kAccountsPrefAllowGuest, | 116 AddExpectation(kAccountsPrefAllowGuest, base::MakeUnique<base::Value>(true)); |
118 base::MakeUnique<base::FundamentalValue>(true)); | |
119 FetchPref(kAccountsPrefAllowGuest); | 117 FetchPref(kAccountsPrefAllowGuest); |
120 } | 118 } |
121 | 119 |
122 TEST_F(CrosSettingsTest, SetWhitelist) { | 120 TEST_F(CrosSettingsTest, SetWhitelist) { |
123 // Setting the whitelist should also switch the value of | 121 // Setting the whitelist should also switch the value of |
124 // kAccountsPrefAllowNewUser to false. | 122 // kAccountsPrefAllowNewUser to false. |
125 base::ListValue whitelist; | 123 base::ListValue whitelist; |
126 whitelist.AppendString("me@owner"); | 124 whitelist.AppendString("me@owner"); |
127 AddExpectation(kAccountsPrefAllowNewUser, | 125 AddExpectation(kAccountsPrefAllowNewUser, |
128 base::MakeUnique<base::FundamentalValue>(false)); | 126 base::MakeUnique<base::Value>(false)); |
129 AddExpectation(kAccountsPrefUsers, whitelist.CreateDeepCopy()); | 127 AddExpectation(kAccountsPrefUsers, whitelist.CreateDeepCopy()); |
130 SetPref(kAccountsPrefUsers, &whitelist); | 128 SetPref(kAccountsPrefUsers, &whitelist); |
131 FetchPref(kAccountsPrefAllowNewUser); | 129 FetchPref(kAccountsPrefAllowNewUser); |
132 FetchPref(kAccountsPrefUsers); | 130 FetchPref(kAccountsPrefUsers); |
133 } | 131 } |
134 | 132 |
135 TEST_F(CrosSettingsTest, SetWhitelistWithListOps) { | 133 TEST_F(CrosSettingsTest, SetWhitelistWithListOps) { |
136 std::unique_ptr<base::ListValue> whitelist = | 134 std::unique_ptr<base::ListValue> whitelist = |
137 base::MakeUnique<base::ListValue>(); | 135 base::MakeUnique<base::ListValue>(); |
138 base::StringValue hacky_user("h@xxor"); | 136 base::StringValue hacky_user("h@xxor"); |
139 whitelist->Append(hacky_user.CreateDeepCopy()); | 137 whitelist->Append(hacky_user.CreateDeepCopy()); |
140 AddExpectation(kAccountsPrefAllowNewUser, | 138 AddExpectation(kAccountsPrefAllowNewUser, |
141 base::MakeUnique<base::FundamentalValue>(false)); | 139 base::MakeUnique<base::Value>(false)); |
142 AddExpectation(kAccountsPrefUsers, std::move(whitelist)); | 140 AddExpectation(kAccountsPrefUsers, std::move(whitelist)); |
143 // Add some user to the whitelist. | 141 // Add some user to the whitelist. |
144 settings_.AppendToList(kAccountsPrefUsers, &hacky_user); | 142 settings_.AppendToList(kAccountsPrefUsers, &hacky_user); |
145 FetchPref(kAccountsPrefAllowNewUser); | 143 FetchPref(kAccountsPrefAllowNewUser); |
146 FetchPref(kAccountsPrefUsers); | 144 FetchPref(kAccountsPrefUsers); |
147 } | 145 } |
148 | 146 |
149 TEST_F(CrosSettingsTest, SetWhitelistWithListOps2) { | 147 TEST_F(CrosSettingsTest, SetWhitelistWithListOps2) { |
150 base::ListValue whitelist; | 148 base::ListValue whitelist; |
151 base::StringValue hacky_user("h@xxor"); | 149 base::StringValue hacky_user("h@xxor"); |
152 base::StringValue lamy_user("l@mer"); | 150 base::StringValue lamy_user("l@mer"); |
153 whitelist.Append(hacky_user.CreateDeepCopy()); | 151 whitelist.Append(hacky_user.CreateDeepCopy()); |
154 std::unique_ptr<base::ListValue> expected_list = whitelist.CreateDeepCopy(); | 152 std::unique_ptr<base::ListValue> expected_list = whitelist.CreateDeepCopy(); |
155 whitelist.Append(lamy_user.CreateDeepCopy()); | 153 whitelist.Append(lamy_user.CreateDeepCopy()); |
156 AddExpectation(kAccountsPrefAllowNewUser, | 154 AddExpectation(kAccountsPrefAllowNewUser, |
157 base::MakeUnique<base::FundamentalValue>(false)); | 155 base::MakeUnique<base::Value>(false)); |
158 AddExpectation(kAccountsPrefUsers, whitelist.CreateDeepCopy()); | 156 AddExpectation(kAccountsPrefUsers, whitelist.CreateDeepCopy()); |
159 SetPref(kAccountsPrefUsers, &whitelist); | 157 SetPref(kAccountsPrefUsers, &whitelist); |
160 FetchPref(kAccountsPrefAllowNewUser); | 158 FetchPref(kAccountsPrefAllowNewUser); |
161 FetchPref(kAccountsPrefUsers); | 159 FetchPref(kAccountsPrefUsers); |
162 ASSERT_TRUE(expected_props_.empty()); | 160 ASSERT_TRUE(expected_props_.empty()); |
163 // Now try to remove one element from that list. | 161 // Now try to remove one element from that list. |
164 AddExpectation(kAccountsPrefUsers, std::move(expected_list)); | 162 AddExpectation(kAccountsPrefUsers, std::move(expected_list)); |
165 settings_.RemoveFromList(kAccountsPrefUsers, &lamy_user); | 163 settings_.RemoveFromList(kAccountsPrefUsers, &lamy_user); |
166 FetchPref(kAccountsPrefAllowNewUser); | 164 FetchPref(kAccountsPrefAllowNewUser); |
167 FetchPref(kAccountsPrefUsers); | 165 FetchPref(kAccountsPrefUsers); |
168 } | 166 } |
169 | 167 |
170 TEST_F(CrosSettingsTest, SetEmptyWhitelist) { | 168 TEST_F(CrosSettingsTest, SetEmptyWhitelist) { |
171 // Setting the whitelist empty should switch the value of | 169 // Setting the whitelist empty should switch the value of |
172 // kAccountsPrefAllowNewUser to true. | 170 // kAccountsPrefAllowNewUser to true. |
173 base::ListValue whitelist; | 171 base::ListValue whitelist; |
174 AddExpectation(kAccountsPrefAllowNewUser, | 172 AddExpectation(kAccountsPrefAllowNewUser, |
175 base::MakeUnique<base::FundamentalValue>(true)); | 173 base::MakeUnique<base::Value>(true)); |
176 SetPref(kAccountsPrefUsers, &whitelist); | 174 SetPref(kAccountsPrefUsers, &whitelist); |
177 FetchPref(kAccountsPrefAllowNewUser); | 175 FetchPref(kAccountsPrefAllowNewUser); |
178 FetchPref(kAccountsPrefUsers); | 176 FetchPref(kAccountsPrefUsers); |
179 } | 177 } |
180 | 178 |
181 TEST_F(CrosSettingsTest, SetEmptyWhitelistAndNoNewUsers) { | 179 TEST_F(CrosSettingsTest, SetEmptyWhitelistAndNoNewUsers) { |
182 // Setting the whitelist empty and disallowing new users should result in no | 180 // Setting the whitelist empty and disallowing new users should result in no |
183 // new users allowed. | 181 // new users allowed. |
184 base::ListValue whitelist; | 182 base::ListValue whitelist; |
185 base::FundamentalValue disallow_new(false); | 183 base::Value disallow_new(false); |
186 AddExpectation(kAccountsPrefUsers, whitelist.CreateDeepCopy()); | 184 AddExpectation(kAccountsPrefUsers, whitelist.CreateDeepCopy()); |
187 AddExpectation(kAccountsPrefAllowNewUser, | 185 AddExpectation(kAccountsPrefAllowNewUser, |
188 base::MakeUnique<base::FundamentalValue>(false)); | 186 base::MakeUnique<base::Value>(false)); |
189 SetPref(kAccountsPrefUsers, &whitelist); | 187 SetPref(kAccountsPrefUsers, &whitelist); |
190 SetPref(kAccountsPrefAllowNewUser, &disallow_new); | 188 SetPref(kAccountsPrefAllowNewUser, &disallow_new); |
191 FetchPref(kAccountsPrefAllowNewUser); | 189 FetchPref(kAccountsPrefAllowNewUser); |
192 FetchPref(kAccountsPrefUsers); | 190 FetchPref(kAccountsPrefUsers); |
193 } | 191 } |
194 | 192 |
195 TEST_F(CrosSettingsTest, SetWhitelistAndNoNewUsers) { | 193 TEST_F(CrosSettingsTest, SetWhitelistAndNoNewUsers) { |
196 // Setting the whitelist should allow us to set kAccountsPrefAllowNewUser to | 194 // Setting the whitelist should allow us to set kAccountsPrefAllowNewUser to |
197 // false (which is the implicit value too). | 195 // false (which is the implicit value too). |
198 base::ListValue whitelist; | 196 base::ListValue whitelist; |
199 whitelist.AppendString("me@owner"); | 197 whitelist.AppendString("me@owner"); |
200 AddExpectation(kAccountsPrefUsers, whitelist.CreateDeepCopy()); | 198 AddExpectation(kAccountsPrefUsers, whitelist.CreateDeepCopy()); |
201 AddExpectation(kAccountsPrefAllowNewUser, | 199 AddExpectation(kAccountsPrefAllowNewUser, |
202 base::MakeUnique<base::FundamentalValue>(false)); | 200 base::MakeUnique<base::Value>(false)); |
203 SetPref(kAccountsPrefUsers, &whitelist); | 201 SetPref(kAccountsPrefUsers, &whitelist); |
204 SetPref(kAccountsPrefAllowNewUser, | 202 SetPref(kAccountsPrefAllowNewUser, |
205 expected_props_[kAccountsPrefAllowNewUser].get()); | 203 expected_props_[kAccountsPrefAllowNewUser].get()); |
206 FetchPref(kAccountsPrefAllowNewUser); | 204 FetchPref(kAccountsPrefAllowNewUser); |
207 FetchPref(kAccountsPrefUsers); | 205 FetchPref(kAccountsPrefUsers); |
208 } | 206 } |
209 | 207 |
210 TEST_F(CrosSettingsTest, SetAllowNewUsers) { | 208 TEST_F(CrosSettingsTest, SetAllowNewUsers) { |
211 // Setting kAccountsPrefAllowNewUser to true with no whitelist should be ok. | 209 // Setting kAccountsPrefAllowNewUser to true with no whitelist should be ok. |
212 AddExpectation(kAccountsPrefAllowNewUser, | 210 AddExpectation(kAccountsPrefAllowNewUser, |
213 base::MakeUnique<base::FundamentalValue>(true)); | 211 base::MakeUnique<base::Value>(true)); |
214 SetPref(kAccountsPrefAllowNewUser, | 212 SetPref(kAccountsPrefAllowNewUser, |
215 expected_props_[kAccountsPrefAllowNewUser].get()); | 213 expected_props_[kAccountsPrefAllowNewUser].get()); |
216 FetchPref(kAccountsPrefAllowNewUser); | 214 FetchPref(kAccountsPrefAllowNewUser); |
217 } | 215 } |
218 | 216 |
219 TEST_F(CrosSettingsTest, SetEphemeralUsersEnabled) { | 217 TEST_F(CrosSettingsTest, SetEphemeralUsersEnabled) { |
220 base::FundamentalValue ephemeral_users_enabled(true); | 218 base::Value ephemeral_users_enabled(true); |
221 AddExpectation(kAccountsPrefEphemeralUsersEnabled, | 219 AddExpectation(kAccountsPrefEphemeralUsersEnabled, |
222 base::MakeUnique<base::FundamentalValue>(true)); | 220 base::MakeUnique<base::Value>(true)); |
223 SetPref(kAccountsPrefEphemeralUsersEnabled, &ephemeral_users_enabled); | 221 SetPref(kAccountsPrefEphemeralUsersEnabled, &ephemeral_users_enabled); |
224 FetchPref(kAccountsPrefEphemeralUsersEnabled); | 222 FetchPref(kAccountsPrefEphemeralUsersEnabled); |
225 } | 223 } |
226 | 224 |
227 TEST_F(CrosSettingsTest, FindEmailInList) { | 225 TEST_F(CrosSettingsTest, FindEmailInList) { |
228 base::ListValue list; | 226 base::ListValue list; |
229 list.AppendString("user@example.com"); | 227 list.AppendString("user@example.com"); |
230 list.AppendString("nodomain"); | 228 list.AppendString("nodomain"); |
231 list.AppendString("with.dots@gmail.com"); | 229 list.AppendString("with.dots@gmail.com"); |
232 list.AppendString("Upper@example.com"); | 230 list.AppendString("Upper@example.com"); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
269 EXPECT_TRUE(wildcard_match); | 267 EXPECT_TRUE(wildcard_match); |
270 EXPECT_TRUE(cs->FindEmailInList( | 268 EXPECT_TRUE(cs->FindEmailInList( |
271 kAccountsPrefUsers, "user@example.com", &wildcard_match)); | 269 kAccountsPrefUsers, "user@example.com", &wildcard_match)); |
272 EXPECT_FALSE(wildcard_match); | 270 EXPECT_FALSE(wildcard_match); |
273 EXPECT_TRUE(cs->FindEmailInList( | 271 EXPECT_TRUE(cs->FindEmailInList( |
274 kAccountsPrefUsers, "*@example.com", &wildcard_match)); | 272 kAccountsPrefUsers, "*@example.com", &wildcard_match)); |
275 EXPECT_TRUE(wildcard_match); | 273 EXPECT_TRUE(wildcard_match); |
276 } | 274 } |
277 | 275 |
278 } // namespace chromeos | 276 } // namespace chromeos |
OLD | NEW |