1
0
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:
Henry Fredrick Schreiner 2018-03-26 08:31:14 +02:00
parent aa7c01ff5d
commit 2b4780d74a

View File

@ -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");