diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2017-10-30 23:06:04 -0700 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2017-10-30 23:06:04 -0700 |
| commit | 5f4221420701ff7d78e02b11622a00ee12a8e64a (patch) | |
| tree | 79eb8b2c760a928a7a1e66f6383dd79d6a19989c /toolsrc/src/tests.packagespec.cpp | |
| parent | f8a4d55053561d8ba7e82fa79c45d30ebcb24621 (diff) | |
| download | vcpkg-5f4221420701ff7d78e02b11622a00ee12a8e64a.tar.gz vcpkg-5f4221420701ff7d78e02b11622a00ee12a8e64a.zip | |
[vcpkg] Enable pkg[*] as alias for all features.
Diffstat (limited to 'toolsrc/src/tests.packagespec.cpp')
| -rw-r--r-- | toolsrc/src/tests.packagespec.cpp | 34 |
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"); |
