Lines Matching +full:test +full:- +full:cl
2 // Use of this source code is governed by a BSD-style license that can be
31 #include "base/test/bind.h"
32 #include "base/test/task_environment.h"
38 // To test Windows quoting behavior, we use a string that has some backslashes
40 // Consider the command-line argument: q\"bs1\bs2\\bs3q\\\"
41 // Here it is with C-style escapes.
47 // Here that is with C-style escapes.
51 TEST(CommandLineTest, CommandLineConstructor) { in TEST() function
54 FILE_PATH_LITERAL("--foo="), in TEST()
55 FILE_PATH_LITERAL("-bAr"), in TEST()
56 FILE_PATH_LITERAL("-spaetzel=pierogi"), in TEST()
57 FILE_PATH_LITERAL("-baz"), in TEST()
59 FILE_PATH_LITERAL("--other-switches=--dog=canine --cat=feline"), in TEST()
60 FILE_PATH_LITERAL("-spaetzle=Crepe"), in TEST()
61 FILE_PATH_LITERAL("-=loosevalue"), in TEST()
62 FILE_PATH_LITERAL("-"), in TEST()
65 FILE_PATH_LITERAL("--input-translation=45--output-rotation"), in TEST()
66 FILE_PATH_LITERAL("--"), in TEST()
67 FILE_PATH_LITERAL("--"), in TEST()
68 FILE_PATH_LITERAL("--not-a-switch"), in TEST()
70 FILE_PATH_LITERAL("unquoted arg-with-space")}; in TEST()
71 CommandLine cl(std::size(argv), argv); in TEST() local
73 EXPECT_FALSE(cl.GetCommandLineString().empty()); in TEST()
74 EXPECT_FALSE(cl.HasSwitch("cruller")); in TEST()
75 EXPECT_FALSE(cl.HasSwitch("flim")); in TEST()
76 EXPECT_FALSE(cl.HasSwitch("program")); in TEST()
77 EXPECT_FALSE(cl.HasSwitch("dog")); in TEST()
78 EXPECT_FALSE(cl.HasSwitch("cat")); in TEST()
79 EXPECT_FALSE(cl.HasSwitch("output-rotation")); in TEST()
80 EXPECT_FALSE(cl.HasSwitch("not-a-switch")); in TEST()
81 EXPECT_FALSE(cl.HasSwitch("--")); in TEST()
84 cl.GetProgram().value()); in TEST()
86 EXPECT_TRUE(cl.HasSwitch("foo")); in TEST()
88 EXPECT_TRUE(cl.HasSwitch("bar")); in TEST()
90 EXPECT_FALSE(cl.HasSwitch("bar")); in TEST()
92 EXPECT_TRUE(cl.HasSwitch("baz")); in TEST()
93 EXPECT_TRUE(cl.HasSwitch("spaetzle")); in TEST()
94 EXPECT_TRUE(cl.HasSwitch("other-switches")); in TEST()
95 EXPECT_TRUE(cl.HasSwitch("input-translation")); in TEST()
97 EXPECT_EQ("Crepe", cl.GetSwitchValueASCII("spaetzle")); in TEST()
98 EXPECT_EQ("", cl.GetSwitchValueASCII("foo")); in TEST()
99 EXPECT_EQ("", cl.GetSwitchValueASCII("bar")); in TEST()
100 EXPECT_EQ("", cl.GetSwitchValueASCII("cruller")); in TEST()
101 EXPECT_EQ("--dog=canine --cat=feline", cl.GetSwitchValueASCII( in TEST()
102 "other-switches")); in TEST()
103 EXPECT_EQ("45--output-rotation", cl.GetSwitchValueASCII("input-translation")); in TEST()
105 const CommandLine::StringVector& args = cl.GetArgs(); in TEST()
111 EXPECT_EQ(FILE_PATH_LITERAL("-"), *iter); in TEST()
117 EXPECT_EQ(FILE_PATH_LITERAL("--"), *iter); in TEST()
119 EXPECT_EQ(FILE_PATH_LITERAL("--not-a-switch"), *iter); in TEST()
123 EXPECT_EQ(FILE_PATH_LITERAL("unquoted arg-with-space"), *iter); in TEST()
128 TEST(CommandLineTest, CommandLineFromString) { in TEST() function
130 CommandLine cl = CommandLine::FromString( in TEST() local
131 L"program --foo= -bAr /Spaetzel=pierogi /Baz flim " in TEST()
132 L"--other-switches=\"--dog=canine --cat=feline\" " in TEST()
133 L"-spaetzle=Crepe -=loosevalue FLAN " in TEST()
134 L"--input-translation=\"45\"--output-rotation " in TEST()
135 L"--quotes=" + in TEST()
137 L" -- -- --not-a-switch \"in the time of submarines...\""); in TEST()
139 EXPECT_FALSE(cl.GetCommandLineString().empty()); in TEST()
140 EXPECT_FALSE(cl.HasSwitch("cruller")); in TEST()
141 EXPECT_FALSE(cl.HasSwitch("flim")); in TEST()
142 EXPECT_FALSE(cl.HasSwitch("program")); in TEST()
143 EXPECT_FALSE(cl.HasSwitch("dog")); in TEST()
144 EXPECT_FALSE(cl.HasSwitch("cat")); in TEST()
145 EXPECT_FALSE(cl.HasSwitch("output-rotation")); in TEST()
146 EXPECT_FALSE(cl.HasSwitch("not-a-switch")); in TEST()
147 EXPECT_FALSE(cl.HasSwitch("--")); in TEST()
150 cl.GetProgram().value()); in TEST()
152 EXPECT_TRUE(cl.HasSwitch("foo")); in TEST()
153 EXPECT_TRUE(cl.HasSwitch("bar")); in TEST()
154 EXPECT_TRUE(cl.HasSwitch("baz")); in TEST()
155 EXPECT_TRUE(cl.HasSwitch("spaetzle")); in TEST()
156 EXPECT_TRUE(cl.HasSwitch("other-switches")); in TEST()
157 EXPECT_TRUE(cl.HasSwitch("input-translation")); in TEST()
158 EXPECT_TRUE(cl.HasSwitch("quotes")); in TEST()
160 EXPECT_EQ("Crepe", cl.GetSwitchValueASCII("spaetzle")); in TEST()
161 EXPECT_EQ("", cl.GetSwitchValueASCII("foo")); in TEST()
162 EXPECT_EQ("", cl.GetSwitchValueASCII("bar")); in TEST()
163 EXPECT_EQ("", cl.GetSwitchValueASCII("cruller")); in TEST()
164 EXPECT_EQ("--dog=canine --cat=feline", cl.GetSwitchValueASCII( in TEST()
165 "other-switches")); in TEST()
166 EXPECT_EQ("45--output-rotation", cl.GetSwitchValueASCII("input-translation")); in TEST()
167 EXPECT_EQ(kTricky, cl.GetSwitchValueNative("quotes")); in TEST()
169 const CommandLine::StringVector& args = cl.GetArgs(); in TEST()
177 EXPECT_EQ(FILE_PATH_LITERAL("--"), *iter); in TEST()
179 EXPECT_EQ(FILE_PATH_LITERAL("--not-a-switch"), *iter); in TEST()
186 CommandLine cl_duplicate = CommandLine::FromString(cl.GetCommandLineString()); in TEST()
187 EXPECT_EQ(cl.GetCommandLineString(), cl_duplicate.GetCommandLineString()); in TEST()
192 TEST(CommandLineTest, EmptyString) { in TEST() function
207 TEST(CommandLineTest, GetArgumentsString) { in TEST() function
213 static const char kFirstArgName[] = "first-arg"; in TEST()
218 CommandLine cl(CommandLine::NO_PROGRAM); in TEST() local
219 cl.AppendSwitchPath(kFirstArgName, FilePath(kPath1)); in TEST()
220 cl.AppendSwitchPath(kSecondArgName, FilePath(kPath2)); in TEST()
221 cl.AppendArg(kThirdArgName); in TEST()
222 cl.AppendArg(kFourthArgName); in TEST()
243 expected_str.append(FILE_PATH_LITERAL("--")) in TEST()
250 .append(FILE_PATH_LITERAL("--")) in TEST()
262 EXPECT_EQ(expected_str, cl.GetArgumentsString()); in TEST()
265 // Test methods for appending switches to a command line.
266 TEST(CommandLineTest, AppendSwitches) { in TEST() function
277 CommandLine cl(FilePath(FILE_PATH_LITERAL("Program"))); in TEST() local
279 cl.AppendSwitch(switch1); in TEST()
280 cl.AppendSwitchASCII(switch2, value2); in TEST()
281 cl.AppendSwitchASCII(switch3, value3); in TEST()
282 cl.AppendSwitchASCII(switch4, value4); in TEST()
283 cl.AppendSwitchASCII(switch5, value4); in TEST()
284 cl.AppendSwitchNative(switch5, value5); in TEST()
286 EXPECT_TRUE(cl.HasSwitch(switch1)); in TEST()
287 EXPECT_TRUE(cl.HasSwitch(switch2)); in TEST()
288 EXPECT_EQ(value2, cl.GetSwitchValueASCII(switch2)); in TEST()
289 EXPECT_TRUE(cl.HasSwitch(switch3)); in TEST()
290 EXPECT_EQ(value3, cl.GetSwitchValueASCII(switch3)); in TEST()
291 EXPECT_TRUE(cl.HasSwitch(switch4)); in TEST()
292 EXPECT_EQ(value4, cl.GetSwitchValueASCII(switch4)); in TEST()
293 EXPECT_TRUE(cl.HasSwitch(switch5)); in TEST()
294 EXPECT_EQ(value5, cl.GetSwitchValueNative(switch5)); in TEST()
299 L"--switch1 " in TEST()
300 L"--switch2=value " in TEST()
301 L"--switch3=\"a value with spaces\" " in TEST()
302 L"--switch4=\"\\\"a value with quotes\\\"\" " in TEST()
305 L"--quotes=\"\\\"a value with quotes\\\"\" " in TEST()
306 L"--quotes=\"" + in TEST()
308 cl.GetCommandLineString()); in TEST()
312 TEST(CommandLineTest, AppendSwitchesDashDash) { in TEST() function
314 FILE_PATH_LITERAL("--"), in TEST()
315 FILE_PATH_LITERAL("--arg1")}; in TEST()
316 CommandLine cl(std::size(raw_argv), raw_argv); in TEST() local
318 cl.AppendSwitch("switch1"); in TEST()
319 cl.AppendSwitchASCII("switch2", "foo"); in TEST()
321 cl.AppendArg("--arg2"); in TEST()
323 EXPECT_EQ(FILE_PATH_LITERAL("prog --switch1 --switch2=foo -- --arg1 --arg2"), in TEST()
324 cl.GetCommandLineString()); in TEST()
325 CommandLine::StringVector cl_argv = cl.argv(); in TEST()
327 EXPECT_EQ(FILE_PATH_LITERAL("--switch1"), cl_argv[1]); in TEST()
328 EXPECT_EQ(FILE_PATH_LITERAL("--switch2=foo"), cl_argv[2]); in TEST()
329 EXPECT_EQ(FILE_PATH_LITERAL("--"), cl_argv[3]); in TEST()
330 EXPECT_EQ(FILE_PATH_LITERAL("--arg1"), cl_argv[4]); in TEST()
331 EXPECT_EQ(FILE_PATH_LITERAL("--arg2"), cl_argv[5]); in TEST()
384 base::StrCat({LR"(c:\test\process.exe )", in TEST_P()
389 ASSERT_EQ(num_args - 1U, GetParam().input_args.size()); in TEST_P()
404 TEST(CommandLineTest, GetCommandLineStringForShell) { in TEST_P() function
405 CommandLine cl = CommandLine::FromString( in TEST_P() local
406 FILE_PATH_LITERAL("program --switch /switch2 --")); in TEST_P()
408 cl.GetCommandLineStringForShell(), in TEST_P()
409 FILE_PATH_LITERAL("program --switch /switch2 -- --single-argument %1")); in TEST_P()
412 TEST(CommandLineTest, GetCommandLineStringWithUnsafeInsertSequences) { in TEST_P() function
413 CommandLine cl(FilePath(FILE_PATH_LITERAL("program"))); in TEST_P() local
414 cl.AppendSwitchASCII("switch", "%1"); in TEST_P()
415 cl.AppendSwitch("%2"); in TEST_P()
416 cl.AppendArg("%3"); in TEST_P()
417 EXPECT_EQ(FILE_PATH_LITERAL("program --switch=%1 --%2 %3"), in TEST_P()
418 cl.GetCommandLineStringWithUnsafeInsertSequences()); in TEST_P()
421 TEST(CommandLineTest, HasSingleArgument) { in TEST_P() function
422 CommandLine cl(FilePath(FILE_PATH_LITERAL("Program"))); in TEST_P() local
423 cl.AppendSwitchASCII("switch2", "foo"); in TEST_P()
424 EXPECT_FALSE(cl.HasSingleArgumentSwitch()); in TEST_P()
426 CommandLine::FromString(cl.GetCommandLineStringForShell())); in TEST_P()
430 // Test that creating a new command line from the string version of a single in TEST_P()
433 TEST(CommandLineTest, MaintainSingleArgument) { in TEST_P() function
436 FILE_PATH_LITERAL("program --switch --single-argument foo bar.html"); in TEST_P()
437 CommandLine cl = CommandLine::FromString(kCommandLine); in TEST_P() local
438 CommandLine cl_for_shell = CommandLine::FromString(cl.GetCommandLineString()); in TEST_P()
449 TEST(CommandLineTest, AppendArguments) { in TEST_P() function
472 // This only makes sense on Windows and the test is basically here to guard in TEST_P()
474 TEST(CommandLineTest, ProgramQuotes) { in TEST_P() function
494 TEST(CommandLineTest, Init) { in TEST() function
496 // whether or not the test runner does so. in TEST()
504 // Test that copies of CommandLine have a valid StringPiece map.
505 TEST(CommandLineTest, Copy) { in TEST() function
507 initial->AppendSwitch("a"); in TEST()
508 initial->AppendSwitch("bbbbbbbbbbbbbbb"); in TEST()
509 initial->AppendSwitch("c"); in TEST()
512 CommandLine::SwitchMap switch_map = initial->GetSwitches(); in TEST()
520 TEST(CommandLineTest, CopySwitches) { in TEST() function
526 FILE_PATH_LITERAL("--a"), in TEST()
527 FILE_PATH_LITERAL("--bbbb"), in TEST()
528 FILE_PATH_LITERAL("--c"))); in TEST()
530 CommandLine cl(CommandLine::NO_PROGRAM); in TEST() local
531 EXPECT_THAT(cl.argv(), testing::ElementsAre(FILE_PATH_LITERAL(""))); in TEST()
533 cl.CopySwitchesFrom(source, {}); in TEST()
534 EXPECT_THAT(cl.argv(), testing::ElementsAre(FILE_PATH_LITERAL(""))); in TEST()
537 cl.CopySwitchesFrom(source, kSwitchesToCopy); in TEST()
538 EXPECT_THAT(cl.argv(), testing::ElementsAre(FILE_PATH_LITERAL(""), in TEST()
539 FILE_PATH_LITERAL("--a"), in TEST()
540 FILE_PATH_LITERAL("--c"))); in TEST()
543 TEST(CommandLineTest, PrependSimpleWrapper) { in TEST() function
544 CommandLine cl(FilePath(FILE_PATH_LITERAL("Program"))); in TEST() local
545 cl.AppendSwitch("a"); in TEST()
546 cl.AppendSwitch("b"); in TEST()
547 cl.PrependWrapper(FILE_PATH_LITERAL("wrapper --foo --bar")); in TEST()
549 EXPECT_EQ(6u, cl.argv().size()); in TEST()
550 EXPECT_EQ(FILE_PATH_LITERAL("wrapper"), cl.argv()[0]); in TEST()
551 EXPECT_EQ(FILE_PATH_LITERAL("--foo"), cl.argv()[1]); in TEST()
552 EXPECT_EQ(FILE_PATH_LITERAL("--bar"), cl.argv()[2]); in TEST()
553 EXPECT_EQ(FILE_PATH_LITERAL("Program"), cl.argv()[3]); in TEST()
554 EXPECT_EQ(FILE_PATH_LITERAL("--a"), cl.argv()[4]); in TEST()
555 EXPECT_EQ(FILE_PATH_LITERAL("--b"), cl.argv()[5]); in TEST()
558 TEST(CommandLineTest, PrependComplexWrapper) { in TEST() function
559 CommandLine cl(FilePath(FILE_PATH_LITERAL("Program"))); in TEST() local
560 cl.AppendSwitch("a"); in TEST()
561 cl.AppendSwitch("b"); in TEST()
562 cl.PrependWrapper( in TEST()
563 FILE_PATH_LITERAL("wrapper --foo='hello world' --bar=\"let's go\"")); in TEST()
565 EXPECT_EQ(6u, cl.argv().size()); in TEST()
566 EXPECT_EQ(FILE_PATH_LITERAL("wrapper"), cl.argv()[0]); in TEST()
567 EXPECT_EQ(FILE_PATH_LITERAL("--foo='hello world'"), cl.argv()[1]); in TEST()
568 EXPECT_EQ(FILE_PATH_LITERAL("--bar=\"let's go\""), cl.argv()[2]); in TEST()
569 EXPECT_EQ(FILE_PATH_LITERAL("Program"), cl.argv()[3]); in TEST()
570 EXPECT_EQ(FILE_PATH_LITERAL("--a"), cl.argv()[4]); in TEST()
571 EXPECT_EQ(FILE_PATH_LITERAL("--b"), cl.argv()[5]); in TEST()
574 TEST(CommandLineTest, RemoveSwitch) { in TEST() function
579 CommandLine cl(FilePath(FILE_PATH_LITERAL("Program"))); in TEST() local
581 cl.AppendSwitch(switch1); in TEST()
582 cl.AppendSwitchASCII(switch2, value2); in TEST()
584 EXPECT_TRUE(cl.HasSwitch(switch1)); in TEST()
585 EXPECT_TRUE(cl.HasSwitch(switch2)); in TEST()
586 EXPECT_EQ(value2, cl.GetSwitchValueASCII(switch2)); in TEST()
587 EXPECT_THAT(cl.argv(), in TEST()
589 FILE_PATH_LITERAL("--switch1"), in TEST()
590 FILE_PATH_LITERAL("--switch2=value"))); in TEST()
592 cl.RemoveSwitch(switch1); in TEST()
594 EXPECT_FALSE(cl.HasSwitch(switch1)); in TEST()
595 EXPECT_TRUE(cl.HasSwitch(switch2)); in TEST()
596 EXPECT_EQ(value2, cl.GetSwitchValueASCII(switch2)); in TEST()
597 EXPECT_THAT(cl.argv(), in TEST()
599 FILE_PATH_LITERAL("--switch2=value"))); in TEST()
602 TEST(CommandLineTest, RemoveSwitchWithValue) { in TEST() function
607 CommandLine cl(FilePath(FILE_PATH_LITERAL("Program"))); in TEST() local
609 cl.AppendSwitch(switch1); in TEST()
610 cl.AppendSwitchASCII(switch2, value2); in TEST()
612 EXPECT_TRUE(cl.HasSwitch(switch1)); in TEST()
613 EXPECT_TRUE(cl.HasSwitch(switch2)); in TEST()
614 EXPECT_EQ(value2, cl.GetSwitchValueASCII(switch2)); in TEST()
615 EXPECT_THAT(cl.argv(), in TEST()
617 FILE_PATH_LITERAL("--switch1"), in TEST()
618 FILE_PATH_LITERAL("--switch2=value"))); in TEST()
620 cl.RemoveSwitch(switch2); in TEST()
622 EXPECT_TRUE(cl.HasSwitch(switch1)); in TEST()
623 EXPECT_FALSE(cl.HasSwitch(switch2)); in TEST()
624 EXPECT_THAT(cl.argv(), testing::ElementsAre(FILE_PATH_LITERAL("Program"), in TEST()
625 FILE_PATH_LITERAL("--switch1"))); in TEST()
628 TEST(CommandLineTest, RemoveSwitchDropsMultipleSameSwitches) { in TEST() function
632 CommandLine cl(FilePath(FILE_PATH_LITERAL("Program"))); in TEST() local
634 cl.AppendSwitch(switch1); in TEST()
635 cl.AppendSwitchASCII(switch1, value2); in TEST()
637 EXPECT_TRUE(cl.HasSwitch(switch1)); in TEST()
638 EXPECT_EQ(value2, cl.GetSwitchValueASCII(switch1)); in TEST()
639 EXPECT_THAT(cl.argv(), in TEST()
641 FILE_PATH_LITERAL("--switch1"), in TEST()
642 FILE_PATH_LITERAL("--switch1=value2"))); in TEST()
644 cl.RemoveSwitch(switch1); in TEST()
646 EXPECT_FALSE(cl.HasSwitch(switch1)); in TEST()
647 EXPECT_THAT(cl.argv(), testing::ElementsAre(FILE_PATH_LITERAL("Program"))); in TEST()
650 TEST(CommandLineTest, AppendAndRemoveSwitchWithDefaultPrefix) { in TEST() function
651 CommandLine cl(FilePath(FILE_PATH_LITERAL("Program"))); in TEST() local
653 cl.AppendSwitch("foo"); in TEST()
654 EXPECT_THAT(cl.argv(), testing::ElementsAre(FILE_PATH_LITERAL("Program"), in TEST()
655 FILE_PATH_LITERAL("--foo"))); in TEST()
656 EXPECT_EQ(0u, cl.GetArgs().size()); in TEST()
658 cl.RemoveSwitch("foo"); in TEST()
659 EXPECT_THAT(cl.argv(), testing::ElementsAre(FILE_PATH_LITERAL("Program"))); in TEST()
660 EXPECT_EQ(0u, cl.GetArgs().size()); in TEST()
663 TEST(CommandLineTest, AppendAndRemoveSwitchWithAlternativePrefix) { in TEST() function
664 CommandLine cl(FilePath(FILE_PATH_LITERAL("Program"))); in TEST() local
666 cl.AppendSwitch("-foo"); in TEST()
667 EXPECT_THAT(cl.argv(), testing::ElementsAre(FILE_PATH_LITERAL("Program"), in TEST()
668 FILE_PATH_LITERAL("-foo"))); in TEST()
669 EXPECT_EQ(0u, cl.GetArgs().size()); in TEST()
671 cl.RemoveSwitch("foo"); in TEST()
672 EXPECT_THAT(cl.argv(), testing::ElementsAre(FILE_PATH_LITERAL("Program"))); in TEST()
673 EXPECT_EQ(0u, cl.GetArgs().size()); in TEST()
676 TEST(CommandLineTest, AppendAndRemoveSwitchPreservesOtherSwitchesAndArgs) { in TEST() function
677 CommandLine cl(FilePath(FILE_PATH_LITERAL("Program"))); in TEST() local
679 cl.AppendSwitch("foo"); in TEST()
680 cl.AppendSwitch("bar"); in TEST()
681 cl.AppendArg("arg"); in TEST()
682 EXPECT_THAT(cl.argv(), testing::ElementsAre(FILE_PATH_LITERAL("Program"), in TEST()
683 FILE_PATH_LITERAL("--foo"), in TEST()
684 FILE_PATH_LITERAL("--bar"), in TEST()
686 EXPECT_THAT(cl.GetArgs(), testing::ElementsAre(FILE_PATH_LITERAL("arg"))); in TEST()
688 cl.RemoveSwitch("foo"); in TEST()
689 EXPECT_THAT(cl.argv(), testing::ElementsAre(FILE_PATH_LITERAL("Program"), in TEST()
690 FILE_PATH_LITERAL("--bar"), in TEST()
692 EXPECT_THAT(cl.GetArgs(), testing::ElementsAre(FILE_PATH_LITERAL("arg"))); in TEST()
695 TEST(CommandLineTest, MultipleSameSwitch) { in TEST() function
698 FILE_PATH_LITERAL("--foo=one"), // --foo first time in TEST()
699 FILE_PATH_LITERAL("-baz"), in TEST()
700 FILE_PATH_LITERAL("--foo=two") // --foo second time in TEST()
702 CommandLine cl(std::size(argv), argv); in TEST() local
704 EXPECT_TRUE(cl.HasSwitch("foo")); in TEST()
705 EXPECT_TRUE(cl.HasSwitch("baz")); in TEST()
707 EXPECT_EQ("two", cl.GetSwitchValueASCII("foo")); in TEST()
710 // Helper class for the next test case
726 if (key != "mergeable-foo") { in ResolveDuplicate()
742 TEST(CommandLineTest, MultipleFilterFileSwitch) { in TEST() function
745 FILE_PATH_LITERAL("--mergeable-foo=one"), // --first time in TEST()
746 FILE_PATH_LITERAL("-baz"), in TEST()
747 FILE_PATH_LITERAL("--mergeable-foo=two") // --second time in TEST()
752 CommandLine cl(std::size(argv), argv); in TEST() local
754 EXPECT_TRUE(cl.HasSwitch("mergeable-foo")); in TEST()
755 EXPECT_TRUE(cl.HasSwitch("baz")); in TEST()
757 EXPECT_EQ("one;two", cl.GetSwitchValueASCII("mergeable-foo")); in TEST()
762 TEST(CommandLineTest, ParseAsSingleArgument) { in TEST() function
763 CommandLine cl = CommandLine::FromString( in TEST() local
764 FILE_PATH_LITERAL("program --switch_before arg_before " in TEST()
765 "--single-argument arg with spaces \"and quotes\" \"")); in TEST()
767 EXPECT_FALSE(cl.GetCommandLineString().empty()); in TEST()
768 EXPECT_EQ(FilePath(FILE_PATH_LITERAL("program")), cl.GetProgram()); in TEST()
769 EXPECT_TRUE(cl.HasSwitch("switch_before")); in TEST()
770 EXPECT_EQ(cl.GetArgs(), CommandLine::StringVector({FILE_PATH_LITERAL( in TEST()
774 CommandLine::FromString(FILE_PATH_LITERAL("program --single-argument ")); in TEST()
784 TEST(CommandLineDeathTest, ThreadChecks) { in TEST() function
785 test::TaskEnvironment task_environment; in TEST()
792 command_line->AppendSwitch("test"); in TEST()