| Index: base/command_line_unittest.cc
|
| diff --git a/base/command_line_unittest.cc b/base/command_line_unittest.cc
|
| index 8aed618858ebc8606aebedf1af0763fd70c0692c..a1b1a86d6767f40982b8eebf836ccb7afac606ee 100644
|
| --- a/base/command_line_unittest.cc
|
| +++ b/base/command_line_unittest.cc
|
| @@ -190,12 +190,14 @@ TEST(CommandLineTest, GetArgumentsString) {
|
| static const char kSecondArgName[] = "arg2";
|
| static const char kThirdArgName[] = "arg with space";
|
| static const char kFourthArgName[] = "nospace";
|
| + static const char kFifthArgName[] = "%1";
|
|
|
| CommandLine cl(CommandLine::NO_PROGRAM);
|
| cl.AppendSwitchPath(kFirstArgName, FilePath(kPath1));
|
| cl.AppendSwitchPath(kSecondArgName, FilePath(kPath2));
|
| cl.AppendArg(kThirdArgName);
|
| cl.AppendArg(kFourthArgName);
|
| + cl.AppendArg(kFifthArgName);
|
|
|
| #if defined(OS_WIN)
|
| CommandLine::StringType expected_first_arg(
|
| @@ -206,11 +208,14 @@ TEST(CommandLineTest, GetArgumentsString) {
|
| base::UTF8ToUTF16(kThirdArgName));
|
| CommandLine::StringType expected_fourth_arg(
|
| base::UTF8ToUTF16(kFourthArgName));
|
| + CommandLine::StringType expected_fifth_arg(
|
| + base::UTF8ToUTF16(kFifthArgName));
|
| #elif defined(OS_POSIX)
|
| CommandLine::StringType expected_first_arg(kFirstArgName);
|
| CommandLine::StringType expected_second_arg(kSecondArgName);
|
| CommandLine::StringType expected_third_arg(kThirdArgName);
|
| CommandLine::StringType expected_fourth_arg(kFourthArgName);
|
| + CommandLine::StringType expected_fifth_arg(kFifthArgName);
|
| #endif
|
|
|
| #if defined(OS_WIN)
|
| @@ -238,8 +243,18 @@ TEST(CommandLineTest, GetArgumentsString) {
|
| .append(expected_third_arg)
|
| .append(QUOTE_ON_WIN)
|
| .append(FILE_PATH_LITERAL(" "))
|
| - .append(expected_fourth_arg);
|
| - EXPECT_EQ(expected_str, cl.GetArgumentsString());
|
| + .append(expected_fourth_arg)
|
| + .append(FILE_PATH_LITERAL(" "));
|
| +
|
| + CommandLine::StringType expected_str_no_quote_placeholders(expected_str);
|
| + expected_str_no_quote_placeholders.append(expected_fifth_arg);
|
| + EXPECT_EQ(expected_str_no_quote_placeholders, cl.GetArgumentsString());
|
| +
|
| + CommandLine::StringType expected_str_quote_placeholders(expected_str);
|
| + expected_str_quote_placeholders.append(QUOTE_ON_WIN)
|
| + .append(expected_fifth_arg)
|
| + .append(QUOTE_ON_WIN);
|
| + EXPECT_EQ(expected_str_quote_placeholders, cl.GetArgumentsString(true));
|
| }
|
|
|
| // Test methods for appending switches to a command line.
|
| @@ -349,6 +364,11 @@ TEST(CommandLineTest, ProgramQuotes) {
|
| // Check that quotes are added to command line string paths containing spaces.
|
| CommandLine::StringType cmd_string(cl_program_path.GetCommandLineString());
|
| EXPECT_EQ(L"\"Program Path\"", cmd_string);
|
| +
|
| + // Check the optional quoting of placeholders in programs.
|
| + CommandLine cl_quote_placeholder(base::FilePath(L"%1"));
|
| + EXPECT_EQ(L"%1", cl_quote_placeholder.GetCommandLineString());
|
| + EXPECT_EQ(L"\"%1\"", cl_quote_placeholder.GetCommandLineString(true));
|
| }
|
| #endif
|
|
|
|
|