diff options
Diffstat (limited to 'llvm/unittests/Option/OptionSubCommandsTest.cpp')
| -rw-r--r-- | llvm/unittests/Option/OptionSubCommandsTest.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/unittests/Option/OptionSubCommandsTest.cpp b/llvm/unittests/Option/OptionSubCommandsTest.cpp index e31a326..d4744c9 100644 --- a/llvm/unittests/Option/OptionSubCommandsTest.cpp +++ b/llvm/unittests/Option/OptionSubCommandsTest.cpp @@ -192,6 +192,19 @@ TYPED_TEST(OptSubCommandTableTest, SubCommandParsing) { std::string::npos, ErrMsg.find("Option [lowercase] is not valid for SubCommand [bar]")); } + + { + // Test case 7: Check valid use of a valid subcommand following more + // positional arguments. + const char *Args[] = {"bar", "input"}; + InputArgList AL = T.ParseArgs(Args, MAI, MAC); + StringRef SC = AL.getSubCommand( + T.getSubCommands(), HandleMultipleSubcommands, HandleOtherPositionals); + EXPECT_EQ(SC, "bar"); // valid subcommand + EXPECT_NE(std::string::npos, + ErrMsg.find("Unregistered positionals passed")); + EXPECT_NE(std::string::npos, ErrMsg.find("input")); + } } TYPED_TEST(OptSubCommandTableTest, SubCommandHelp) { |
