mirror of
https://github.com/CLIUtils/CLI11.git
synced 2025-05-03 14:03:52 +00:00
Added OptionNotFound, correct throw on failed run
This commit is contained in:
parent
a9c564c38a
commit
3e8502bf43
@ -1,18 +1,26 @@
|
|||||||
#include "app_helper.hpp"
|
#include "app_helper.hpp"
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
|
||||||
TEST_F(TApp, OneFlagShort) {
|
TEST_F(TApp, OneFlagShort) {
|
||||||
app.add_flag("-c,--count");
|
app.add_flag("-c,--count");
|
||||||
args = {"-c"};
|
args = {"-c"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(1, app.count("-c"));
|
EXPECT_EQ(1, app.count("-c"));
|
||||||
EXPECT_EQ(1, app.count("--count"));
|
EXPECT_EQ(1, app.count("--count"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(TApp, CountNonExist) {
|
||||||
|
app.add_flag("-c,--count");
|
||||||
|
args = {"-c"};
|
||||||
|
run();
|
||||||
|
EXPECT_THROW(app.count("--nonexist"), CLI::OptionNotFound);
|
||||||
|
}
|
||||||
|
|
||||||
TEST_F(TApp, OneFlagLong) {
|
TEST_F(TApp, OneFlagLong) {
|
||||||
app.add_flag("-c,--count");
|
app.add_flag("-c,--count");
|
||||||
args = {"--count"};
|
args = {"--count"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(1, app.count("-c"));
|
EXPECT_EQ(1, app.count("-c"));
|
||||||
EXPECT_EQ(1, app.count("--count"));
|
EXPECT_EQ(1, app.count("--count"));
|
||||||
}
|
}
|
||||||
@ -23,7 +31,7 @@ TEST_F(TApp, DashedOptions) {
|
|||||||
app.add_flag("--this,--that");
|
app.add_flag("--this,--that");
|
||||||
|
|
||||||
args = {"-c", "--q", "--this", "--that"};
|
args = {"-c", "--q", "--this", "--that"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(1, app.count("-c"));
|
EXPECT_EQ(1, app.count("-c"));
|
||||||
EXPECT_EQ(1, app.count("--q"));
|
EXPECT_EQ(1, app.count("--q"));
|
||||||
EXPECT_EQ(2, app.count("--this"));
|
EXPECT_EQ(2, app.count("--this"));
|
||||||
@ -36,7 +44,7 @@ TEST_F(TApp, OneFlagRef) {
|
|||||||
int ref;
|
int ref;
|
||||||
app.add_flag("-c,--count", ref);
|
app.add_flag("-c,--count", ref);
|
||||||
args = {"--count"};
|
args = {"--count"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(1, app.count("-c"));
|
EXPECT_EQ(1, app.count("-c"));
|
||||||
EXPECT_EQ(1, app.count("--count"));
|
EXPECT_EQ(1, app.count("--count"));
|
||||||
EXPECT_EQ(1, ref);
|
EXPECT_EQ(1, ref);
|
||||||
@ -46,7 +54,7 @@ TEST_F(TApp, OneString) {
|
|||||||
std::string str;
|
std::string str;
|
||||||
app.add_option("-s,--string", str);
|
app.add_option("-s,--string", str);
|
||||||
args = {"--string", "mystring"};
|
args = {"--string", "mystring"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(1, app.count("-s"));
|
EXPECT_EQ(1, app.count("-s"));
|
||||||
EXPECT_EQ(1, app.count("--string"));
|
EXPECT_EQ(1, app.count("--string"));
|
||||||
EXPECT_EQ(str, "mystring");
|
EXPECT_EQ(str, "mystring");
|
||||||
@ -56,7 +64,7 @@ TEST_F(TApp, OneStringEqualVersion) {
|
|||||||
std::string str;
|
std::string str;
|
||||||
app.add_option("-s,--string", str);
|
app.add_option("-s,--string", str);
|
||||||
args = {"--string=mystring"};
|
args = {"--string=mystring"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(1, app.count("-s"));
|
EXPECT_EQ(1, app.count("-s"));
|
||||||
EXPECT_EQ(1, app.count("--string"));
|
EXPECT_EQ(1, app.count("--string"));
|
||||||
EXPECT_EQ(str, "mystring");
|
EXPECT_EQ(str, "mystring");
|
||||||
@ -67,7 +75,7 @@ TEST_F(TApp, TogetherInt) {
|
|||||||
int i;
|
int i;
|
||||||
app.add_option("-i,--int", i);
|
app.add_option("-i,--int", i);
|
||||||
args = {"-i4"};
|
args = {"-i4"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(1, app.count("--int"));
|
EXPECT_EQ(1, app.count("--int"));
|
||||||
EXPECT_EQ(1, app.count("-i"));
|
EXPECT_EQ(1, app.count("-i"));
|
||||||
EXPECT_EQ(i, 4);
|
EXPECT_EQ(i, 4);
|
||||||
@ -77,7 +85,7 @@ TEST_F(TApp, SepInt) {
|
|||||||
int i;
|
int i;
|
||||||
app.add_option("-i,--int", i);
|
app.add_option("-i,--int", i);
|
||||||
args = {"-i","4"};
|
args = {"-i","4"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(1, app.count("--int"));
|
EXPECT_EQ(1, app.count("--int"));
|
||||||
EXPECT_EQ(1, app.count("-i"));
|
EXPECT_EQ(1, app.count("-i"));
|
||||||
EXPECT_EQ(i, 4);
|
EXPECT_EQ(i, 4);
|
||||||
@ -87,7 +95,7 @@ TEST_F(TApp, OneStringAgain) {
|
|||||||
std::string str;
|
std::string str;
|
||||||
app.add_option("-s,--string", str);
|
app.add_option("-s,--string", str);
|
||||||
args = {"--string", "mystring"};
|
args = {"--string", "mystring"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(1, app.count("-s"));
|
EXPECT_EQ(1, app.count("-s"));
|
||||||
EXPECT_EQ(1, app.count("--string"));
|
EXPECT_EQ(1, app.count("--string"));
|
||||||
EXPECT_EQ(str, "mystring");
|
EXPECT_EQ(str, "mystring");
|
||||||
@ -97,7 +105,7 @@ TEST_F(TApp, OneStringAgain) {
|
|||||||
TEST_F(TApp, DefaultStringAgain) {
|
TEST_F(TApp, DefaultStringAgain) {
|
||||||
std::string str = "previous";
|
std::string str = "previous";
|
||||||
app.add_option("-s,--string", str);
|
app.add_option("-s,--string", str);
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(0, app.count("-s"));
|
EXPECT_EQ(0, app.count("-s"));
|
||||||
EXPECT_EQ(0, app.count("--string"));
|
EXPECT_EQ(0, app.count("--string"));
|
||||||
EXPECT_EQ(str, "previous");
|
EXPECT_EQ(str, "previous");
|
||||||
@ -110,7 +118,7 @@ TEST_F(TApp, LotsOfFlags) {
|
|||||||
app.add_flag("-b");
|
app.add_flag("-b");
|
||||||
|
|
||||||
args = {"-a","-b","-aA"};
|
args = {"-a","-b","-aA"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(2, app.count("-a"));
|
EXPECT_EQ(2, app.count("-a"));
|
||||||
EXPECT_EQ(1, app.count("-b"));
|
EXPECT_EQ(1, app.count("-b"));
|
||||||
EXPECT_EQ(1, app.count("-A"));
|
EXPECT_EQ(1, app.count("-A"));
|
||||||
@ -128,7 +136,7 @@ TEST_F(TApp, BoolAndIntFlags) {
|
|||||||
app.add_flag("-u", uflag);
|
app.add_flag("-u", uflag);
|
||||||
|
|
||||||
args = {"-b", "-i", "-u"};
|
args = {"-b", "-i", "-u"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_TRUE(bflag);
|
EXPECT_TRUE(bflag);
|
||||||
EXPECT_EQ(1, iflag);
|
EXPECT_EQ(1, iflag);
|
||||||
EXPECT_EQ((unsigned int) 1, uflag);
|
EXPECT_EQ((unsigned int) 1, uflag);
|
||||||
@ -142,7 +150,7 @@ TEST_F(TApp, BoolAndIntFlags) {
|
|||||||
bflag = false;
|
bflag = false;
|
||||||
|
|
||||||
args = {"-iiiuu"};
|
args = {"-iiiuu"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_FALSE(bflag);
|
EXPECT_FALSE(bflag);
|
||||||
EXPECT_EQ(3, iflag);
|
EXPECT_EQ(3, iflag);
|
||||||
EXPECT_EQ((unsigned int) 2, uflag);
|
EXPECT_EQ((unsigned int) 2, uflag);
|
||||||
@ -157,7 +165,7 @@ TEST_F(TApp, ShortOpts) {
|
|||||||
|
|
||||||
args = {"-zzyzyz",};
|
args = {"-zzyzyz",};
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
EXPECT_EQ(2, app.count("-z"));
|
EXPECT_EQ(2, app.count("-z"));
|
||||||
EXPECT_EQ(1, app.count("-y"));
|
EXPECT_EQ(1, app.count("-y"));
|
||||||
@ -175,7 +183,7 @@ TEST_F(TApp, DefaultOpts) {
|
|||||||
|
|
||||||
args = {"-i2", "9"};
|
args = {"-i2", "9"};
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
EXPECT_EQ(1, app.count("i"));
|
EXPECT_EQ(1, app.count("i"));
|
||||||
EXPECT_EQ(1, app.count("-s"));
|
EXPECT_EQ(1, app.count("-s"));
|
||||||
@ -200,7 +208,7 @@ TEST_F(TApp, RequiredFlags) {
|
|||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"-a", "-b"};
|
args = {"-a", "-b"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -213,7 +221,7 @@ TEST_F(TApp, Positionals) {
|
|||||||
|
|
||||||
args = {"thing1","thing2"};
|
args = {"thing1","thing2"};
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
EXPECT_EQ(1, app.count("posit1"));
|
EXPECT_EQ(1, app.count("posit1"));
|
||||||
EXPECT_EQ(1, app.count("posit2"));
|
EXPECT_EQ(1, app.count("posit2"));
|
||||||
@ -230,7 +238,7 @@ TEST_F(TApp, MixedPositionals) {
|
|||||||
|
|
||||||
args = {"--posit2","thing2","7"};
|
args = {"--posit2","thing2","7"};
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
EXPECT_EQ(1, app.count("posit2"));
|
EXPECT_EQ(1, app.count("posit2"));
|
||||||
EXPECT_EQ(1, app.count("--posit1"));
|
EXPECT_EQ(1, app.count("--posit1"));
|
||||||
@ -246,7 +254,7 @@ TEST_F(TApp, Reset) {
|
|||||||
|
|
||||||
args = {"--simple", "--double", "1.2"};
|
args = {"--simple", "--double", "1.2"};
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
EXPECT_EQ(1, app.count("--simple"));
|
EXPECT_EQ(1, app.count("--simple"));
|
||||||
EXPECT_EQ(1, app.count("-d"));
|
EXPECT_EQ(1, app.count("-d"));
|
||||||
@ -257,7 +265,7 @@ TEST_F(TApp, Reset) {
|
|||||||
EXPECT_EQ(0, app.count("--simple"));
|
EXPECT_EQ(0, app.count("--simple"));
|
||||||
EXPECT_EQ(0, app.count("-d"));
|
EXPECT_EQ(0, app.count("-d"));
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
EXPECT_EQ(1, app.count("--simple"));
|
EXPECT_EQ(1, app.count("--simple"));
|
||||||
EXPECT_EQ(1, app.count("-d"));
|
EXPECT_EQ(1, app.count("-d"));
|
||||||
@ -274,7 +282,7 @@ TEST_F(TApp, FileNotExists) {
|
|||||||
app.add_option("--file", filename)->check(CLI::NonexistentPath);
|
app.add_option("--file", filename)->check(CLI::NonexistentPath);
|
||||||
args = {"--file", myfile};
|
args = {"--file", myfile};
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(myfile, filename);
|
EXPECT_EQ(myfile, filename);
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
@ -302,7 +310,7 @@ TEST_F(TApp, FileExists) {
|
|||||||
|
|
||||||
bool ok = static_cast<bool>(std::ofstream(myfile.c_str()).put('a')); // create file
|
bool ok = static_cast<bool>(std::ofstream(myfile.c_str()).put('a')); // create file
|
||||||
EXPECT_TRUE(ok);
|
EXPECT_TRUE(ok);
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(myfile, filename);
|
EXPECT_EQ(myfile, filename);
|
||||||
|
|
||||||
std::remove(myfile.c_str());
|
std::remove(myfile.c_str());
|
||||||
@ -316,7 +324,7 @@ TEST_F(TApp, InSet) {
|
|||||||
|
|
||||||
args = {"--quick", "two"};
|
args = {"--quick", "two"};
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ("two", choice);
|
EXPECT_EQ("two", choice);
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
@ -332,7 +340,7 @@ TEST_F(TApp, InIntSet) {
|
|||||||
|
|
||||||
args = {"--quick", "2"};
|
args = {"--quick", "2"};
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(2, choice);
|
EXPECT_EQ(2, choice);
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
@ -347,17 +355,17 @@ TEST_F(TApp, InSetIgnoreCase) {
|
|||||||
app.add_set_ignore_case("-q,--quick", choice, {"one", "Two", "THREE"});
|
app.add_set_ignore_case("-q,--quick", choice, {"one", "Two", "THREE"});
|
||||||
|
|
||||||
args = {"--quick", "One"};
|
args = {"--quick", "One"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ("one", choice);
|
EXPECT_EQ("one", choice);
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--quick", "two"};
|
args = {"--quick", "two"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ("Two", choice); // Keeps caps from set
|
EXPECT_EQ("Two", choice); // Keeps caps from set
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--quick", "ThrEE"};
|
args = {"--quick", "ThrEE"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ("THREE", choice); // Keeps caps from set
|
EXPECT_EQ("THREE", choice); // Keeps caps from set
|
||||||
|
|
||||||
|
|
||||||
@ -389,7 +397,7 @@ TEST_F(TApp, VectorUnlimString) {
|
|||||||
EXPECT_EQ(-1, opt->get_expected());
|
EXPECT_EQ(-1, opt->get_expected());
|
||||||
|
|
||||||
args = {"--string", "mystring", "mystring2", "mystring3"};
|
args = {"--string", "mystring", "mystring2", "mystring3"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(3, app.count("--string"));
|
EXPECT_EQ(3, app.count("--string"));
|
||||||
EXPECT_EQ(answer, strvec);
|
EXPECT_EQ(answer, strvec);
|
||||||
}
|
}
|
||||||
@ -403,7 +411,7 @@ TEST_F(TApp, VectorFancyOpts) {
|
|||||||
EXPECT_EQ(3, opt->get_expected());
|
EXPECT_EQ(3, opt->get_expected());
|
||||||
|
|
||||||
args = {"--string", "mystring", "mystring2", "mystring3"};
|
args = {"--string", "mystring", "mystring2", "mystring3"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(3, app.count("--string"));
|
EXPECT_EQ(3, app.count("--string"));
|
||||||
EXPECT_EQ(answer, strvec);
|
EXPECT_EQ(answer, strvec);
|
||||||
|
|
||||||
@ -419,15 +427,15 @@ TEST_F(TApp, RequiresFlags) {
|
|||||||
CLI::Option* opt = app.add_flag("-s,--string");
|
CLI::Option* opt = app.add_flag("-s,--string");
|
||||||
app.add_flag("--both")->requires(opt);
|
app.add_flag("--both")->requires(opt);
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"-s"};
|
args = {"-s"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"-s", "--both"};
|
args = {"-s", "--both"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--both"};
|
args = {"--both"};
|
||||||
@ -439,15 +447,15 @@ TEST_F(TApp, ExcludesFlags) {
|
|||||||
CLI::Option* opt = app.add_flag("-s,--string");
|
CLI::Option* opt = app.add_flag("-s,--string");
|
||||||
app.add_flag("--nostr")->excludes(opt);
|
app.add_flag("--nostr")->excludes(opt);
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"-s"};
|
args = {"-s"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--nostr"};
|
args = {"--nostr"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--nostr", "-s"};
|
args = {"--nostr", "-s"};
|
||||||
@ -464,15 +472,15 @@ TEST_F(TApp, ExcludesMixedFlags) {
|
|||||||
CLI::Option* opt3 = app.add_flag("--opt3");
|
CLI::Option* opt3 = app.add_flag("--opt3");
|
||||||
app.add_flag("--no")->excludes(opt1, "--opt2", opt3);
|
app.add_flag("--no")->excludes(opt1, "--opt2", opt3);
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--no"};
|
args = {"--no"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--opt2"};
|
args = {"--opt2"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--no", "--opt1"};
|
args = {"--no", "--opt1"};
|
||||||
@ -489,15 +497,15 @@ TEST_F(TApp, RequiresMultiFlags) {
|
|||||||
CLI::Option* opt3 = app.add_flag("--opt3");
|
CLI::Option* opt3 = app.add_flag("--opt3");
|
||||||
app.add_flag("--optall")->requires(opt1, opt2, opt3);
|
app.add_flag("--optall")->requires(opt1, opt2, opt3);
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--opt1"};
|
args = {"--opt1"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--opt2"};
|
args = {"--opt2"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--optall"};
|
args = {"--optall"};
|
||||||
@ -513,7 +521,7 @@ TEST_F(TApp, RequiresMultiFlags) {
|
|||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--optall", "--opt1", "--opt2", "--opt3"};
|
args = {"--optall", "--opt1", "--opt2", "--opt3"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(TApp, RequiresMixedFlags) {
|
TEST_F(TApp, RequiresMixedFlags) {
|
||||||
@ -522,15 +530,15 @@ TEST_F(TApp, RequiresMixedFlags) {
|
|||||||
app.add_flag("--opt3");
|
app.add_flag("--opt3");
|
||||||
app.add_flag("--optall")->requires(opt1, "--opt2", "--opt3");
|
app.add_flag("--optall")->requires(opt1, "--opt2", "--opt3");
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--opt1"};
|
args = {"--opt1"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--opt2"};
|
args = {"--opt2"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--optall"};
|
args = {"--optall"};
|
||||||
@ -546,7 +554,7 @@ TEST_F(TApp, RequiresMixedFlags) {
|
|||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--optall", "--opt1", "--opt2", "--opt3"};
|
args = {"--optall", "--opt1", "--opt2", "--opt3"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(TApp, RequiresChainedFlags) {
|
TEST_F(TApp, RequiresChainedFlags) {
|
||||||
@ -554,11 +562,11 @@ TEST_F(TApp, RequiresChainedFlags) {
|
|||||||
CLI::Option* opt2 = app.add_flag("--opt2")->requires(opt1);
|
CLI::Option* opt2 = app.add_flag("--opt2")->requires(opt1);
|
||||||
app.add_flag("--opt3")->requires(opt2);
|
app.add_flag("--opt3")->requires(opt2);
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--opt1"};
|
args = {"--opt1"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--opt2"};
|
args = {"--opt2"};
|
||||||
@ -578,11 +586,11 @@ TEST_F(TApp, RequiresChainedFlags) {
|
|||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--opt2", "--opt1"};
|
args = {"--opt2", "--opt1"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--opt1", "--opt2", "--opt3"};
|
args = {"--opt1", "--opt2", "--opt3"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(TApp, Env) {
|
TEST_F(TApp, Env) {
|
||||||
@ -592,14 +600,14 @@ TEST_F(TApp, Env) {
|
|||||||
int val=1;
|
int val=1;
|
||||||
CLI::Option* vopt = app.add_option("--tmp", val)->envname("CLI11_TEST_ENV_TMP");
|
CLI::Option* vopt = app.add_option("--tmp", val)->envname("CLI11_TEST_ENV_TMP");
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
EXPECT_EQ(2, val);
|
EXPECT_EQ(2, val);
|
||||||
EXPECT_EQ(1, vopt->count());
|
EXPECT_EQ(1, vopt->count());
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
vopt->required();
|
vopt->required();
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
unset_env("CLI11_TEST_ENV_TMP");
|
unset_env("CLI11_TEST_ENV_TMP");
|
||||||
@ -619,15 +627,15 @@ TEST_F(TApp, RangeInt) {
|
|||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--one=3"};
|
args = {"--one=3"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--one=5"};
|
args = {"--one=5"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--one=6"};
|
args = {"--one=6"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(TApp, RangeDouble) {
|
TEST_F(TApp, RangeDouble) {
|
||||||
@ -645,15 +653,15 @@ TEST_F(TApp, RangeDouble) {
|
|||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--one=3"};
|
args = {"--one=3"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--one=5"};
|
args = {"--one=5"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"--one=6"};
|
args = {"--one=6"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check to make sure progromatic access to left over is available
|
// Check to make sure progromatic access to left over is available
|
||||||
|
@ -228,13 +228,13 @@ TEST_F(TApp, IniRequired) {
|
|||||||
|
|
||||||
args = {"--one=1"};
|
args = {"--one=1"};
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
one=two=three=0;
|
one=two=three=0;
|
||||||
args = {"--one=1", "--two=2"};
|
args = {"--one=1", "--two=2"};
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {};
|
args = {};
|
||||||
|
@ -4,19 +4,19 @@ TEST_F(TApp, BasicSubcommands) {
|
|||||||
auto sub1 = app.add_subcommand("sub1");
|
auto sub1 = app.add_subcommand("sub1");
|
||||||
auto sub2 = app.add_subcommand("sub2");
|
auto sub2 = app.add_subcommand("sub2");
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(0, app.get_subcommands().size());
|
EXPECT_EQ(0, app.get_subcommands().size());
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"sub1"};
|
args = {"sub1"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(sub1, app.get_subcommands().at(0));
|
EXPECT_EQ(sub1, app.get_subcommands().at(0));
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
EXPECT_EQ(0, app.get_subcommands().size());
|
EXPECT_EQ(0, app.get_subcommands().size());
|
||||||
|
|
||||||
args = {"sub2"};
|
args = {"sub2"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(sub2, app.get_subcommands().at(0));
|
EXPECT_EQ(sub2, app.get_subcommands().at(0));
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
@ -39,12 +39,12 @@ TEST_F(TApp, MultiSubFallthrough) {
|
|||||||
app.reset();
|
app.reset();
|
||||||
app.require_subcommand();
|
app.require_subcommand();
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
app.require_subcommand(2);
|
app.require_subcommand(2);
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
app.require_subcommand(1);
|
app.require_subcommand(1);
|
||||||
@ -66,7 +66,7 @@ TEST_F(TApp, Callbacks) {
|
|||||||
|
|
||||||
args = {"sub2"};
|
args = {"sub2"};
|
||||||
EXPECT_FALSE(val);
|
EXPECT_FALSE(val);
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_TRUE(val);
|
EXPECT_TRUE(val);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -168,7 +168,7 @@ TEST_F(TApp, RequiredSubCom) {
|
|||||||
|
|
||||||
args = {"sub1"};
|
args = {"sub1"};
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -182,7 +182,7 @@ TEST_F(TApp, Required1SubCom) {
|
|||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"sub1"};
|
args = {"sub1"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"sub1", "sub2"};
|
args = {"sub1", "sub2"};
|
||||||
@ -211,7 +211,7 @@ struct SubcommandProgram : public TApp {
|
|||||||
TEST_F(SubcommandProgram, Working) {
|
TEST_F(SubcommandProgram, Working) {
|
||||||
args = {"-d", "start", "-ffilename"};
|
args = {"-d", "start", "-ffilename"};
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
EXPECT_EQ(1, dummy);
|
EXPECT_EQ(1, dummy);
|
||||||
EXPECT_EQ(start, app.get_subcommands().at(0));
|
EXPECT_EQ(start, app.get_subcommands().at(0));
|
||||||
@ -234,7 +234,7 @@ TEST_F(SubcommandProgram, SpareSub) {
|
|||||||
TEST_F(SubcommandProgram, Multiple) {
|
TEST_F(SubcommandProgram, Multiple) {
|
||||||
args = {"-d", "start", "-ffilename", "stop"};
|
args = {"-d", "start", "-ffilename", "stop"};
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(2, app.get_subcommands().size());
|
EXPECT_EQ(2, app.get_subcommands().size());
|
||||||
EXPECT_EQ(1, dummy);
|
EXPECT_EQ(1, dummy);
|
||||||
EXPECT_EQ("filename", file);
|
EXPECT_EQ("filename", file);
|
||||||
@ -249,7 +249,7 @@ TEST_F(SubcommandProgram, MultipleOtherOrder) {
|
|||||||
TEST_F(SubcommandProgram, MultipleArgs) {
|
TEST_F(SubcommandProgram, MultipleArgs) {
|
||||||
args = {"start", "stop"};
|
args = {"start", "stop"};
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
EXPECT_EQ(2, app.get_subcommands().size());
|
EXPECT_EQ(2, app.get_subcommands().size());
|
||||||
|
|
||||||
@ -262,16 +262,16 @@ TEST_F(SubcommandProgram, CaseCheck) {
|
|||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"start"};
|
args = {"start"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
start->ignore_case();
|
start->ignore_case();
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"Start"};
|
args = {"Start"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(TApp, SubcomInheritCaseCheck) {
|
TEST_F(TApp, SubcomInheritCaseCheck) {
|
||||||
@ -279,19 +279,19 @@ TEST_F(TApp, SubcomInheritCaseCheck) {
|
|||||||
auto sub1 = app.add_subcommand("sub1");
|
auto sub1 = app.add_subcommand("sub1");
|
||||||
auto sub2 = app.add_subcommand("sub2");
|
auto sub2 = app.add_subcommand("sub2");
|
||||||
|
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(0, app.get_subcommands().size());
|
EXPECT_EQ(0, app.get_subcommands().size());
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"SuB1"};
|
args = {"SuB1"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(sub1, app.get_subcommands().at(0));
|
EXPECT_EQ(sub1, app.get_subcommands().at(0));
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
EXPECT_EQ(0, app.get_subcommands().size());
|
EXPECT_EQ(0, app.get_subcommands().size());
|
||||||
|
|
||||||
args = {"sUb2"};
|
args = {"sUb2"};
|
||||||
EXPECT_NO_THROW(run());
|
run();
|
||||||
EXPECT_EQ(sub2, app.get_subcommands().at(0));
|
EXPECT_EQ(sub2, app.get_subcommands().at(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user