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

Side by Side Diff: chrome/browser/extensions/extension_pref_value_map_unittest.cc

Issue 7067040: Enable incognito_session_only preferences (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merged with ToT Created 9 years, 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/memory/ref_counted.h" 6 #include "base/memory/ref_counted.h"
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/values.h" 8 #include "base/values.h"
9 #include "chrome/browser/extensions/extension_pref_value_map.h" 9 #include "chrome/browser/extensions/extension_pref_value_map.h"
10 #include "chrome/common/pref_store_observer_mock.h" 10 #include "chrome/common/pref_store_observer_mock.h"
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 epvm_.RegisterExtension(kExt1, CreateTime(10), true); 274 epvm_.RegisterExtension(kExt1, CreateTime(10), true);
275 275
276 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, CreateVal("val1")); 276 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, CreateVal("val1"));
277 epvm_.SetExtensionState(kExt1, false); 277 epvm_.SetExtensionState(kExt1, false);
278 epvm_.SetExtensionState(kExt1, true); 278 epvm_.SetExtensionState(kExt1, true);
279 EXPECT_EQ("val1", GetValue(kPref1, false)); 279 EXPECT_EQ("val1", GetValue(kPref1, false));
280 } 280 }
281 281
282 struct OverrideIncognitoTestCase { 282 struct OverrideIncognitoTestCase {
283 OverrideIncognitoTestCase(int val_ext1_regular, 283 OverrideIncognitoTestCase(int val_ext1_regular,
284 int val_ext1_incognito, 284 int val_ext1_incognito_pers,
285 int val_ext1_incognito_sess,
285 int val_ext2_regular, 286 int val_ext2_regular,
286 int val_ext2_incognito, 287 int val_ext2_incognito_pers,
288 int val_ext2_incognito_sess,
287 int effective_value_regular, 289 int effective_value_regular,
288 int effective_value_incognito) 290 int effective_value_incognito)
289 : val_ext1_regular_(val_ext1_regular), 291 : val_ext1_regular_(val_ext1_regular),
290 val_ext1_incognito_(val_ext1_incognito), 292 val_ext1_incognito_pers_(val_ext1_incognito_pers),
293 val_ext1_incognito_sess_(val_ext1_incognito_sess),
291 val_ext2_regular_(val_ext2_regular), 294 val_ext2_regular_(val_ext2_regular),
292 val_ext2_incognito_(val_ext2_incognito), 295 val_ext2_incognito_pers_(val_ext2_incognito_pers),
296 val_ext2_incognito_sess_(val_ext2_incognito_sess),
293 effective_value_regular_(effective_value_regular), 297 effective_value_regular_(effective_value_regular),
294 effective_value_incognito_(effective_value_incognito) {} 298 effective_value_incognito_(effective_value_incognito) {}
295 299
300 // pers. = persistent
301 // sess. = session only
296 int val_ext1_regular_; // pref value of extension 1 302 int val_ext1_regular_; // pref value of extension 1
297 int val_ext1_incognito_; // pref value of extension 1 incognito 303 int val_ext1_incognito_pers_; // pref value of extension 1 incognito pers.
304 int val_ext1_incognito_sess_; // pref value of extension 1 incognito sess.
298 int val_ext2_regular_; // pref value of extension 2 305 int val_ext2_regular_; // pref value of extension 2
299 int val_ext2_incognito_; // pref value of extension 2 incognito 306 int val_ext2_incognito_pers_; // pref value of extension 2 incognito pers.
307 int val_ext2_incognito_sess_; // pref value of extension 2 incognito sess.
300 int effective_value_regular_; // desired winner regular 308 int effective_value_regular_; // desired winner regular
301 int effective_value_incognito_; // desired winner incognito 309 int effective_value_incognito_; // desired winner incognito
302 }; 310 };
303 311
304 class ExtensionPrefValueMapTestIncognitoTests 312 class ExtensionPrefValueMapTestIncognitoTests
305 : public ExtensionPrefValueMapTestBase< 313 : public ExtensionPrefValueMapTestBase<
306 testing::TestWithParam<OverrideIncognitoTestCase> > { 314 testing::TestWithParam<OverrideIncognitoTestCase> > {
307 }; 315 };
308 316
309 TEST_P(ExtensionPrefValueMapTestIncognitoTests, OverrideIncognito) { 317 TEST_P(ExtensionPrefValueMapTestIncognitoTests, OverrideIncognito) {
310 using namespace extension_prefs_scope; 318 using namespace extension_prefs_scope;
311 OverrideIncognitoTestCase test = GetParam(); 319 OverrideIncognitoTestCase test = GetParam();
312 const char* strings[] = { 320 const char* strings[] = {
313 "undefined", 321 "undefined",
314 "val1", 322 "val1",
315 "val2", 323 "val2",
316 "val3", 324 "val3",
317 "val4" 325 "val4",
326 "val5",
327 "val6"
318 }; 328 };
319 329
320 epvm_.RegisterExtension(kExt1, CreateTime(10), true); 330 epvm_.RegisterExtension(kExt1, CreateTime(10), true);
321 epvm_.RegisterExtension(kExt2, CreateTime(20), true); 331 epvm_.RegisterExtension(kExt2, CreateTime(20), true);
322 if (test.val_ext1_regular_) { 332 if (test.val_ext1_regular_) {
323 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, 333 epvm_.SetExtensionPref(kExt1, kPref1, kRegular,
324 CreateVal(strings[test.val_ext1_regular_])); 334 CreateVal(strings[test.val_ext1_regular_]));
325 } 335 }
326 if (test.val_ext1_incognito_) { 336 if (test.val_ext1_incognito_pers_) {
327 epvm_.SetExtensionPref(kExt1, kPref1, kIncognitoPersistent, 337 epvm_.SetExtensionPref(kExt1, kPref1, kIncognitoPersistent,
328 CreateVal(strings[test.val_ext1_incognito_])); 338 CreateVal(strings[test.val_ext1_incognito_pers_]));
339 }
340 if (test.val_ext1_incognito_sess_) {
341 epvm_.SetExtensionPref(kExt1, kPref1, kIncognitoSessionOnly,
342 CreateVal(strings[test.val_ext1_incognito_sess_]));
329 } 343 }
330 if (test.val_ext2_regular_) { 344 if (test.val_ext2_regular_) {
331 epvm_.SetExtensionPref(kExt2, kPref1, kRegular, 345 epvm_.SetExtensionPref(kExt2, kPref1, kRegular,
332 CreateVal(strings[test.val_ext2_regular_])); 346 CreateVal(strings[test.val_ext2_regular_]));
333 } 347 }
334 if (test.val_ext2_incognito_) { 348 if (test.val_ext2_incognito_pers_) {
335 epvm_.SetExtensionPref(kExt2, kPref1, kIncognitoPersistent, 349 epvm_.SetExtensionPref(kExt2, kPref1, kIncognitoPersistent,
336 CreateVal(strings[test.val_ext2_incognito_])); 350 CreateVal(strings[test.val_ext2_incognito_pers_]));
351 }
352 if (test.val_ext2_incognito_sess_) {
353 epvm_.SetExtensionPref(kExt2, kPref1, kIncognitoSessionOnly,
354 CreateVal(strings[test.val_ext2_incognito_sess_]));
337 } 355 }
338 std::string actual; 356 std::string actual;
339 EXPECT_EQ(strings[test.effective_value_regular_], GetValue(kPref1, false)); 357 EXPECT_EQ(strings[test.effective_value_regular_], GetValue(kPref1, false));
340 EXPECT_EQ(strings[test.effective_value_incognito_], GetValue(kPref1, true)); 358 EXPECT_EQ(strings[test.effective_value_incognito_], GetValue(kPref1, true));
341 epvm_.UnregisterExtension(kExt1); 359 epvm_.UnregisterExtension(kExt1);
342 epvm_.UnregisterExtension(kExt2); 360 epvm_.UnregisterExtension(kExt2);
343 } 361 }
344 362
345 INSTANTIATE_TEST_CASE_P( 363 INSTANTIATE_TEST_CASE_P(
346 ExtensionPrefValueMapTestIncognitoTestsInstance, 364 ExtensionPrefValueMapTestIncognitoTestsInstance,
347 ExtensionPrefValueMapTestIncognitoTests, 365 ExtensionPrefValueMapTestIncognitoTests,
348 testing::Values( 366 testing::Values(
349 // e.g. (1, 0, 0, 4, 1, 4), means: 367 // e.g. (1, 0, 0, 0, 4, 0, 1, 4), means:
350 // ext1 regular is set to "val1", ext2 incognito is set to "val4" 368 // ext1 regular is set to "val1", ext2 incognito persistent is set to
369 // "val4"
351 // --> the winning regular value is "val1", the winning incognito 370 // --> the winning regular value is "val1", the winning incognito
352 // value is "val4". 371 // value is "val4".
353 OverrideIncognitoTestCase(1, 0, 0, 0, 1, 1), 372 OverrideIncognitoTestCase(1, 0, 0, 0, 0, 0, 1, 1),
354 OverrideIncognitoTestCase(1, 2, 0, 0, 1, 2), 373 OverrideIncognitoTestCase(1, 2, 0, 0, 0, 0, 1, 2),
355 OverrideIncognitoTestCase(1, 0, 3, 0, 3, 3), 374 OverrideIncognitoTestCase(1, 0, 3, 0, 0, 0, 1, 3),
356 OverrideIncognitoTestCase(1, 0, 0, 4, 1, 4), 375 OverrideIncognitoTestCase(1, 0, 0, 4, 0, 0, 4, 4),
357 // The last 3 in the following line is intentional! 376 OverrideIncognitoTestCase(1, 0, 0, 0, 5, 0, 1, 5),
358 OverrideIncognitoTestCase(1, 2, 3, 0, 3, 3), 377 OverrideIncognitoTestCase(1, 0, 0, 0, 0, 6, 1, 6),
359 OverrideIncognitoTestCase(1, 2, 0, 4, 1, 4), 378 // The last 4 in the following line is intentional!
360 OverrideIncognitoTestCase(1, 2, 3, 4, 3, 4))); 379 OverrideIncognitoTestCase(1, 2, 0, 4, 0, 0, 4, 4),
380 OverrideIncognitoTestCase(1, 2, 0, 0, 5, 0, 1, 5),
381 OverrideIncognitoTestCase(1, 2, 3, 0, 5, 0, 1, 5),
382 OverrideIncognitoTestCase(1, 2, 0, 3, 5, 0, 3, 5),
383 OverrideIncognitoTestCase(1, 2, 0, 3, 5, 6, 3, 6)));
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_pref_value_map.cc ('k') | chrome/browser/extensions/extension_preference_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698