aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/tests.packagespec.cpp
diff options
context:
space:
mode:
authormartin-s <webmaster@macside.net>2017-11-05 19:13:16 +0100
committermartin-s <webmaster@macside.net>2017-11-05 19:13:16 +0100
commitd5a7da6bcb92b551d6f8a9a321deb063f6632dbc (patch)
tree9dfef57f1fb3611bde577cab7b9dee9411ffb041 /toolsrc/src/tests.packagespec.cpp
parentc6d69fac625706c52fc8e48615bc0c6d7b8dad25 (diff)
parent330b8d8bab6a3d07165bf7c05fea09a8e0d56348 (diff)
downloadvcpkg-d5a7da6bcb92b551d6f8a9a321deb063f6632dbc.tar.gz
vcpkg-d5a7da6bcb92b551d6f8a9a321deb063f6632dbc.zip
Merge branch 'master' of https://github.com/Microsoft/vcpkg into patch-vs2013
# Conflicts: # scripts/cmake/vcpkg_configure_cmake.cmake # toolsrc/src/vcpkg/vcpkgpaths.cpp
Diffstat (limited to 'toolsrc/src/tests.packagespec.cpp')
-rw-r--r--toolsrc/src/tests.packagespec.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/toolsrc/src/tests.packagespec.cpp b/toolsrc/src/tests.packagespec.cpp
index cb5c41af0..25498a799 100644
--- a/toolsrc/src/tests.packagespec.cpp
+++ b/toolsrc/src/tests.packagespec.cpp
@@ -3,6 +3,7 @@
#include <vcpkg/paragraphs.h>
#include <vcpkg/base/strings.h>
+#include <vcpkg/base/util.h>
#pragma comment(lib, "version")
#pragma comment(lib, "winhttp")
@@ -103,6 +104,39 @@ namespace UnitTest1
Assert::AreEqual("", spec->triplet.c_str());
}
+ TEST_METHOD(parsed_specifier_wildcard_feature)
+ {
+ auto maybe_spec = vcpkg::ParsedSpecifier::from_string("zlib[*]");
+ Assert::AreEqual(vcpkg::PackageSpecParseResult::SUCCESS, maybe_spec.error());
+ auto spec = maybe_spec.get();
+ Assert::AreEqual("zlib", spec->name.c_str());
+ Assert::IsTrue(spec->features.size() == 1);
+ Assert::AreEqual("*", spec->features[0].c_str());
+ Assert::AreEqual("", spec->triplet.c_str());
+ }
+
+ TEST_METHOD(expand_wildcards)
+ {
+ auto zlib =
+ vcpkg::FullPackageSpec::from_string("zlib[0,1]", Triplet::X86_UWP).value_or_exit(VCPKG_LINE_INFO);
+ auto openssl =
+ vcpkg::FullPackageSpec::from_string("openssl[*]", Triplet::X86_UWP).value_or_exit(VCPKG_LINE_INFO);
+ auto specs = FullPackageSpec::to_feature_specs({zlib, openssl});
+ Util::sort(specs);
+ auto spectargets = FeatureSpec::from_strings_and_triplet(
+ {
+ "openssl",
+ "zlib",
+ "openssl[*]",
+ "zlib[0]",
+ "zlib[1]",
+ },
+ Triplet::X86_UWP);
+ Util::sort(spectargets);
+ Assert::IsTrue(specs.size() == spectargets.size());
+ Assert::IsTrue(Util::all_equal(specs, spectargets));
+ }
+
TEST_METHOD(utf8_to_utf16)
{
auto str = vcpkg::Strings::to_utf16("abc");