diff --git a/tests/SubcommandTest.cpp b/tests/SubcommandTest.cpp index 16e063dd..17a58898 100644 --- a/tests/SubcommandTest.cpp +++ b/tests/SubcommandTest.cpp @@ -299,10 +299,10 @@ TEST_F(TApp, SubComExtras) { app.reset(); - // args = {"sub", "extra"}; - // run(); - // EXPECT_EQ(app.remaining(), std::vector()); - // EXPECT_EQ(sub->remaining(), std::vector({"extra"})); + args = {"sub", "extra1", "extra2"}; + run(); + EXPECT_EQ(app.remaining(), std::vector()); + EXPECT_EQ(sub->remaining(), std::vector({"extra1", "extra2"})); } TEST_F(TApp, Required1SubCom) { @@ -342,6 +342,20 @@ TEST_F(TApp, PrefixProgram) { EXPECT_EQ(app.remaining(), std::vector({"other", "--simple", "--mine"})); } +TEST_F(TApp, PrefixSubcom) { + auto subc = app.add_subcommand("subc"); + subc->prefix_command(); + + app.add_flag("--simple"); + + args = {"--simple", "subc", "other", "--simple", "--mine"}; + run(); + + EXPECT_EQ(app.remaining_size(), (size_t) 0); + EXPECT_EQ(app.remaining_size(true), (size_t) 3); + EXPECT_EQ(subc->remaining(), std::vector({"other", "--simple", "--mine"})); +} + struct SubcommandProgram : public TApp { CLI::App *start;