aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/tests.arguments.cpp
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-11-02 15:20:42 -0700
committerRobert Schumacher <roschuma@microsoft.com>2017-11-02 15:20:42 -0700
commit6a91d1ece10ce0aeda89c44611d5335a07b8e40d (patch)
treeedeb7817fcfa3790ad68b785a3a19034b456b252 /toolsrc/src/tests.arguments.cpp
parent38136a2d05435dc1ef4d9604b1336509a6d667f8 (diff)
downloadvcpkg-6a91d1ece10ce0aeda89c44611d5335a07b8e40d.tar.gz
vcpkg-6a91d1ece10ce0aeda89c44611d5335a07b8e40d.zip
[vcpkg] Refactor argument parsing to use common code paths.
Diffstat (limited to 'toolsrc/src/tests.arguments.cpp')
-rw-r--r--toolsrc/src/tests.arguments.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/toolsrc/src/tests.arguments.cpp b/toolsrc/src/tests.arguments.cpp
index 25bf0f085..0f082222d 100644
--- a/toolsrc/src/tests.arguments.cpp
+++ b/toolsrc/src/tests.arguments.cpp
@@ -34,9 +34,12 @@ namespace UnitTest1
TEST_METHOD(create_from_arg_sequence_valued_options)
{
+ std::array<CommandSetting, 1> settings = { {{"--a", ""}} };
+ CommandStructure cmdstruct = { "", 0, SIZE_MAX, {{}, settings }, nullptr };
+
std::vector<std::string> t = {"--a=b", "command", "argument"};
auto v = VcpkgCmdArguments::create_from_arg_sequence(t.data(), t.data() + t.size());
- auto opts = v.check_and_get_optional_command_arguments({}, {"--a"});
+ auto opts = v.parse_arguments(cmdstruct);
Assert::AreEqual("b", opts.settings["--a"].c_str());
Assert::AreEqual(size_t{1}, v.command_arguments.size());
Assert::AreEqual("argument", v.command_arguments[0].c_str());
@@ -45,9 +48,13 @@ namespace UnitTest1
TEST_METHOD(create_from_arg_sequence_valued_options2)
{
+ std::array<CommandSwitch, 2> switches = { {{"--a", ""}, {"--c", ""}} };
+ std::array<CommandSetting, 2> settings = { { {"--b", ""}, {"--d", ""}} };
+ CommandStructure cmdstruct = {"", 0, SIZE_MAX, {switches, settings}, nullptr};
+
std::vector<std::string> t = {"--a", "--b=c"};
auto v = VcpkgCmdArguments::create_from_arg_sequence(t.data(), t.data() + t.size());
- auto opts = v.check_and_get_optional_command_arguments({"--a", "--c"}, {"--b", "--d"});
+ auto opts = v.parse_arguments(cmdstruct);
Assert::AreEqual("c", opts.settings["--b"].c_str());
Assert::IsTrue(opts.settings.find("--d") == opts.settings.end());
Assert::IsTrue(opts.switches.find("--a") != opts.switches.end());