X-Git-Url: http://plrg.eecs.uci.edu/git/?p=folly.git;a=blobdiff_plain;f=folly%2Fexperimental%2Ftest%2FNestedCommandLineAppTest.cpp;h=3d8e3acfabf99e672e90907af7141be832e7d618;hp=27c698da81780154f1819dfc641fed1bb0cfd4c1;hb=d7b6ad4972b288f90bf57d7597103c44c244decd;hpb=cd1bdc912603c0358ba733d379a74ae90ab3a437;ds=sidebyside diff --git a/folly/experimental/test/NestedCommandLineAppTest.cpp b/folly/experimental/test/NestedCommandLineAppTest.cpp index 27c698da..3d8e3acf 100644 --- a/folly/experimental/test/NestedCommandLineAppTest.cpp +++ b/folly/experimental/test/NestedCommandLineAppTest.cpp @@ -75,6 +75,7 @@ TEST(ProgramOptionsTest, Help) { callHelper({"--help"}); callHelper({"--help", "foo"}); callHelper({"--help", "bar"}); + callHelper({"--help", "--", "bar"}); callHelper({"help"}); callHelper({"help", "foo"}); callHelper({"help", "bar"}); @@ -82,6 +83,9 @@ TEST(ProgramOptionsTest, Help) { // wrong command name callHelper({"--help", "qux"}, 1); callHelper({"help", "qux"}, 1); + + // anything after -- is parsed as arguments + callHelper({"--", "help", "bar"}, 1); } TEST(ProgramOptionsTest, DevFull) { @@ -89,6 +93,20 @@ TEST(ProgramOptionsTest, DevFull) { callHelper({"--help"}, 1, full.fd()); } +TEST(ProgramOptionsTest, CutArguments) { + // anything after -- is parsed as arguments + EXPECT_EQ( + "running foo\n" + "foo global-foo 43\n" + "foo local-foo 42\n" + "foo arg b\n" + "foo arg --local-foo\n" + "foo arg 44\n" + "foo arg a\n", + callHelper( + {"foo", "--global-foo", "43", "--", "b", "--local-foo", "44", "a"})); +} + TEST(ProgramOptionsTest, Success) { EXPECT_EQ( "running foo\n"