Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(332)

Side by Side Diff: chrome/browser/extensions/api/preference/preference_api_prefs_unittest.cc

Issue 22885002: c/b/extensions, json_schema_compiler: Do not use Value::Create*. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Removed C-style casts. Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 <string> 5 #include <string>
6 6
7 #include "base/memory/ref_counted.h" 7 #include "base/memory/ref_counted.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/prefs/mock_pref_change_callback.h" 9 #include "base/prefs/mock_pref_change_callback.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 } 175 }
176 } 176 }
177 prefs()->OnExtensionUninstalled(extension_id, Manifest::INTERNAL, false); 177 prefs()->OnExtensionUninstalled(extension_id, Manifest::INTERNAL, false);
178 } 178 }
179 179
180 class ControlledPrefsInstallOneExtension 180 class ControlledPrefsInstallOneExtension
181 : public ExtensionControlledPrefsTest { 181 : public ExtensionControlledPrefsTest {
182 virtual void Initialize() OVERRIDE { 182 virtual void Initialize() OVERRIDE {
183 InstallExtensionControlledPref(extension1(), 183 InstallExtensionControlledPref(extension1(),
184 kPref1, 184 kPref1,
185 Value::CreateStringValue("val1")); 185 new base::StringValue("val1"));
186 } 186 }
187 virtual void Verify() OVERRIDE { 187 virtual void Verify() OVERRIDE {
188 std::string actual = prefs()->pref_service()->GetString(kPref1); 188 std::string actual = prefs()->pref_service()->GetString(kPref1);
189 EXPECT_EQ("val1", actual); 189 EXPECT_EQ("val1", actual);
190 } 190 }
191 }; 191 };
192 TEST_F(ControlledPrefsInstallOneExtension, 192 TEST_F(ControlledPrefsInstallOneExtension,
193 ControlledPrefsInstallOneExtension) { } 193 ControlledPrefsInstallOneExtension) { }
194 194
195 // Check that we do not forget persistent incognito values after a reload. 195 // Check that we do not forget persistent incognito values after a reload.
196 class ControlledPrefsInstallIncognitoPersistent 196 class ControlledPrefsInstallIncognitoPersistent
197 : public ExtensionControlledPrefsTest { 197 : public ExtensionControlledPrefsTest {
198 public: 198 public:
199 virtual void Initialize() OVERRIDE { 199 virtual void Initialize() OVERRIDE {
200 InstallExtensionControlledPref( 200 InstallExtensionControlledPref(
201 extension1(), kPref1, Value::CreateStringValue("val1")); 201 extension1(), kPref1, new base::StringValue("val1"));
202 InstallExtensionControlledPrefIncognito( 202 InstallExtensionControlledPrefIncognito(
203 extension1(), kPref1, Value::CreateStringValue("val2")); 203 extension1(), kPref1, new base::StringValue("val2"));
204 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); 204 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
205 std::string actual = incog_prefs->GetString(kPref1); 205 std::string actual = incog_prefs->GetString(kPref1);
206 EXPECT_EQ("val2", actual); 206 EXPECT_EQ("val2", actual);
207 } 207 }
208 208
209 virtual void Verify() OVERRIDE { 209 virtual void Verify() OVERRIDE {
210 // Main pref service shall see only non-incognito settings. 210 // Main pref service shall see only non-incognito settings.
211 std::string actual = prefs()->pref_service()->GetString(kPref1); 211 std::string actual = prefs()->pref_service()->GetString(kPref1);
212 EXPECT_EQ("val1", actual); 212 EXPECT_EQ("val1", actual);
213 // Incognito pref service shall see incognito values. 213 // Incognito pref service shall see incognito values.
214 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); 214 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
215 actual = incog_prefs->GetString(kPref1); 215 actual = incog_prefs->GetString(kPref1);
216 EXPECT_EQ("val2", actual); 216 EXPECT_EQ("val2", actual);
217 } 217 }
218 }; 218 };
219 TEST_F(ControlledPrefsInstallIncognitoPersistent, 219 TEST_F(ControlledPrefsInstallIncognitoPersistent,
220 ControlledPrefsInstallIncognitoPersistent) { } 220 ControlledPrefsInstallIncognitoPersistent) { }
221 221
222 // Check that we forget 'session only' incognito values after a reload. 222 // Check that we forget 'session only' incognito values after a reload.
223 class ControlledPrefsInstallIncognitoSessionOnly 223 class ControlledPrefsInstallIncognitoSessionOnly
224 : public ExtensionControlledPrefsTest { 224 : public ExtensionControlledPrefsTest {
225 public: 225 public:
226 ControlledPrefsInstallIncognitoSessionOnly() : iteration_(0) {} 226 ControlledPrefsInstallIncognitoSessionOnly() : iteration_(0) {}
227 227
228 virtual void Initialize() OVERRIDE { 228 virtual void Initialize() OVERRIDE {
229 InstallExtensionControlledPref( 229 InstallExtensionControlledPref(
230 extension1(), kPref1, Value::CreateStringValue("val1")); 230 extension1(), kPref1, new base::StringValue("val1"));
231 InstallExtensionControlledPrefIncognitoSessionOnly( 231 InstallExtensionControlledPrefIncognitoSessionOnly(
232 extension1(), kPref1, Value::CreateStringValue("val2")); 232 extension1(), kPref1, new base::StringValue("val2"));
233 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); 233 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
234 std::string actual = incog_prefs->GetString(kPref1); 234 std::string actual = incog_prefs->GetString(kPref1);
235 EXPECT_EQ("val2", actual); 235 EXPECT_EQ("val2", actual);
236 } 236 }
237 virtual void Verify() OVERRIDE { 237 virtual void Verify() OVERRIDE {
238 // Main pref service shall see only non-incognito settings. 238 // Main pref service shall see only non-incognito settings.
239 std::string actual = prefs()->pref_service()->GetString(kPref1); 239 std::string actual = prefs()->pref_service()->GetString(kPref1);
240 EXPECT_EQ("val1", actual); 240 EXPECT_EQ("val1", actual);
241 // Incognito pref service shall see session-only incognito values only 241 // Incognito pref service shall see session-only incognito values only
242 // during first run. Once the pref service was reloaded, all values shall be 242 // during first run. Once the pref service was reloaded, all values shall be
243 // discarded. 243 // discarded.
244 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); 244 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
245 actual = incog_prefs->GetString(kPref1); 245 actual = incog_prefs->GetString(kPref1);
246 if (iteration_ == 0) { 246 if (iteration_ == 0) {
247 EXPECT_EQ("val2", actual); 247 EXPECT_EQ("val2", actual);
248 } else { 248 } else {
249 EXPECT_EQ("val1", actual); 249 EXPECT_EQ("val1", actual);
250 } 250 }
251 ++iteration_; 251 ++iteration_;
252 } 252 }
253 int iteration_; 253 int iteration_;
254 }; 254 };
255 TEST_F(ControlledPrefsInstallIncognitoSessionOnly, 255 TEST_F(ControlledPrefsInstallIncognitoSessionOnly,
256 ControlledPrefsInstallIncognitoSessionOnly) { } 256 ControlledPrefsInstallIncognitoSessionOnly) { }
257 257
258 class ControlledPrefsUninstallExtension : public ExtensionControlledPrefsTest { 258 class ControlledPrefsUninstallExtension : public ExtensionControlledPrefsTest {
259 virtual void Initialize() OVERRIDE { 259 virtual void Initialize() OVERRIDE {
260 InstallExtensionControlledPref( 260 InstallExtensionControlledPref(
261 extension1(), kPref1, Value::CreateStringValue("val1")); 261 extension1(), kPref1, new base::StringValue("val1"));
262 InstallExtensionControlledPref( 262 InstallExtensionControlledPref(
263 extension1(), kPref2, Value::CreateStringValue("val2")); 263 extension1(), kPref2, new base::StringValue("val2"));
264 ContentSettingsStore* store = prefs()->content_settings_store(); 264 ContentSettingsStore* store = prefs()->content_settings_store();
265 ContentSettingsPattern pattern = 265 ContentSettingsPattern pattern =
266 ContentSettingsPattern::FromString("http://[*.]example.com"); 266 ContentSettingsPattern::FromString("http://[*.]example.com");
267 store->SetExtensionContentSetting(extension1()->id(), 267 store->SetExtensionContentSetting(extension1()->id(),
268 pattern, pattern, 268 pattern, pattern,
269 CONTENT_SETTINGS_TYPE_IMAGES, 269 CONTENT_SETTINGS_TYPE_IMAGES,
270 std::string(), 270 std::string(),
271 CONTENT_SETTING_BLOCK, 271 CONTENT_SETTING_BLOCK,
272 kExtensionPrefsScopeRegular); 272 kExtensionPrefsScopeRegular);
273 273
(...skipping 27 matching lines...) Expand all
301 MockPrefChangeCallback incognito_observer(prefs()->pref_service()); 301 MockPrefChangeCallback incognito_observer(prefs()->pref_service());
302 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); 302 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
303 PrefChangeRegistrar incognito_registrar; 303 PrefChangeRegistrar incognito_registrar;
304 incognito_registrar.Init(incog_prefs.get()); 304 incognito_registrar.Init(incog_prefs.get());
305 incognito_registrar.Add(kPref1, incognito_observer.GetCallback()); 305 incognito_registrar.Add(kPref1, incognito_observer.GetCallback());
306 306
307 // Write value and check notification. 307 // Write value and check notification.
308 EXPECT_CALL(observer, OnPreferenceChanged(_)); 308 EXPECT_CALL(observer, OnPreferenceChanged(_));
309 EXPECT_CALL(incognito_observer, OnPreferenceChanged(_)); 309 EXPECT_CALL(incognito_observer, OnPreferenceChanged(_));
310 InstallExtensionControlledPref(extension1(), kPref1, 310 InstallExtensionControlledPref(extension1(), kPref1,
311 Value::CreateStringValue("https://www.chromium.org")); 311 new base::StringValue("https://www.chromium.org"));
312 Mock::VerifyAndClearExpectations(&observer); 312 Mock::VerifyAndClearExpectations(&observer);
313 Mock::VerifyAndClearExpectations(&incognito_observer); 313 Mock::VerifyAndClearExpectations(&incognito_observer);
314 314
315 // Write same value. 315 // Write same value.
316 EXPECT_CALL(observer, OnPreferenceChanged(_)).Times(0); 316 EXPECT_CALL(observer, OnPreferenceChanged(_)).Times(0);
317 EXPECT_CALL(incognito_observer, OnPreferenceChanged(_)).Times(0); 317 EXPECT_CALL(incognito_observer, OnPreferenceChanged(_)).Times(0);
318 InstallExtensionControlledPref(extension1(), kPref1, 318 InstallExtensionControlledPref(extension1(), kPref1,
319 Value::CreateStringValue("https://www.chromium.org")); 319 new base::StringValue("https://www.chromium.org"));
320 Mock::VerifyAndClearExpectations(&observer); 320 Mock::VerifyAndClearExpectations(&observer);
321 Mock::VerifyAndClearExpectations(&incognito_observer); 321 Mock::VerifyAndClearExpectations(&incognito_observer);
322 322
323 // Change value. 323 // Change value.
324 EXPECT_CALL(observer, OnPreferenceChanged(_)); 324 EXPECT_CALL(observer, OnPreferenceChanged(_));
325 EXPECT_CALL(incognito_observer, OnPreferenceChanged(_)); 325 EXPECT_CALL(incognito_observer, OnPreferenceChanged(_));
326 InstallExtensionControlledPref(extension1(), kPref1, 326 InstallExtensionControlledPref(extension1(), kPref1,
327 Value::CreateStringValue("chrome://newtab")); 327 new base::StringValue("chrome://newtab"));
328 Mock::VerifyAndClearExpectations(&observer); 328 Mock::VerifyAndClearExpectations(&observer);
329 Mock::VerifyAndClearExpectations(&incognito_observer); 329 Mock::VerifyAndClearExpectations(&incognito_observer);
330 // Change only incognito persistent value. 330 // Change only incognito persistent value.
331 EXPECT_CALL(observer, OnPreferenceChanged(_)).Times(0); 331 EXPECT_CALL(observer, OnPreferenceChanged(_)).Times(0);
332 EXPECT_CALL(incognito_observer, OnPreferenceChanged(_)); 332 EXPECT_CALL(incognito_observer, OnPreferenceChanged(_));
333 InstallExtensionControlledPrefIncognito(extension1(), kPref1, 333 InstallExtensionControlledPrefIncognito(extension1(), kPref1,
334 Value::CreateStringValue("chrome://newtab2")); 334 new base::StringValue("chrome://newtab2"));
335 Mock::VerifyAndClearExpectations(&observer); 335 Mock::VerifyAndClearExpectations(&observer);
336 Mock::VerifyAndClearExpectations(&incognito_observer); 336 Mock::VerifyAndClearExpectations(&incognito_observer);
337 337
338 // Change only incognito session-only value. 338 // Change only incognito session-only value.
339 EXPECT_CALL(observer, OnPreferenceChanged(_)).Times(0); 339 EXPECT_CALL(observer, OnPreferenceChanged(_)).Times(0);
340 EXPECT_CALL(incognito_observer, OnPreferenceChanged(_)); 340 EXPECT_CALL(incognito_observer, OnPreferenceChanged(_));
341 InstallExtensionControlledPrefIncognito(extension1(), kPref1, 341 InstallExtensionControlledPrefIncognito(extension1(), kPref1,
342 Value::CreateStringValue("chrome://newtab3")); 342 new base::StringValue("chrome://newtab3"));
343 Mock::VerifyAndClearExpectations(&observer); 343 Mock::VerifyAndClearExpectations(&observer);
344 Mock::VerifyAndClearExpectations(&incognito_observer); 344 Mock::VerifyAndClearExpectations(&incognito_observer);
345 345
346 // Uninstall. 346 // Uninstall.
347 EXPECT_CALL(observer, OnPreferenceChanged(_)); 347 EXPECT_CALL(observer, OnPreferenceChanged(_));
348 EXPECT_CALL(incognito_observer, OnPreferenceChanged(_)); 348 EXPECT_CALL(incognito_observer, OnPreferenceChanged(_));
349 UninstallExtension(extension1()->id()); 349 UninstallExtension(extension1()->id());
350 Mock::VerifyAndClearExpectations(&observer); 350 Mock::VerifyAndClearExpectations(&observer);
351 Mock::VerifyAndClearExpectations(&incognito_observer); 351 Mock::VerifyAndClearExpectations(&incognito_observer);
352 352
353 registrar.Remove(kPref1); 353 registrar.Remove(kPref1);
354 incognito_registrar.Remove(kPref1); 354 incognito_registrar.Remove(kPref1);
355 } 355 }
356 virtual void Verify() OVERRIDE { 356 virtual void Verify() OVERRIDE {
357 std::string actual = prefs()->pref_service()->GetString(kPref1); 357 std::string actual = prefs()->pref_service()->GetString(kPref1);
358 EXPECT_EQ(kDefaultPref1, actual); 358 EXPECT_EQ(kDefaultPref1, actual);
359 } 359 }
360 }; 360 };
361 TEST_F(ControlledPrefsNotifyWhenNeeded, 361 TEST_F(ControlledPrefsNotifyWhenNeeded,
362 ControlledPrefsNotifyWhenNeeded) { } 362 ControlledPrefsNotifyWhenNeeded) { }
363 363
364 // Tests disabling an extension. 364 // Tests disabling an extension.
365 class ControlledPrefsDisableExtension : public ExtensionControlledPrefsTest { 365 class ControlledPrefsDisableExtension : public ExtensionControlledPrefsTest {
366 virtual void Initialize() OVERRIDE { 366 virtual void Initialize() OVERRIDE {
367 InstallExtensionControlledPref( 367 InstallExtensionControlledPref(
368 extension1(), kPref1, Value::CreateStringValue("val1")); 368 extension1(), kPref1, new base::StringValue("val1"));
369 std::string actual = prefs()->pref_service()->GetString(kPref1); 369 std::string actual = prefs()->pref_service()->GetString(kPref1);
370 EXPECT_EQ("val1", actual); 370 EXPECT_EQ("val1", actual);
371 prefs()->SetExtensionState(extension1()->id(), Extension::DISABLED); 371 prefs()->SetExtensionState(extension1()->id(), Extension::DISABLED);
372 } 372 }
373 virtual void Verify() OVERRIDE { 373 virtual void Verify() OVERRIDE {
374 std::string actual = prefs()->pref_service()->GetString(kPref1); 374 std::string actual = prefs()->pref_service()->GetString(kPref1);
375 EXPECT_EQ(kDefaultPref1, actual); 375 EXPECT_EQ(kDefaultPref1, actual);
376 } 376 }
377 }; 377 };
378 TEST_F(ControlledPrefsDisableExtension, ControlledPrefsDisableExtension) { } 378 TEST_F(ControlledPrefsDisableExtension, ControlledPrefsDisableExtension) { }
379 379
380 // Tests disabling and reenabling an extension. 380 // Tests disabling and reenabling an extension.
381 class ControlledPrefsReenableExtension : public ExtensionControlledPrefsTest { 381 class ControlledPrefsReenableExtension : public ExtensionControlledPrefsTest {
382 virtual void Initialize() OVERRIDE { 382 virtual void Initialize() OVERRIDE {
383 InstallExtensionControlledPref( 383 InstallExtensionControlledPref(
384 extension1(), kPref1, Value::CreateStringValue("val1")); 384 extension1(), kPref1, new base::StringValue("val1"));
385 prefs()->SetExtensionState(extension1()->id(), Extension::DISABLED); 385 prefs()->SetExtensionState(extension1()->id(), Extension::DISABLED);
386 prefs()->SetExtensionState(extension1()->id(), Extension::ENABLED); 386 prefs()->SetExtensionState(extension1()->id(), Extension::ENABLED);
387 } 387 }
388 virtual void Verify() OVERRIDE { 388 virtual void Verify() OVERRIDE {
389 std::string actual = prefs()->pref_service()->GetString(kPref1); 389 std::string actual = prefs()->pref_service()->GetString(kPref1);
390 EXPECT_EQ("val1", actual); 390 EXPECT_EQ("val1", actual);
391 } 391 }
392 }; 392 };
393 TEST_F(ControlledPrefsDisableExtension, ControlledPrefsReenableExtension) { } 393 TEST_F(ControlledPrefsDisableExtension, ControlledPrefsReenableExtension) { }
394 394
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 441
442 // Tests that the switches::kDisableExtensions command-line flag prevents 442 // Tests that the switches::kDisableExtensions command-line flag prevents
443 // extension controlled preferences from being enacted. 443 // extension controlled preferences from being enacted.
444 class ControlledPrefsDisableExtensions : public ExtensionControlledPrefsTest { 444 class ControlledPrefsDisableExtensions : public ExtensionControlledPrefsTest {
445 public: 445 public:
446 ControlledPrefsDisableExtensions() 446 ControlledPrefsDisableExtensions()
447 : iteration_(0) {} 447 : iteration_(0) {}
448 virtual ~ControlledPrefsDisableExtensions() {} 448 virtual ~ControlledPrefsDisableExtensions() {}
449 virtual void Initialize() OVERRIDE { 449 virtual void Initialize() OVERRIDE {
450 InstallExtensionControlledPref( 450 InstallExtensionControlledPref(
451 extension1(), kPref1, Value::CreateStringValue("val1")); 451 extension1(), kPref1, new base::StringValue("val1"));
452 // This becomes only active in the second verification phase. 452 // This becomes only active in the second verification phase.
453 prefs_.set_extensions_disabled(true); 453 prefs_.set_extensions_disabled(true);
454 } 454 }
455 virtual void Verify() OVERRIDE { 455 virtual void Verify() OVERRIDE {
456 std::string actual = prefs()->pref_service()->GetString(kPref1); 456 std::string actual = prefs()->pref_service()->GetString(kPref1);
457 if (iteration_ == 0) { 457 if (iteration_ == 0) {
458 EXPECT_EQ("val1", actual); 458 EXPECT_EQ("val1", actual);
459 ++iteration_; 459 ++iteration_;
460 } else { 460 } else {
461 EXPECT_EQ(kDefaultPref1, actual); 461 EXPECT_EQ(kDefaultPref1, actual);
462 } 462 }
463 } 463 }
464 464
465 private: 465 private:
466 int iteration_; 466 int iteration_;
467 }; 467 };
468 TEST_F(ControlledPrefsDisableExtensions, ControlledPrefsDisableExtensions) { } 468 TEST_F(ControlledPrefsDisableExtensions, ControlledPrefsDisableExtensions) { }
469 469
470 } // namespace extensions 470 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/api/preference/preference_api.cc ('k') | chrome/browser/extensions/api/processes/processes_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698