summaryrefslogtreecommitdiffstats
path: root/base/command_line_unittest.cc
diff options
context:
space:
mode:
authortommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-15 04:17:52 +0000
committertommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-15 04:17:52 +0000
commite6124ad5561dd4c448c9e76c6ee9a0ceff96412d (patch)
tree82b3138919c255a79ab82a2652219cd3e08e4411 /base/command_line_unittest.cc
parentc623add7ea499ec7ed90985b5adea97f9185354f (diff)
downloadchromium_src-e6124ad5561dd4c448c9e76c6ee9a0ceff96412d.zip
chromium_src-e6124ad5561dd4c448c9e76c6ee9a0ceff96412d.tar.gz
chromium_src-e6124ad5561dd4c448c9e76c6ee9a0ceff96412d.tar.bz2
Attempt to reland http://codereview.chromium.org/4928002/
For some reason the Win bot failed to compile the sandbox unit test. Trybots and my machines don't have these build problems, so I'm going to try again, unchanged. Original description: Changing the installer switches from wchar_t[] to char[]. Because of this I'm also refactoring some code that before was using wstring to build command lines by hand instead of using the CommandLine class. Now we use CommandLine. To get this to work correctly, I also needed to fix CommandLine::AppendArguments so I added a little test for it. TEST=There should be no changes in functionality. Run all installer tests. BUG=61609 TBR=robertshield Review URL: http://codereview.chromium.org/4989001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66096 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/command_line_unittest.cc')
-rw-r--r--base/command_line_unittest.cc27
1 files changed, 26 insertions, 1 deletions
diff --git a/base/command_line_unittest.cc b/base/command_line_unittest.cc
index 9184aa3..5c525ae 100644
--- a/base/command_line_unittest.cc
+++ b/base/command_line_unittest.cc
@@ -5,8 +5,8 @@
#include <string>
#include <vector>
-#include "base/command_line.h"
#include "base/basictypes.h"
+#include "base/command_line.h"
#include "base/file_path.h"
#include "base/utf_string_conversions.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -154,3 +154,28 @@ TEST(CommandLineTest, AppendSwitches) {
cl.command_line_string());
#endif
}
+
+// Tests that when AppendArguments is called that the program is set correctly
+// on the target CommandLine object and the switches from the source
+// CommandLine are added to the target.
+TEST(CommandLineTest, AppendArguments) {
+ CommandLine cl1(FilePath(FILE_PATH_LITERAL("Program")));
+ cl1.AppendSwitch("switch1");
+ cl1.AppendSwitchASCII("switch2", "foo");
+
+ CommandLine cl2(CommandLine::NO_PROGRAM);
+ cl2.AppendArguments(cl1, true);
+ EXPECT_EQ(cl1.GetProgram().value(), cl2.GetProgram().value());
+ EXPECT_EQ(cl1.command_line_string(), cl2.command_line_string());
+
+ CommandLine c1(FilePath(FILE_PATH_LITERAL("Program1")));
+ c1.AppendSwitch("switch1");
+ CommandLine c2(FilePath(FILE_PATH_LITERAL("Program2")));
+ c2.AppendSwitch("switch2");
+
+ c1.AppendArguments(c2, true);
+ EXPECT_EQ(c1.GetProgram().value(), c2.GetProgram().value());
+ EXPECT_TRUE(c1.HasSwitch("switch1"));
+ EXPECT_TRUE(c1.HasSwitch("switch2"));
+}
+