aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/tests_arguments.cpp
diff options
context:
space:
mode:
authorTobias Kohlbau <tobias@kohlbau.de>2017-04-27 12:20:21 +0200
committerTobias Kohlbau <tobias@kohlbau.de>2017-04-27 12:20:21 +0200
commit4302675092ccad14b09dd8c0f548248832a537e8 (patch)
treef9f35b2007b0eb71ac303e4aee08bc1501d88956 /toolsrc/src/tests_arguments.cpp
parentd6d506d678273f729a86b985c3cb85c291d6751b (diff)
downloadvcpkg-4302675092ccad14b09dd8c0f548248832a537e8.tar.gz
vcpkg-4302675092ccad14b09dd8c0f548248832a537e8.zip
[options] makes options case insensitive
This resolves #987 Signed-off-by: Tobias Kohlbau <tobias@kohlbau.de>
Diffstat (limited to 'toolsrc/src/tests_arguments.cpp')
-rw-r--r--toolsrc/src/tests_arguments.cpp46
1 files changed, 46 insertions, 0 deletions
diff --git a/toolsrc/src/tests_arguments.cpp b/toolsrc/src/tests_arguments.cpp
new file mode 100644
index 000000000..7cdf68048
--- /dev/null
+++ b/toolsrc/src/tests_arguments.cpp
@@ -0,0 +1,46 @@
+#include "CppUnitTest.h"
+#include "VcpkgCmdArguments.h"
+
+#pragma comment(lib,"version")
+#pragma comment(lib,"winhttp")
+
+using namespace Microsoft::VisualStudio::CppUnitTestFramework;
+
+using namespace vcpkg;
+
+namespace UnitTest1
+{
+ TEST_CLASS(ArgumentTests)
+ {
+ public:
+ 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(vcpkg::OptBoolC::ENABLED == v.debug);
+ Assert::IsTrue(vcpkg::OptBoolC::ENABLED == v.sendmetrics);
+ Assert::IsTrue(vcpkg::OptBoolC::ENABLED == v.printmetrics);
+ }
+
+ 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(vcpkg::OptBoolC::ENABLED == v.debug);
+ Assert::IsTrue(vcpkg::OptBoolC::ENABLED == v.sendmetrics);
+ Assert::IsTrue(vcpkg::OptBoolC::ENABLED == v.printmetrics);
+ }
+ };
+} \ No newline at end of file