summaryrefslogtreecommitdiffstats
path: root/base/command_line_unittest.cc
Commit message (Collapse)AuthorAgeFilesLines
* Consolidate most CommandLine code across platforms.msw@chromium.org2011-05-141-58/+144
| | | | | | | | | | | | | | | | | | | | | | Significant refactoring with some notable behavior changes: 1. Switches are appended preceding existing arguments (after other swtiches). 2. (Windows) command_line_string() is generated and properly quoted/escaped. 3. Appended switches will retain their (optional) included prefixes (--,-,/). Notable internal changes (shouldn't affect behavior): 1. (Windows) Generate the cl string, instead of storing&updating the original. 2. Explicitly retain switch prefixes (--,-,/) (was automatic in init*/ctor). Update (obvious) code expecting switches to be appended antecedent to args. Add Nico's test from: codereview.chromium.org/6728016/. An intermediary CL landed between patch set 3 and 4, see: http://codereview.chromium.org/6596020 BUG=73195,67764 TEST=Commandline usage. Review URL: http://codereview.chromium.org/6526040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85360 0039d316-1c4b-4281-b951-d872f2087c98
* Change other usages of .size() to .empty() when applicable.erg@google.com2011-03-041-2/+2
| | | | | | | | | BUG=carnitas TEST=compiles Review URL: http://codereview.chromium.org/6609008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76962 0039d316-1c4b-4281-b951-d872f2087c98
* Pure pedantry: Replace all ".size() == 0" with ".empty()".erg@google.com2011-03-021-1/+1
| | | | | | | | | BUG=carnitas TEST=compiles; existing unit tests. Review URL: http://codereview.chromium.org/6602049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76467 0039d316-1c4b-4281-b951-d872f2087c98
* Add a unit test for CommandLine that makes sure that GetProgram will not ↵tommi@chromium.org2010-11-291-0/+19
| | | | | | | | | | | return a quoted string and that (on Windows) the program part of a command line string will always be quoted. BUG=none TEST=Run the ProgramQuotes test. Should be no visible changes. Review URL: http://codereview.chromium.org/4949004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67583 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt to reland http://codereview.chromium.org/4928002/tommi@chromium.org2010-11-151-1/+26
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Revert 66088 - Changing the installer switches from wchar_t[] to char[].tommi@chromium.org2010-11-151-26/+1
| | | | | | | | | | | | | | | | | | 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 Review URL: http://codereview.chromium.org/4928002 TBR=tommi@chromium.org Review URL: http://codereview.chromium.org/4988001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66089 0039d316-1c4b-4281-b951-d872f2087c98
* Changing the installer switches from wchar_t[] to char[].tommi@chromium.org2010-11-141-1/+26
| | | | | | | | | | | | | | | 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 Review URL: http://codereview.chromium.org/4928002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66088 0039d316-1c4b-4281-b951-d872f2087c98
* CommandLine: remove wstring-based program() accessorevan@chromium.org2010-10-141-1/+1
| | | | | | | | | | | | | | This was already removed on non-Windows, so this change modifies the remaining Windows-specific usage. In a few places I converted use of wstring paths into FilePath, but in general for Windows-specific code I don't think it's too important to use FilePath everywhere, because it is equivalent on Windows and the current code already works. BUG=23581 Review URL: http://codereview.chromium.org/3817001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62637 0039d316-1c4b-4281-b951-d872f2087c98
* CommandLine: deprecate another function on non-Windowsevan@chromium.org2010-10-081-1/+2
| | | | | | | | | BUG=23581 TEST=CommandLine unit tests Review URL: http://codereview.chromium.org/3549023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61889 0039d316-1c4b-4281-b951-d872f2087c98
* Header cleanup in base.brettw@chromium.org2010-08-171-3/+3
| | | | | | | | | | | | | | This makes uses of StringPrintf and friends use the base namespace and include stringprintf.h explicitly. This also removes a bunch of unnecessary string_util includes (which exposed a few other errors like people forgetting to include <vector>. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3119022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56446 0039d316-1c4b-4281-b951-d872f2087c98
* Factor out command-line quoting code on Windows.evan@chromium.org2010-08-101-0/+31
| | | | | | | | | | | | | | | | | | Our command line code is not very good with respect to getting quoting right. Because of this, callers will sometimes themselves attempt to quote arguments, though some of them get it wrong(!) by just surrounding with quotes. The first step is to add a quoting function that we think is correct and update the unit test to test it. (Note that most of this is Windows-specific, because on POSIX we can pass arguments to commands as a vector -- trying to do quoting on POSIX is usually wrong.) Review URL: http://codereview.chromium.org/3007038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55591 0039d316-1c4b-4281-b951-d872f2087c98
* Convert a bunch of easy AppendSwitchWithValue to *ASCII.evan@chromium.org2010-07-301-9/+9
| | | | | | | | | For this patch, I skipped over any instance where it wasn't a nearly trivial change. Review URL: http://codereview.chromium.org/3069014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54285 0039d316-1c4b-4281-b951-d872f2087c98
* base/ header cleanup. Forward declaration instead of including.erg@google.com2010-07-281-0/+1
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3068004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53969 0039d316-1c4b-4281-b951-d872f2087c98
* Remove deprecated CommandLine::GetLooseValues(), rename to args().evan@chromium.org2010-07-211-10/+10
| | | | | | | | | | | | | | | It returned a wstring, when really we wanted the native encoded strings. Fixing the majority of callers actually simplified them in many cases because the callers wanted native strings too. Since I'm touching every caller, I gave it a more useful name. I'm not sure where "loose" came from but it never made sense to me. BUG=24672 Review URL: http://codereview.chromium.org/3028010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53193 0039d316-1c4b-4281-b951-d872f2087c98
* Use GetSwitchValueASCII.tony@chromium.org2009-11-061-6/+7
| | | | | | | | | | | | BUG=24672 TEST=None Original patch by Thiago Farina <thiago.farina@gmail.com> at http://codereview.chromium.org/296004 Review URL: http://codereview.chromium.org/373013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31269 0039d316-1c4b-4281-b951-d872f2087c98
* Remove deprecated CommandLine(std::wstring) ctor.evan@chromium.org2009-10-261-10/+4
| | | | | | | | | | | Add a ctor for creating a CommandLine for carrying arguments; convert all the users to either that or the FilePath version. BUG=24672 Review URL: http://codereview.chromium.org/329017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30117 0039d316-1c4b-4281-b951-d872f2087c98
* Use ASCII strings for switch names.evan@chromium.org2009-10-131-25/+25
| | | | | | Review URL: http://codereview.chromium.org/270062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28779 0039d316-1c4b-4281-b951-d872f2087c98
* Remove logging.h from cc files that don't use it.thestig@chromium.org2009-03-121-1/+0
| | | | | | Review URL: http://codereview.chromium.org/42155 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11593 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGEdeanm@chromium.org2009-03-101-1/+0
| | | | | | | | | Normalize end of file newlines in base/. All files end in a single newline. Review URL: http://codereview.chromium.org/42011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11329 0039d316-1c4b-4281-b951-d872f2087c98
* Make CommandLine into a normal object, with some statics for getting at the ↵evan@chromium.org2009-01-211-44/+29
| | | | | | | | | | | current process's command line. One explicit goal of this change is to *not* deal with the string/wstring issues at the API on POSIX; the functions are the same as before, which means they remain as broken as before. (I did try to fix the internals, though, so migrating the callers is now possible by adding platform-appropriate hooks.) Review URL: http://codereview.chromium.org/18248 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8347 0039d316-1c4b-4281-b951-d872f2087c98
* Store the command line in a more convenient format on non-windows platforms.estade@chromium.org2008-10-151-5/+24
| | | | | | Review URL: http://codereview.chromium.org/7249 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3426 0039d316-1c4b-4281-b951-d872f2087c98
* Fix typo in command line unit test.estade@chromium.org2008-10-101-1/+1
| | | | | | Review URL: http://codereview.chromium.org/7025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3246 0039d316-1c4b-4281-b951-d872f2087c98
* Add -- as a command line switch parsing terminator. This allows you to ↵deanm@chromium.org2008-10-061-2/+9
| | | | | | | | launch chrome to a given URL safely, without having to validate the URL and worry it might be interpreted as a dangerous command line argument. Review URL: http://codereview.chromium.org/6480 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2876 0039d316-1c4b-4281-b951-d872f2087c98
* Use a more compact license header in source files.license.bot2008-08-241-28/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* Add command_line_unittest and pr_time_test to the linux set of unittests. ↵tc@google.com2008-08-141-6/+6
| | | | | | Fix the const-ness of argv in CommandLine on posix. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@901 0039d316-1c4b-4281-b951-d872f2087c98
* Fix some compiler warnings, and cleanup EXPECT_EQ comparisons. Hello "U" ↵darin@google.com2008-08-141-2/+2
| | | | | | suffix :-) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@882 0039d316-1c4b-4281-b951-d872f2087c98
* Fix command_line unit test now that argv is no longer const. (Doh!) Remove ↵mmentovai@google.com2008-08-121-11/+10
| | | | | | a technically illegal zero-length array. Fix a couple of warnings for good measure as long as I'm in here. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@701 0039d316-1c4b-4281-b951-d872f2087c98
* fix base test harness to work on mac. fix command_line unit tests to match ↵pinkerton@google.com2008-08-081-4/+4
| | | | | | what windows expects. fix base xcode project to separate building and running unit tests into two targets. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@593 0039d316-1c4b-4281-b951-d872f2087c98
* Pinkerton's port/fix-up of command-line processing to work cross-platform.evanm@google.com2008-08-071-1/+20
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@531 0039d316-1c4b-4281-b951-d872f2087c98
* Add base to the repository.initial.commit2008-07-261-0/+125
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8 0039d316-1c4b-4281-b951-d872f2087c98