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

Side by Side Diff: chrome/browser/about_flags_unittest.cc

Issue 7841022: Revert 99883 - Completely disable about:flags (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 3 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
« no previous file with comments | « chrome/browser/about_flags.cc ('k') | chrome/browser/autocomplete/builtin_provider_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/string_number_conversions.h" 5 #include "base/string_number_conversions.h"
6 #include "base/utf_string_conversions.h" 6 #include "base/utf_string_conversions.h"
7 #include "base/values.h" 7 #include "base/values.h"
8 #include "chrome/browser/about_flags.h" 8 #include "chrome/browser/about_flags.h"
9 #include "chrome/common/chrome_switches.h" 9 #include "chrome/common/chrome_switches.h"
10 #include "chrome/common/pref_names.h" 10 #include "chrome/common/pref_names.h"
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 176
177 CommandLine command_line(CommandLine::NO_PROGRAM); 177 CommandLine command_line(CommandLine::NO_PROGRAM);
178 command_line.AppendSwitch("foo"); 178 command_line.AppendSwitch("foo");
179 179
180 EXPECT_TRUE(command_line.HasSwitch("foo")); 180 EXPECT_TRUE(command_line.HasSwitch("foo"));
181 EXPECT_FALSE(command_line.HasSwitch(kSwitch1)); 181 EXPECT_FALSE(command_line.HasSwitch(kSwitch1));
182 182
183 ConvertFlagsToSwitches(&prefs_, &command_line); 183 ConvertFlagsToSwitches(&prefs_, &command_line);
184 184
185 EXPECT_TRUE(command_line.HasSwitch("foo")); 185 EXPECT_TRUE(command_line.HasSwitch("foo"));
186 // TODO(thakis): Undo 186 EXPECT_TRUE(command_line.HasSwitch(kSwitch1));
187 EXPECT_FALSE(command_line.HasSwitch(kSwitch1));
188 } 187 }
189 188
190 TEST_F(AboutFlagsTest, RemoveFlagSwitches) { 189 TEST_F(AboutFlagsTest, RemoveFlagSwitches) {
191 std::map<std::string, CommandLine::StringType> switch_list; 190 std::map<std::string, CommandLine::StringType> switch_list;
192 switch_list[kSwitch1] = CommandLine::StringType(); 191 switch_list[kSwitch1] = CommandLine::StringType();
193 switch_list[switches::kFlagSwitchesBegin] = CommandLine::StringType(); 192 switch_list[switches::kFlagSwitchesBegin] = CommandLine::StringType();
194 switch_list[switches::kFlagSwitchesEnd] = CommandLine::StringType(); 193 switch_list[switches::kFlagSwitchesEnd] = CommandLine::StringType();
195 switch_list["foo"] = CommandLine::StringType(); 194 switch_list["foo"] = CommandLine::StringType();
196 195
197 SetExperimentEnabled(&prefs_, kFlags1, true); 196 SetExperimentEnabled(&prefs_, kFlags1, true);
(...skipping 24 matching lines...) Expand all
222 // Enable experiments 1 and 3. 221 // Enable experiments 1 and 3.
223 SetExperimentEnabled(&prefs_, kFlags1, true); 222 SetExperimentEnabled(&prefs_, kFlags1, true);
224 SetExperimentEnabled(&prefs_, kFlags3, true); 223 SetExperimentEnabled(&prefs_, kFlags3, true);
225 CommandLine command_line(CommandLine::NO_PROGRAM); 224 CommandLine command_line(CommandLine::NO_PROGRAM);
226 EXPECT_FALSE(command_line.HasSwitch(kSwitch1)); 225 EXPECT_FALSE(command_line.HasSwitch(kSwitch1));
227 EXPECT_FALSE(command_line.HasSwitch(kSwitch3)); 226 EXPECT_FALSE(command_line.HasSwitch(kSwitch3));
228 227
229 // Convert the flags to switches. Experiment 3 shouldn't be among the switches 228 // Convert the flags to switches. Experiment 3 shouldn't be among the switches
230 // as it is not applicable to the current platform. 229 // as it is not applicable to the current platform.
231 ConvertFlagsToSwitches(&prefs_, &command_line); 230 ConvertFlagsToSwitches(&prefs_, &command_line);
232 // TODO(thakis): undo. 231 EXPECT_TRUE(command_line.HasSwitch(kSwitch1));
233 EXPECT_FALSE(command_line.HasSwitch(kSwitch1));
234 EXPECT_FALSE(command_line.HasSwitch(kSwitch3)); 232 EXPECT_FALSE(command_line.HasSwitch(kSwitch3));
235 233
236 // Experiment 3 should show still be persisted in preferences though. 234 // Experiment 3 should show still be persisted in preferences though.
237 scoped_ptr<ListValue> switch_prefs(GetFlagsExperimentsData(&prefs_)); 235 scoped_ptr<ListValue> switch_prefs(GetFlagsExperimentsData(&prefs_));
238 ASSERT_TRUE(switch_prefs.get()); 236 ASSERT_TRUE(switch_prefs.get());
239 EXPECT_EQ(arraysize(kExperiments) - 1, switch_prefs->GetSize()); 237 EXPECT_EQ(arraysize(kExperiments) - 1, switch_prefs->GetSize());
240 } 238 }
241 239
242 // Tests that switches which should have values get them in the command 240 // Tests that switches which should have values get them in the command
243 // line. 241 // line.
244 TEST_F(AboutFlagsTest, CheckValues) { 242 TEST_F(AboutFlagsTest, CheckValues) {
245 // Enable experiments 1 and 2. 243 // Enable experiments 1 and 2.
246 SetExperimentEnabled(&prefs_, kFlags1, true); 244 SetExperimentEnabled(&prefs_, kFlags1, true);
247 SetExperimentEnabled(&prefs_, kFlags2, true); 245 SetExperimentEnabled(&prefs_, kFlags2, true);
248 CommandLine command_line(CommandLine::NO_PROGRAM); 246 CommandLine command_line(CommandLine::NO_PROGRAM);
249 // TODO(thakis): undo.
250 EXPECT_FALSE(command_line.HasSwitch(kSwitch1)); 247 EXPECT_FALSE(command_line.HasSwitch(kSwitch1));
251 EXPECT_FALSE(command_line.HasSwitch(kSwitch2)); 248 EXPECT_FALSE(command_line.HasSwitch(kSwitch2));
252 249
253 // Convert the flags to switches. 250 // Convert the flags to switches.
254 ConvertFlagsToSwitches(&prefs_, &command_line); 251 ConvertFlagsToSwitches(&prefs_, &command_line);
255 EXPECT_FALSE(command_line.HasSwitch(kSwitch1)); 252 EXPECT_TRUE(command_line.HasSwitch(kSwitch1));
256 EXPECT_EQ(std::string(""), command_line.GetSwitchValueASCII(kSwitch1)); 253 EXPECT_EQ(std::string(""), command_line.GetSwitchValueASCII(kSwitch1));
257 // TODO(thakis): undo. 254 EXPECT_TRUE(command_line.HasSwitch(kSwitch2));
258 EXPECT_FALSE(command_line.HasSwitch(kSwitch2)); 255 EXPECT_EQ(std::string(kValueForSwitch2),
259 // TODO(thakis): undo.
260 EXPECT_EQ("",
261 command_line.GetSwitchValueASCII(kSwitch2)); 256 command_line.GetSwitchValueASCII(kSwitch2));
262 257
263 // Confirm that there is no '=' in the command line for simple switches. 258 // Confirm that there is no '=' in the command line for simple switches.
264 std::string switch1_with_equals = std::string("--") + 259 std::string switch1_with_equals = std::string("--") +
265 std::string(kSwitch1) + 260 std::string(kSwitch1) +
266 std::string("="); 261 std::string("=");
267 #if defined(OS_WIN) 262 #if defined(OS_WIN)
268 EXPECT_EQ(std::wstring::npos, 263 EXPECT_EQ(std::wstring::npos,
269 command_line.GetCommandLineString().find( 264 command_line.GetCommandLineString().find(
270 ASCIIToWide(switch1_with_equals))); 265 ASCIIToWide(switch1_with_equals)));
271 #else 266 #else
272 EXPECT_EQ(std::string::npos, 267 EXPECT_EQ(std::string::npos,
273 command_line.GetCommandLineString().find(switch1_with_equals)); 268 command_line.GetCommandLineString().find(switch1_with_equals));
274 #endif 269 #endif
275 270
276 // And confirm there is a '=' for switches with values. 271 // And confirm there is a '=' for switches with values.
277 std::string switch2_with_equals = std::string("--") + 272 std::string switch2_with_equals = std::string("--") +
278 std::string(kSwitch2) + 273 std::string(kSwitch2) +
279 std::string("="); 274 std::string("=");
280 #if defined(OS_WIN) 275 #if defined(OS_WIN)
281 // TODO(thakis): undo. 276 EXPECT_NE(std::wstring::npos,
282 EXPECT_EQ(std::wstring::npos,
283 command_line.GetCommandLineString().find( 277 command_line.GetCommandLineString().find(
284 ASCIIToWide(switch2_with_equals))); 278 ASCIIToWide(switch2_with_equals)));
285 #else 279 #else
286 // TODO(thakis): undo. 280 EXPECT_NE(std::string::npos,
287 EXPECT_EQ(std::string::npos,
288 command_line.GetCommandLineString().find(switch2_with_equals)); 281 command_line.GetCommandLineString().find(switch2_with_equals));
289 #endif 282 #endif
290 283
291 // And it should persist 284 // And it should persist
292 scoped_ptr<ListValue> switch_prefs(GetFlagsExperimentsData(&prefs_)); 285 scoped_ptr<ListValue> switch_prefs(GetFlagsExperimentsData(&prefs_));
293 ASSERT_TRUE(switch_prefs.get()); 286 ASSERT_TRUE(switch_prefs.get());
294 EXPECT_EQ(arraysize(kExperiments) - 1, switch_prefs->GetSize()); 287 EXPECT_EQ(arraysize(kExperiments) - 1, switch_prefs->GetSize());
295 } 288 }
296 289
297 // Tests multi-value type experiments. 290 // Tests multi-value type experiments.
298 TEST_F(AboutFlagsTest, MultiValues) { 291 TEST_F(AboutFlagsTest, MultiValues) {
299 // Initially, the first "deactivated" option of the multi experiment should 292 // Initially, the first "deactivated" option of the multi experiment should
300 // be set. 293 // be set.
301 { 294 {
302 CommandLine command_line(CommandLine::NO_PROGRAM); 295 CommandLine command_line(CommandLine::NO_PROGRAM);
303 ConvertFlagsToSwitches(&prefs_, &command_line); 296 ConvertFlagsToSwitches(&prefs_, &command_line);
304 EXPECT_FALSE(command_line.HasSwitch(kMultiSwitch1)); 297 EXPECT_FALSE(command_line.HasSwitch(kMultiSwitch1));
305 EXPECT_FALSE(command_line.HasSwitch(kMultiSwitch2)); 298 EXPECT_FALSE(command_line.HasSwitch(kMultiSwitch2));
306 } 299 }
307 300
308 // Enable the 2nd choice of the multi-value. 301 // Enable the 2nd choice of the multi-value.
309 SetExperimentEnabled(&prefs_, std::string(kFlags4) + 302 SetExperimentEnabled(&prefs_, std::string(kFlags4) +
310 std::string(testing::kMultiSeparator) + 303 std::string(testing::kMultiSeparator) +
311 base::IntToString(2), true); 304 base::IntToString(2), true);
312 { 305 {
313 CommandLine command_line(CommandLine::NO_PROGRAM); 306 CommandLine command_line(CommandLine::NO_PROGRAM);
314 ConvertFlagsToSwitches(&prefs_, &command_line); 307 ConvertFlagsToSwitches(&prefs_, &command_line);
315 EXPECT_FALSE(command_line.HasSwitch(kMultiSwitch1)); 308 EXPECT_FALSE(command_line.HasSwitch(kMultiSwitch1));
316 // TODO(thakis): undo. 309 EXPECT_TRUE(command_line.HasSwitch(kMultiSwitch2));
317 EXPECT_FALSE(command_line.HasSwitch(kMultiSwitch2)); 310 EXPECT_EQ(std::string(kValueForMultiSwitch2),
318 // TODO(thakis): undo.
319 EXPECT_EQ("",
320 command_line.GetSwitchValueASCII(kMultiSwitch2)); 311 command_line.GetSwitchValueASCII(kMultiSwitch2));
321 } 312 }
322 313
323 // Disable the multi-value experiment. 314 // Disable the multi-value experiment.
324 SetExperimentEnabled(&prefs_, std::string(kFlags4) + 315 SetExperimentEnabled(&prefs_, std::string(kFlags4) +
325 std::string(testing::kMultiSeparator) + 316 std::string(testing::kMultiSeparator) +
326 base::IntToString(0), true); 317 base::IntToString(0), true);
327 { 318 {
328 CommandLine command_line(CommandLine::NO_PROGRAM); 319 CommandLine command_line(CommandLine::NO_PROGRAM);
329 ConvertFlagsToSwitches(&prefs_, &command_line); 320 ConvertFlagsToSwitches(&prefs_, &command_line);
330 EXPECT_FALSE(command_line.HasSwitch(kMultiSwitch1)); 321 EXPECT_FALSE(command_line.HasSwitch(kMultiSwitch1));
331 EXPECT_FALSE(command_line.HasSwitch(kMultiSwitch2)); 322 EXPECT_FALSE(command_line.HasSwitch(kMultiSwitch2));
332 } 323 }
333 } 324 }
334 325
335 // Makes sure there are no separators in any of the experiment names. 326 // Makes sure there are no separators in any of the experiment names.
336 TEST_F(AboutFlagsTest, NoSeparators) { 327 TEST_F(AboutFlagsTest, NoSeparators) {
337 testing::SetExperiments(NULL, 0); 328 testing::SetExperiments(NULL, 0);
338 size_t count; 329 size_t count;
339 const Experiment* experiments = testing::GetExperiments(&count); 330 const Experiment* experiments = testing::GetExperiments(&count);
340 for (size_t i = 0; i < count; ++i) { 331 for (size_t i = 0; i < count; ++i) {
341 std::string name = experiments->internal_name; 332 std::string name = experiments->internal_name;
342 EXPECT_EQ(std::string::npos, name.find(testing::kMultiSeparator)) << i; 333 EXPECT_EQ(std::string::npos, name.find(testing::kMultiSeparator)) << i;
343 } 334 }
344 } 335 }
345 336
346 } // namespace about_flags 337 } // namespace about_flags
OLDNEW
« no previous file with comments | « chrome/browser/about_flags.cc ('k') | chrome/browser/autocomplete/builtin_provider_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698