diff --git a/tests/AppTest.cpp b/tests/AppTest.cpp index 5d253037..d5a58080 100644 --- a/tests/AppTest.cpp +++ b/tests/AppTest.cpp @@ -415,6 +415,52 @@ TEST_F(TApp, RequiredOptsDoubleNeg) { EXPECT_EQ(strs, std::vector({"one", "two"})); } +// This makes sure unlimited option priority is +// correct for space vs. no space #90 +TEST_F(TApp, PositionalNoSpace) { + std::vector options; + std::string foo, bar; + + app.add_option("-O", options); + app.add_option("foo", foo)->required(); + app.add_option("bar", bar)->required(); + + args = {"-O", "Test", "param1", "param2"}; + run(); + + EXPECT_EQ(options.size(), (size_t)1); + EXPECT_EQ(options.at(0), "Test"); + + app.reset(); + args = {"-OTest", "param1", "param2"}; + run(); + + EXPECT_EQ(options.size(), (size_t)1); + EXPECT_EQ(options.at(0), "Test"); +} + +TEST_F(TApp, PositionalNoSpaceLong) { + std::vector options; + std::string foo, bar; + + app.add_option("--option", options); + app.add_option("foo", foo)->required(); + app.add_option("bar", bar)->required(); + + args = {"--option", "Test", "param1", "param2"}; + run(); + + EXPECT_EQ(options.size(), (size_t)1); + EXPECT_EQ(options.at(0), "Test"); + + app.reset(); + args = {"--option=Test", "param1", "param2"}; + run(); + + EXPECT_EQ(options.size(), (size_t)1); + EXPECT_EQ(options.at(0), "Test"); +} + TEST_F(TApp, RequiredOptsUnlimited) { std::vector strs; @@ -707,30 +753,6 @@ TEST_F(TApp, BigPositional) { EXPECT_EQ(args, vec); } -// This makes sure unlimited option priority is -// correct for space vs. no space #90 -TEST_F(TApp, PositionalNoSpace) { - std::vector options; - std::string foo, bar; - - app.add_option("-O", options); - app.add_option("foo", foo)->required(); - app.add_option("bar", bar)->required(); - - args = {"-O", "Test", "param1", "param2"}; - run(); - - EXPECT_EQ(options.size(), (size_t)1); - EXPECT_EQ(options.at(0), "Test"); - - app.reset(); - args = {"-OTest", "param1", "param2"}; - run(); - - EXPECT_EQ(options.size(), (size_t)1); - EXPECT_EQ(options.at(0), "Test"); -} - TEST_F(TApp, Reset) { app.add_flag("--simple");