aboutsummaryrefslogtreecommitdiff
path: root/test.cxx
diff options
context:
space:
mode:
authorTaylor C. Richberger <taywee@gmx.com>2019-06-25 13:17:17 -0600
committerGitHub <noreply@github.com>2019-06-25 13:17:17 -0600
commitb92191364de31abea947a201151f5a844a572e97 (patch)
tree544ed67d72e5849a65848bf20e3771c4cd0ae27d /test.cxx
parentMerge pull request #73 from zhihaoy/cmake-targets (diff)
parentFixes #75 : Check istringstream state in ValueParser (diff)
downloadargs.hxx-b92191364de31abea947a201151f5a844a572e97.tar.xz
Merge pull request #76 from pavel-belikov/fix-default-value-parser
Check istringstream state in ValueParser
Diffstat (limited to 'test.cxx')
-rw-r--r--test.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/test.cxx b/test.cxx
index b46007d..363ca59 100644
--- a/test.cxx
+++ b/test.cxx
@@ -1173,6 +1173,8 @@ TEST_CASE("ValueParser works as expected", "[args]")
args::ValueFlag<std::string> f(p, "name", "description", {'f'});
args::ValueFlag<StringAssignable> b(p, "name", "description", {'b'});
args::ValueFlag<int> i(p, "name", "description", {'i'});
+ args::ValueFlag<int> d(p, "name", "description", {'d'});
+ args::PositionalList<double> ds(p, "name", "description");
REQUIRE_NOTHROW(p.ParseArgs(std::vector<std::string>{"-f", "a b"}));
REQUIRE(args::get(f) == "a b");
@@ -1185,6 +1187,11 @@ TEST_CASE("ValueParser works as expected", "[args]")
REQUIRE_NOTHROW(p.ParseArgs(std::vector<std::string>{"-i", " 12"}));
REQUIRE(args::get(i) == 12);
+
+ REQUIRE_THROWS_AS(p.ParseArgs(std::vector<std::string>{"-i", "a"}), args::ParseError);
+ REQUIRE_THROWS_AS(p.ParseArgs(std::vector<std::string>{"-d", "b"}), args::ParseError);
+ REQUIRE_THROWS_AS(p.ParseArgs(std::vector<std::string>{"c"}), args::ParseError);
+ REQUIRE_THROWS_AS(p.ParseArgs(std::vector<std::string>{"s"}), args::ParseError);
}
TEST_CASE("ActionFlag works as expected", "[args]")