OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "components/flags_ui/flags_state.h" | 5 #include "components/flags_ui/flags_state.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <map> | 9 #include <map> |
10 #include <memory> | 10 #include <memory> |
(...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
402 switch_list[kSwitch1] = base::CommandLine::StringType(); | 402 switch_list[kSwitch1] = base::CommandLine::StringType(); |
403 switch_list[switches::kFlagSwitchesBegin] = base::CommandLine::StringType(); | 403 switch_list[switches::kFlagSwitchesBegin] = base::CommandLine::StringType(); |
404 switch_list[switches::kFlagSwitchesEnd] = base::CommandLine::StringType(); | 404 switch_list[switches::kFlagSwitchesEnd] = base::CommandLine::StringType(); |
405 switch_list["foo"] = base::CommandLine::StringType(); | 405 switch_list["foo"] = base::CommandLine::StringType(); |
406 | 406 |
407 flags_state_->SetFeatureEntryEnabled(&flags_storage_, kFlags1, true); | 407 flags_state_->SetFeatureEntryEnabled(&flags_storage_, kFlags1, true); |
408 | 408 |
409 // This shouldn't do anything before ConvertFlagsToSwitches() wasn't called. | 409 // This shouldn't do anything before ConvertFlagsToSwitches() wasn't called. |
410 flags_state_->RemoveFlagsSwitches(&switch_list); | 410 flags_state_->RemoveFlagsSwitches(&switch_list); |
411 ASSERT_EQ(4u, switch_list.size()); | 411 ASSERT_EQ(4u, switch_list.size()); |
412 EXPECT_TRUE(ContainsKey(switch_list, kSwitch1)); | 412 EXPECT_TRUE(base::ContainsKey(switch_list, kSwitch1)); |
413 EXPECT_TRUE(ContainsKey(switch_list, switches::kFlagSwitchesBegin)); | 413 EXPECT_TRUE(base::ContainsKey(switch_list, switches::kFlagSwitchesBegin)); |
414 EXPECT_TRUE(ContainsKey(switch_list, switches::kFlagSwitchesEnd)); | 414 EXPECT_TRUE(base::ContainsKey(switch_list, switches::kFlagSwitchesEnd)); |
415 EXPECT_TRUE(ContainsKey(switch_list, "foo")); | 415 EXPECT_TRUE(base::ContainsKey(switch_list, "foo")); |
416 | 416 |
417 // Call ConvertFlagsToSwitches(), then RemoveFlagsSwitches() again. | 417 // Call ConvertFlagsToSwitches(), then RemoveFlagsSwitches() again. |
418 base::CommandLine command_line(base::CommandLine::NO_PROGRAM); | 418 base::CommandLine command_line(base::CommandLine::NO_PROGRAM); |
419 command_line.AppendSwitch("foo"); | 419 command_line.AppendSwitch("foo"); |
420 flags_state_->ConvertFlagsToSwitches(&flags_storage_, &command_line, | 420 flags_state_->ConvertFlagsToSwitches(&flags_storage_, &command_line, |
421 kAddSentinels, kEnableFeatures, | 421 kAddSentinels, kEnableFeatures, |
422 kDisableFeatures); | 422 kDisableFeatures); |
423 flags_state_->RemoveFlagsSwitches(&switch_list); | 423 flags_state_->RemoveFlagsSwitches(&switch_list); |
424 | 424 |
425 // Now the about:flags-related switch should have been removed. | 425 // Now the about:flags-related switch should have been removed. |
426 ASSERT_EQ(1u, switch_list.size()); | 426 ASSERT_EQ(1u, switch_list.size()); |
427 EXPECT_TRUE(ContainsKey(switch_list, "foo")); | 427 EXPECT_TRUE(base::ContainsKey(switch_list, "foo")); |
428 } | 428 } |
429 | 429 |
430 TEST_F(FlagsStateTest, RemoveFlagSwitches_Features) { | 430 TEST_F(FlagsStateTest, RemoveFlagSwitches_Features) { |
431 struct { | 431 struct { |
432 int enabled_choice; // 0: default, 1: enabled, 2: disabled. | 432 int enabled_choice; // 0: default, 1: enabled, 2: disabled. |
433 const char* existing_enable_features; | 433 const char* existing_enable_features; |
434 const char* existing_disable_features; | 434 const char* existing_disable_features; |
435 const char* expected_enable_features; | 435 const char* expected_enable_features; |
436 const char* expected_disable_features; | 436 const char* expected_disable_features; |
437 } cases[] = { | 437 } cases[] = { |
(...skipping 30 matching lines...) Expand all Loading... |
468 | 468 |
469 const std::string entry_name = base::StringPrintf( | 469 const std::string entry_name = base::StringPrintf( |
470 "%s%s%d", kFlags7, testing::kMultiSeparator, cases[i].enabled_choice); | 470 "%s%s%d", kFlags7, testing::kMultiSeparator, cases[i].enabled_choice); |
471 flags_state_->SetFeatureEntryEnabled(&flags_storage_, entry_name, true); | 471 flags_state_->SetFeatureEntryEnabled(&flags_storage_, entry_name, true); |
472 | 472 |
473 flags_state_->ConvertFlagsToSwitches(&flags_storage_, &command_line, | 473 flags_state_->ConvertFlagsToSwitches(&flags_storage_, &command_line, |
474 kAddSentinels, kEnableFeatures, | 474 kAddSentinels, kEnableFeatures, |
475 kDisableFeatures); | 475 kDisableFeatures); |
476 auto switch_list = command_line.GetSwitches(); | 476 auto switch_list = command_line.GetSwitches(); |
477 EXPECT_EQ(cases[i].expected_enable_features != nullptr, | 477 EXPECT_EQ(cases[i].expected_enable_features != nullptr, |
478 ContainsKey(switch_list, kEnableFeatures)); | 478 base::ContainsKey(switch_list, kEnableFeatures)); |
479 if (cases[i].expected_enable_features) | 479 if (cases[i].expected_enable_features) |
480 EXPECT_EQ(CreateSwitch(cases[i].expected_enable_features), | 480 EXPECT_EQ(CreateSwitch(cases[i].expected_enable_features), |
481 switch_list[kEnableFeatures]); | 481 switch_list[kEnableFeatures]); |
482 | 482 |
483 EXPECT_EQ(cases[i].expected_disable_features != nullptr, | 483 EXPECT_EQ(cases[i].expected_disable_features != nullptr, |
484 ContainsKey(switch_list, kDisableFeatures)); | 484 base::ContainsKey(switch_list, kDisableFeatures)); |
485 if (cases[i].expected_disable_features) | 485 if (cases[i].expected_disable_features) |
486 EXPECT_EQ(CreateSwitch(cases[i].expected_disable_features), | 486 EXPECT_EQ(CreateSwitch(cases[i].expected_disable_features), |
487 switch_list[kDisableFeatures]); | 487 switch_list[kDisableFeatures]); |
488 | 488 |
489 // RemoveFlagsSwitches() should result in the original values for these | 489 // RemoveFlagsSwitches() should result in the original values for these |
490 // switches. | 490 // switches. |
491 switch_list = command_line.GetSwitches(); | 491 switch_list = command_line.GetSwitches(); |
492 flags_state_->RemoveFlagsSwitches(&switch_list); | 492 flags_state_->RemoveFlagsSwitches(&switch_list); |
493 EXPECT_EQ(cases[i].existing_enable_features != nullptr, | 493 EXPECT_EQ(cases[i].existing_enable_features != nullptr, |
494 ContainsKey(switch_list, kEnableFeatures)); | 494 base::ContainsKey(switch_list, kEnableFeatures)); |
495 if (cases[i].existing_enable_features) | 495 if (cases[i].existing_enable_features) |
496 EXPECT_EQ(CreateSwitch(cases[i].existing_enable_features), | 496 EXPECT_EQ(CreateSwitch(cases[i].existing_enable_features), |
497 switch_list[kEnableFeatures]); | 497 switch_list[kEnableFeatures]); |
498 EXPECT_EQ(cases[i].existing_disable_features != nullptr, | 498 EXPECT_EQ(cases[i].existing_disable_features != nullptr, |
499 ContainsKey(switch_list, kEnableFeatures)); | 499 base::ContainsKey(switch_list, kEnableFeatures)); |
500 if (cases[i].existing_disable_features) | 500 if (cases[i].existing_disable_features) |
501 EXPECT_EQ(CreateSwitch(cases[i].existing_disable_features), | 501 EXPECT_EQ(CreateSwitch(cases[i].existing_disable_features), |
502 switch_list[kDisableFeatures]); | 502 switch_list[kDisableFeatures]); |
503 } | 503 } |
504 } | 504 } |
505 | 505 |
506 // Tests enabling entries that aren't supported on the current platform. | 506 // Tests enabling entries that aren't supported on the current platform. |
507 TEST_F(FlagsStateTest, PersistAndPrune) { | 507 TEST_F(FlagsStateTest, PersistAndPrune) { |
508 // Enable entries 1 and 3. | 508 // Enable entries 1 and 3. |
509 flags_state_->SetFeatureEntryEnabled(&flags_storage_, kFlags1, true); | 509 flags_state_->SetFeatureEntryEnabled(&flags_storage_, kFlags1, true); |
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
781 &supported_entries, &unsupported_entries, | 781 &supported_entries, &unsupported_entries, |
782 base::Bind(&SkipFeatureEntry)); | 782 base::Bind(&SkipFeatureEntry)); |
783 // All |kEntries| except for |kFlags3| should be supported. | 783 // All |kEntries| except for |kFlags3| should be supported. |
784 EXPECT_EQ(7u, supported_entries.GetSize()); | 784 EXPECT_EQ(7u, supported_entries.GetSize()); |
785 EXPECT_EQ(1u, unsupported_entries.GetSize()); | 785 EXPECT_EQ(1u, unsupported_entries.GetSize()); |
786 EXPECT_EQ(arraysize(kEntries), | 786 EXPECT_EQ(arraysize(kEntries), |
787 supported_entries.GetSize() + unsupported_entries.GetSize()); | 787 supported_entries.GetSize() + unsupported_entries.GetSize()); |
788 } | 788 } |
789 | 789 |
790 } // namespace flags_ui | 790 } // namespace flags_ui |
OLD | NEW |