diff options
| author | Barath Kannan <barathsotd@gmail.com> | 2017-10-17 20:25:12 +1100 |
|---|---|---|
| committer | Barath Kannan <barathsotd@gmail.com> | 2017-10-17 20:25:12 +1100 |
| commit | 48128e5b4dc964a306737e829affe349d8c6956c (patch) | |
| tree | 414b608b8ad3037d0324bb77c83881c4306ef521 /toolsrc/src/tests.arguments.cpp | |
| parent | ddc421acbc8bc9dd1d448190ac173b9d11e942dd (diff) | |
| parent | 7ed8d4f75e903fdad4c02b4e784f2f4bcb30a3b0 (diff) | |
| download | vcpkg-48128e5b4dc964a306737e829affe349d8c6956c.tar.gz vcpkg-48128e5b4dc964a306737e829affe349d8c6956c.zip | |
Merge branch 'master' of https://github.com/Microsoft/vcpkg into qt5_modular
Diffstat (limited to 'toolsrc/src/tests.arguments.cpp')
| -rw-r--r-- | toolsrc/src/tests.arguments.cpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/toolsrc/src/tests.arguments.cpp b/toolsrc/src/tests.arguments.cpp new file mode 100644 index 000000000..25bf0f085 --- /dev/null +++ b/toolsrc/src/tests.arguments.cpp @@ -0,0 +1,58 @@ +#include <CppUnitTest.h>
+#include <vcpkg/vcpkgcmdarguments.h>
+
+#pragma comment(lib, "version")
+#pragma comment(lib, "winhttp")
+
+using namespace Microsoft::VisualStudio::CppUnitTestFramework;
+
+using namespace vcpkg;
+
+namespace UnitTest1
+{
+ class ArgumentTests : public TestClass<ArgumentTests>
+ {
+ TEST_METHOD(create_from_arg_sequence_options_lower)
+ {
+ std::vector<std::string> t = {"--vcpkg-root", "C:\\vcpkg", "--debug", "--sendmetrics", "--printmetrics"};
+ auto v = VcpkgCmdArguments::create_from_arg_sequence(t.data(), t.data() + t.size());
+ Assert::AreEqual("C:\\vcpkg", v.vcpkg_root_dir.get()->c_str());
+ Assert::IsTrue(v.debug && *v.debug.get());
+ Assert::IsTrue(v.sendmetrics && v.sendmetrics.get());
+ Assert::IsTrue(v.printmetrics && *v.printmetrics.get());
+ }
+
+ TEST_METHOD(create_from_arg_sequence_options_upper)
+ {
+ std::vector<std::string> t = {"--VCPKG-ROOT", "C:\\vcpkg", "--DEBUG", "--SENDMETRICS", "--PRINTMETRICS"};
+ auto v = VcpkgCmdArguments::create_from_arg_sequence(t.data(), t.data() + t.size());
+ Assert::AreEqual("C:\\vcpkg", v.vcpkg_root_dir.get()->c_str());
+ Assert::IsTrue(v.debug && *v.debug.get());
+ Assert::IsTrue(v.sendmetrics && v.sendmetrics.get());
+ Assert::IsTrue(v.printmetrics && *v.printmetrics.get());
+ }
+
+ TEST_METHOD(create_from_arg_sequence_valued_options)
+ {
+ 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"});
+ 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());
+ Assert::AreEqual("command", v.command.c_str());
+ }
+
+ TEST_METHOD(create_from_arg_sequence_valued_options2)
+ {
+ 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"});
+ 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());
+ Assert::IsTrue(opts.settings.find("--c") == opts.settings.end());
+ Assert::AreEqual(size_t{0}, v.command_arguments.size());
+ }
+ };
+}
\ No newline at end of file |
