OLD | NEW |
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/prefs/pref_registry_simple.h" | 5 #include "base/prefs/pref_registry_simple.h" |
6 #include "base/prefs/testing_pref_service.h" | 6 #include "base/prefs/testing_pref_service.h" |
7 #include "base/strings/string_number_conversions.h" | 7 #include "base/strings/string_number_conversions.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "base/values.h" | 9 #include "base/values.h" |
10 #include "chrome/browser/about_flags.h" | 10 #include "chrome/browser/about_flags.h" |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
162 // Enable the default choice now. | 162 // Enable the default choice now. |
163 SetExperimentEnabled(&flags_storage_, experiment.NameForChoice(0), true); | 163 SetExperimentEnabled(&flags_storage_, experiment.NameForChoice(0), true); |
164 EXPECT_TRUE(IsRestartNeededToCommitChanges()); | 164 EXPECT_TRUE(IsRestartNeededToCommitChanges()); |
165 } | 165 } |
166 | 166 |
167 TEST_F(AboutFlagsTest, AddTwoFlagsRemoveOne) { | 167 TEST_F(AboutFlagsTest, AddTwoFlagsRemoveOne) { |
168 // Add two experiments, check they're there. | 168 // Add two experiments, check they're there. |
169 SetExperimentEnabled(&flags_storage_, kFlags1, true); | 169 SetExperimentEnabled(&flags_storage_, kFlags1, true); |
170 SetExperimentEnabled(&flags_storage_, kFlags2, true); | 170 SetExperimentEnabled(&flags_storage_, kFlags2, true); |
171 | 171 |
172 const ListValue* experiments_list = prefs_.GetList( | 172 const base::ListValue* experiments_list = prefs_.GetList( |
173 prefs::kEnabledLabsExperiments); | 173 prefs::kEnabledLabsExperiments); |
174 ASSERT_TRUE(experiments_list != NULL); | 174 ASSERT_TRUE(experiments_list != NULL); |
175 | 175 |
176 ASSERT_EQ(2u, experiments_list->GetSize()); | 176 ASSERT_EQ(2u, experiments_list->GetSize()); |
177 | 177 |
178 std::string s0; | 178 std::string s0; |
179 ASSERT_TRUE(experiments_list->GetString(0, &s0)); | 179 ASSERT_TRUE(experiments_list->GetString(0, &s0)); |
180 std::string s1; | 180 std::string s1; |
181 ASSERT_TRUE(experiments_list->GetString(1, &s1)); | 181 ASSERT_TRUE(experiments_list->GetString(1, &s1)); |
182 | 182 |
183 EXPECT_TRUE(s0 == kFlags1 || s1 == kFlags1); | 183 EXPECT_TRUE(s0 == kFlags1 || s1 == kFlags1); |
184 EXPECT_TRUE(s0 == kFlags2 || s1 == kFlags2); | 184 EXPECT_TRUE(s0 == kFlags2 || s1 == kFlags2); |
185 | 185 |
186 // Remove one experiment, check the other's still around. | 186 // Remove one experiment, check the other's still around. |
187 SetExperimentEnabled(&flags_storage_, kFlags2, false); | 187 SetExperimentEnabled(&flags_storage_, kFlags2, false); |
188 | 188 |
189 experiments_list = prefs_.GetList(prefs::kEnabledLabsExperiments); | 189 experiments_list = prefs_.GetList(prefs::kEnabledLabsExperiments); |
190 ASSERT_TRUE(experiments_list != NULL); | 190 ASSERT_TRUE(experiments_list != NULL); |
191 ASSERT_EQ(1u, experiments_list->GetSize()); | 191 ASSERT_EQ(1u, experiments_list->GetSize()); |
192 ASSERT_TRUE(experiments_list->GetString(0, &s0)); | 192 ASSERT_TRUE(experiments_list->GetString(0, &s0)); |
193 EXPECT_TRUE(s0 == kFlags1); | 193 EXPECT_TRUE(s0 == kFlags1); |
194 } | 194 } |
195 | 195 |
196 TEST_F(AboutFlagsTest, AddTwoFlagsRemoveBoth) { | 196 TEST_F(AboutFlagsTest, AddTwoFlagsRemoveBoth) { |
197 // Add two experiments, check the pref exists. | 197 // Add two experiments, check the pref exists. |
198 SetExperimentEnabled(&flags_storage_, kFlags1, true); | 198 SetExperimentEnabled(&flags_storage_, kFlags1, true); |
199 SetExperimentEnabled(&flags_storage_, kFlags2, true); | 199 SetExperimentEnabled(&flags_storage_, kFlags2, true); |
200 const ListValue* experiments_list = prefs_.GetList( | 200 const base::ListValue* experiments_list = prefs_.GetList( |
201 prefs::kEnabledLabsExperiments); | 201 prefs::kEnabledLabsExperiments); |
202 ASSERT_TRUE(experiments_list != NULL); | 202 ASSERT_TRUE(experiments_list != NULL); |
203 | 203 |
204 // Remove both, the pref should have been removed completely. | 204 // Remove both, the pref should have been removed completely. |
205 SetExperimentEnabled(&flags_storage_, kFlags1, false); | 205 SetExperimentEnabled(&flags_storage_, kFlags1, false); |
206 SetExperimentEnabled(&flags_storage_, kFlags2, false); | 206 SetExperimentEnabled(&flags_storage_, kFlags2, false); |
207 experiments_list = prefs_.GetList(prefs::kEnabledLabsExperiments); | 207 experiments_list = prefs_.GetList(prefs::kEnabledLabsExperiments); |
208 EXPECT_TRUE(experiments_list == NULL || experiments_list->GetSize() == 0); | 208 EXPECT_TRUE(experiments_list == NULL || experiments_list->GetSize() == 0); |
209 } | 209 } |
210 | 210 |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 EXPECT_FALSE(command_line.HasSwitch(kSwitch1)); | 300 EXPECT_FALSE(command_line.HasSwitch(kSwitch1)); |
301 EXPECT_FALSE(command_line.HasSwitch(kSwitch3)); | 301 EXPECT_FALSE(command_line.HasSwitch(kSwitch3)); |
302 | 302 |
303 // Convert the flags to switches. Experiment 3 shouldn't be among the switches | 303 // Convert the flags to switches. Experiment 3 shouldn't be among the switches |
304 // as it is not applicable to the current platform. | 304 // as it is not applicable to the current platform. |
305 ConvertFlagsToSwitches(&flags_storage_, &command_line, kAddSentinels); | 305 ConvertFlagsToSwitches(&flags_storage_, &command_line, kAddSentinels); |
306 EXPECT_TRUE(command_line.HasSwitch(kSwitch1)); | 306 EXPECT_TRUE(command_line.HasSwitch(kSwitch1)); |
307 EXPECT_FALSE(command_line.HasSwitch(kSwitch3)); | 307 EXPECT_FALSE(command_line.HasSwitch(kSwitch3)); |
308 | 308 |
309 // Experiment 3 should show still be persisted in preferences though. | 309 // Experiment 3 should show still be persisted in preferences though. |
310 const ListValue* experiments_list = | 310 const base::ListValue* experiments_list = |
311 prefs_.GetList(prefs::kEnabledLabsExperiments); | 311 prefs_.GetList(prefs::kEnabledLabsExperiments); |
312 ASSERT_TRUE(experiments_list); | 312 ASSERT_TRUE(experiments_list); |
313 EXPECT_EQ(2U, experiments_list->GetSize()); | 313 EXPECT_EQ(2U, experiments_list->GetSize()); |
314 std::string s0; | 314 std::string s0; |
315 ASSERT_TRUE(experiments_list->GetString(0, &s0)); | 315 ASSERT_TRUE(experiments_list->GetString(0, &s0)); |
316 EXPECT_EQ(kFlags1, s0); | 316 EXPECT_EQ(kFlags1, s0); |
317 std::string s1; | 317 std::string s1; |
318 ASSERT_TRUE(experiments_list->GetString(1, &s1)); | 318 ASSERT_TRUE(experiments_list->GetString(1, &s1)); |
319 EXPECT_EQ(kFlags3, s1); | 319 EXPECT_EQ(kFlags3, s1); |
320 } | 320 } |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
357 #if defined(OS_WIN) | 357 #if defined(OS_WIN) |
358 EXPECT_NE(std::wstring::npos, | 358 EXPECT_NE(std::wstring::npos, |
359 command_line.GetCommandLineString().find( | 359 command_line.GetCommandLineString().find( |
360 ASCIIToWide(switch2_with_equals))); | 360 ASCIIToWide(switch2_with_equals))); |
361 #else | 361 #else |
362 EXPECT_NE(std::string::npos, | 362 EXPECT_NE(std::string::npos, |
363 command_line.GetCommandLineString().find(switch2_with_equals)); | 363 command_line.GetCommandLineString().find(switch2_with_equals)); |
364 #endif | 364 #endif |
365 | 365 |
366 // And it should persist. | 366 // And it should persist. |
367 const ListValue* experiments_list = | 367 const base::ListValue* experiments_list = |
368 prefs_.GetList(prefs::kEnabledLabsExperiments); | 368 prefs_.GetList(prefs::kEnabledLabsExperiments); |
369 ASSERT_TRUE(experiments_list); | 369 ASSERT_TRUE(experiments_list); |
370 EXPECT_EQ(2U, experiments_list->GetSize()); | 370 EXPECT_EQ(2U, experiments_list->GetSize()); |
371 std::string s0; | 371 std::string s0; |
372 ASSERT_TRUE(experiments_list->GetString(0, &s0)); | 372 ASSERT_TRUE(experiments_list->GetString(0, &s0)); |
373 EXPECT_EQ(kFlags1, s0); | 373 EXPECT_EQ(kFlags1, s0); |
374 std::string s1; | 374 std::string s1; |
375 ASSERT_TRUE(experiments_list->GetString(1, &s1)); | 375 ASSERT_TRUE(experiments_list->GetString(1, &s1)); |
376 EXPECT_EQ(kFlags2, s1); | 376 EXPECT_EQ(kFlags2, s1); |
377 } | 377 } |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
458 testing::SetExperiments(NULL, 0); | 458 testing::SetExperiments(NULL, 0); |
459 size_t count; | 459 size_t count; |
460 const Experiment* experiments = testing::GetExperiments(&count); | 460 const Experiment* experiments = testing::GetExperiments(&count); |
461 for (size_t i = 0; i < count; ++i) { | 461 for (size_t i = 0; i < count; ++i) { |
462 std::string name = experiments->internal_name; | 462 std::string name = experiments->internal_name; |
463 EXPECT_EQ(std::string::npos, name.find(testing::kMultiSeparator)) << i; | 463 EXPECT_EQ(std::string::npos, name.find(testing::kMultiSeparator)) << i; |
464 } | 464 } |
465 } | 465 } |
466 | 466 |
467 } // namespace about_flags | 467 } // namespace about_flags |
OLD | NEW |