mirror of
https://github.com/CLIUtils/CLI11.git
synced 2025-05-02 21:53:51 +00:00
Add --option=value test for #90, as well
This commit is contained in:
parent
aa7c01ff5d
commit
2b4780d74a
@ -415,6 +415,52 @@ TEST_F(TApp, RequiredOptsDoubleNeg) {
|
|||||||
EXPECT_EQ(strs, std::vector<std::string>({"one", "two"}));
|
EXPECT_EQ(strs, std::vector<std::string>({"one", "two"}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This makes sure unlimited option priority is
|
||||||
|
// correct for space vs. no space #90
|
||||||
|
TEST_F(TApp, PositionalNoSpace) {
|
||||||
|
std::vector<std::string> 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<std::string> 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) {
|
TEST_F(TApp, RequiredOptsUnlimited) {
|
||||||
|
|
||||||
std::vector<std::string> strs;
|
std::vector<std::string> strs;
|
||||||
@ -707,30 +753,6 @@ TEST_F(TApp, BigPositional) {
|
|||||||
EXPECT_EQ(args, vec);
|
EXPECT_EQ(args, vec);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This makes sure unlimited option priority is
|
|
||||||
// correct for space vs. no space #90
|
|
||||||
TEST_F(TApp, PositionalNoSpace) {
|
|
||||||
std::vector<std::string> 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) {
|
TEST_F(TApp, Reset) {
|
||||||
|
|
||||||
app.add_flag("--simple");
|
app.add_flag("--simple");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user