aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/vcpkg-tests/paragraph.cpp
diff options
context:
space:
mode:
authorNicole Mazzuca <mazzucan@outlook.com>2019-07-19 23:20:28 -0700
committerNicole Mazzuca <mazzucan@outlook.com>2019-07-19 23:20:28 -0700
commit0d8bba52e4c0a861b25f9d32006bfde9b749e09f (patch)
tree5e0a29aeb6b3aa79925ca1191ea41129484f48e2 /toolsrc/src/vcpkg-tests/paragraph.cpp
parentc55ea0a0d5229b9dd79aa8ea888f6c0408f9e5dd (diff)
downloadvcpkg-0d8bba52e4c0a861b25f9d32006bfde9b749e09f.tar.gz
vcpkg-0d8bba52e4c0a861b25f9d32006bfde9b749e09f.zip
allow tests to run on older standard libraries
Diffstat (limited to 'toolsrc/src/vcpkg-tests/paragraph.cpp')
-rw-r--r--toolsrc/src/vcpkg-tests/paragraph.cpp445
1 files changed, 0 insertions, 445 deletions
diff --git a/toolsrc/src/vcpkg-tests/paragraph.cpp b/toolsrc/src/vcpkg-tests/paragraph.cpp
deleted file mode 100644
index 0fb85ec69..000000000
--- a/toolsrc/src/vcpkg-tests/paragraph.cpp
+++ /dev/null
@@ -1,445 +0,0 @@
-#include <vcpkg-tests/catch.h>
-#include <vcpkg-tests/util.h>
-
-#include <vcpkg/base/strings.h>
-
-#include <vcpkg/paragraphs.h>
-
-namespace Strings = vcpkg::Strings;
-
-TEST_CASE ("SourceParagraph construct minimum", "[paragraph]")
-{
- auto m_pgh =
- vcpkg::SourceControlFile::parse_control_file(std::vector<std::unordered_map<std::string, std::string>>{{
- {"Source", "zlib"},
- {"Version", "1.2.8"},
- }});
-
- REQUIRE(m_pgh.has_value());
- auto& pgh = **m_pgh.get();
-
- REQUIRE(pgh.core_paragraph->name == "zlib");
- REQUIRE(pgh.core_paragraph->version == "1.2.8");
- REQUIRE(pgh.core_paragraph->maintainer == "");
- REQUIRE(pgh.core_paragraph->description == "");
- REQUIRE(pgh.core_paragraph->depends.size() == 0);
-}
-
-TEST_CASE ("SourceParagraph construct maximum", "[paragraph]")
-{
- auto m_pgh =
- vcpkg::SourceControlFile::parse_control_file(std::vector<std::unordered_map<std::string, std::string>>{{
- {"Source", "s"},
- {"Version", "v"},
- {"Maintainer", "m"},
- {"Description", "d"},
- {"Build-Depends", "bd"},
- {"Default-Features", "df"},
- {"Supports", "x64"},
- }});
- REQUIRE(m_pgh.has_value());
- auto& pgh = **m_pgh.get();
-
- REQUIRE(pgh.core_paragraph->name == "s");
- REQUIRE(pgh.core_paragraph->version == "v");
- REQUIRE(pgh.core_paragraph->maintainer == "m");
- REQUIRE(pgh.core_paragraph->description == "d");
- REQUIRE(pgh.core_paragraph->depends.size() == 1);
- REQUIRE(pgh.core_paragraph->depends[0].name() == "bd");
- REQUIRE(pgh.core_paragraph->default_features.size() == 1);
- REQUIRE(pgh.core_paragraph->default_features[0] == "df");
- REQUIRE(pgh.core_paragraph->supports.size() == 1);
- REQUIRE(pgh.core_paragraph->supports[0] == "x64");
-}
-
-TEST_CASE ("SourceParagraph two depends", "[paragraph]")
-{
- auto m_pgh =
- vcpkg::SourceControlFile::parse_control_file(std::vector<std::unordered_map<std::string, std::string>>{{
- {"Source", "zlib"},
- {"Version", "1.2.8"},
- {"Build-Depends", "z, openssl"},
- }});
- REQUIRE(m_pgh.has_value());
- auto& pgh = **m_pgh.get();
-
- REQUIRE(pgh.core_paragraph->depends.size() == 2);
- REQUIRE(pgh.core_paragraph->depends[0].name() == "z");
- REQUIRE(pgh.core_paragraph->depends[1].name() == "openssl");
-}
-
-TEST_CASE ("SourceParagraph three depends", "[paragraph]")
-{
- auto m_pgh =
- vcpkg::SourceControlFile::parse_control_file(std::vector<std::unordered_map<std::string, std::string>>{{
- {"Source", "zlib"},
- {"Version", "1.2.8"},
- {"Build-Depends", "z, openssl, xyz"},
- }});
- REQUIRE(m_pgh.has_value());
- auto& pgh = **m_pgh.get();
-
- REQUIRE(pgh.core_paragraph->depends.size() == 3);
- REQUIRE(pgh.core_paragraph->depends[0].name() == "z");
- REQUIRE(pgh.core_paragraph->depends[1].name() == "openssl");
- REQUIRE(pgh.core_paragraph->depends[2].name() == "xyz");
-}
-
-TEST_CASE ("SourceParagraph three supports", "[paragraph]")
-{
- auto m_pgh =
- vcpkg::SourceControlFile::parse_control_file(std::vector<std::unordered_map<std::string, std::string>>{{
- {"Source", "zlib"},
- {"Version", "1.2.8"},
- {"Supports", "x64, windows, uwp"},
- }});
- REQUIRE(m_pgh.has_value());
- auto& pgh = **m_pgh.get();
-
- REQUIRE(pgh.core_paragraph->supports.size() == 3);
- REQUIRE(pgh.core_paragraph->supports[0] == "x64");
- REQUIRE(pgh.core_paragraph->supports[1] == "windows");
- REQUIRE(pgh.core_paragraph->supports[2] == "uwp");
-}
-
-TEST_CASE ("SourceParagraph construct qualified depends", "[paragraph]")
-{
- auto m_pgh =
- vcpkg::SourceControlFile::parse_control_file(std::vector<std::unordered_map<std::string, std::string>>{{
- {"Source", "zlib"},
- {"Version", "1.2.8"},
- {"Build-Depends", "libA (windows), libB (uwp)"},
- }});
- REQUIRE(m_pgh.has_value());
- auto& pgh = **m_pgh.get();
-
- REQUIRE(pgh.core_paragraph->name == "zlib");
- REQUIRE(pgh.core_paragraph->version == "1.2.8");
- REQUIRE(pgh.core_paragraph->maintainer == "");
- REQUIRE(pgh.core_paragraph->description == "");
- REQUIRE(pgh.core_paragraph->depends.size() == 2);
- REQUIRE(pgh.core_paragraph->depends[0].name() == "libA");
- REQUIRE(pgh.core_paragraph->depends[0].qualifier == "windows");
- REQUIRE(pgh.core_paragraph->depends[1].name() == "libB");
- REQUIRE(pgh.core_paragraph->depends[1].qualifier == "uwp");
-}
-
-TEST_CASE ("SourceParagraph default features", "[paragraph]")
-{
- auto m_pgh =
- vcpkg::SourceControlFile::parse_control_file(std::vector<std::unordered_map<std::string, std::string>>{{
- {"Source", "a"},
- {"Version", "1.0"},
- {"Default-Features", "a1"},
- }});
- REQUIRE(m_pgh.has_value());
- auto& pgh = **m_pgh.get();
-
- REQUIRE(pgh.core_paragraph->default_features.size() == 1);
- REQUIRE(pgh.core_paragraph->default_features[0] == "a1");
-}
-
-TEST_CASE ("BinaryParagraph construct minimum", "[paragraph]")
-{
- vcpkg::BinaryParagraph pgh({
- {"Package", "zlib"},
- {"Version", "1.2.8"},
- {"Architecture", "x86-windows"},
- {"Multi-Arch", "same"},
- });
-
- REQUIRE(pgh.spec.name() == "zlib");
- REQUIRE(pgh.version == "1.2.8");
- REQUIRE(pgh.maintainer == "");
- REQUIRE(pgh.description == "");
- REQUIRE(pgh.spec.triplet().canonical_name() == "x86-windows");
- REQUIRE(pgh.depends.size() == 0);
-}
-
-TEST_CASE ("BinaryParagraph construct maximum", "[paragraph]")
-{
- vcpkg::BinaryParagraph pgh({
- {"Package", "s"},
- {"Version", "v"},
- {"Architecture", "x86-windows"},
- {"Multi-Arch", "same"},
- {"Maintainer", "m"},
- {"Description", "d"},
- {"Depends", "bd"},
- });
-
- REQUIRE(pgh.spec.name() == "s");
- REQUIRE(pgh.version == "v");
- REQUIRE(pgh.maintainer == "m");
- REQUIRE(pgh.description == "d");
- REQUIRE(pgh.depends.size() == 1);
- REQUIRE(pgh.depends[0] == "bd");
-}
-
-TEST_CASE ("BinaryParagraph three depends", "[paragraph]")
-{
- vcpkg::BinaryParagraph pgh({
- {"Package", "zlib"},
- {"Version", "1.2.8"},
- {"Architecture", "x86-windows"},
- {"Multi-Arch", "same"},
- {"Depends", "a, b, c"},
- });
-
- REQUIRE(pgh.depends.size() == 3);
- REQUIRE(pgh.depends[0] == "a");
- REQUIRE(pgh.depends[1] == "b");
- REQUIRE(pgh.depends[2] == "c");
-}
-
-TEST_CASE ("BinaryParagraph abi", "[paragraph]")
-{
- vcpkg::BinaryParagraph pgh({
- {"Package", "zlib"},
- {"Version", "1.2.8"},
- {"Architecture", "x86-windows"},
- {"Multi-Arch", "same"},
- {"Abi", "abcd123"},
- });
-
- REQUIRE(pgh.depends.size() == 0);
- REQUIRE(pgh.abi == "abcd123");
-}
-
-TEST_CASE ("BinaryParagraph default features", "[paragraph]")
-{
- vcpkg::BinaryParagraph pgh({
- {"Package", "a"},
- {"Version", "1.0"},
- {"Architecture", "x86-windows"},
- {"Multi-Arch", "same"},
- {"Default-Features", "a1"},
- });
-
- REQUIRE(pgh.depends.size() == 0);
- REQUIRE(pgh.default_features.size() == 1);
- REQUIRE(pgh.default_features[0] == "a1");
-}
-
-TEST_CASE ("parse paragraphs empty", "[paragraph]")
-{
- const char* str = "";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
- REQUIRE(pghs.empty());
-}
-
-TEST_CASE ("parse paragraphs one field", "[paragraph]")
-{
- const char* str = "f1: v1";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
- REQUIRE(pghs.size() == 1);
- REQUIRE(pghs[0].size() == 1);
- REQUIRE(pghs[0]["f1"] == "v1");
-}
-
-TEST_CASE ("parse paragraphs one pgh", "[paragraph]")
-{
- const char* str = "f1: v1\n"
- "f2: v2";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
- REQUIRE(pghs.size() == 1);
- REQUIRE(pghs[0].size() == 2);
- REQUIRE(pghs[0]["f1"] == "v1");
- REQUIRE(pghs[0]["f2"] == "v2");
-}
-
-TEST_CASE ("parse paragraphs two pgh", "[paragraph]")
-{
- const char* str = "f1: v1\n"
- "f2: v2\n"
- "\n"
- "f3: v3\n"
- "f4: v4";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
-
- REQUIRE(pghs.size() == 2);
- REQUIRE(pghs[0].size() == 2);
- REQUIRE(pghs[0]["f1"] == "v1");
- REQUIRE(pghs[0]["f2"] == "v2");
- REQUIRE(pghs[1].size() == 2);
- REQUIRE(pghs[1]["f3"] == "v3");
- REQUIRE(pghs[1]["f4"] == "v4");
-}
-
-TEST_CASE ("parse paragraphs field names", "[paragraph]")
-{
- const char* str = "1:\n"
- "f:\n"
- "F:\n"
- "0:\n"
- "F-2:\n";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
-
- REQUIRE(pghs.size() == 1);
- REQUIRE(pghs[0].size() == 5);
-}
-
-TEST_CASE ("parse paragraphs multiple blank lines", "[paragraph]")
-{
- const char* str = "f1: v1\n"
- "f2: v2\n"
- "\n"
- "\n"
- "f3: v3\n"
- "f4: v4";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
-
- REQUIRE(pghs.size() == 2);
-}
-
-TEST_CASE ("parse paragraphs empty fields", "[paragraph]")
-{
- const char* str = "f1:\n"
- "f2: ";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
-
- REQUIRE(pghs.size() == 1);
- REQUIRE(pghs[0].size() == 2);
- REQUIRE(pghs[0]["f1"] == "");
- REQUIRE(pghs[0]["f2"] == "");
- REQUIRE(pghs[0].size() == 2);
-}
-
-TEST_CASE ("parse paragraphs multiline fields", "[paragraph]")
-{
- const char* str = "f1: simple\n"
- " f1\r\n"
- "f2:\r\n"
- " f2\r\n"
- " continue\r\n";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
-
- REQUIRE(pghs.size() == 1);
- REQUIRE(pghs[0]["f1"] == "simple\n f1");
- REQUIRE(pghs[0]["f2"] == "\n f2\n continue");
-}
-
-TEST_CASE ("parse paragraphs crlfs", "[paragraph]")
-{
- const char* str = "f1: v1\r\n"
- "f2: v2\r\n"
- "\r\n"
- "f3: v3\r\n"
- "f4: v4";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
-
- REQUIRE(pghs.size() == 2);
- REQUIRE(pghs[0].size() == 2);
- REQUIRE(pghs[0]["f1"] == "v1");
- REQUIRE(pghs[0]["f2"] == "v2");
- REQUIRE(pghs[1].size() == 2);
- REQUIRE(pghs[1]["f3"] == "v3");
- REQUIRE(pghs[1]["f4"] == "v4");
-}
-
-TEST_CASE ("parse paragraphs comment", "[paragraph]")
-{
- const char* str = "f1: v1\r\n"
- "#comment\r\n"
- "f2: v2\r\n"
- "#comment\r\n"
- "\r\n"
- "#comment\r\n"
- "f3: v3\r\n"
- "#comment\r\n"
- "f4: v4";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
-
- REQUIRE(pghs.size() == 2);
- REQUIRE(pghs[0].size() == 2);
- REQUIRE(pghs[0]["f1"] == "v1");
- REQUIRE(pghs[0]["f2"] == "v2");
- REQUIRE(pghs[1].size());
- REQUIRE(pghs[1]["f3"] == "v3");
- REQUIRE(pghs[1]["f4"] == "v4");
-}
-
-TEST_CASE ("parse comment before single line feed", "[paragraph]")
-{
- const char* str = "f1: v1\r\n"
- "#comment\n";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
- REQUIRE(pghs[0].size() == 1);
- REQUIRE(pghs[0]["f1"] == "v1");
-}
-
-TEST_CASE ("BinaryParagraph serialize min", "[paragraph]")
-{
- vcpkg::BinaryParagraph pgh({
- {"Package", "zlib"},
- {"Version", "1.2.8"},
- {"Architecture", "x86-windows"},
- {"Multi-Arch", "same"},
- });
- std::string ss = Strings::serialize(pgh);
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(ss).value_or_exit(VCPKG_LINE_INFO);
-
- REQUIRE(pghs.size() == 1);
- REQUIRE(pghs[0].size() == 4);
- REQUIRE(pghs[0]["Package"] == "zlib");
- REQUIRE(pghs[0]["Version"] == "1.2.8");
- REQUIRE(pghs[0]["Architecture"] == "x86-windows");
- REQUIRE(pghs[0]["Multi-Arch"] == "same");
-}
-
-TEST_CASE ("BinaryParagraph serialize max", "[paragraph]")
-{
- vcpkg::BinaryParagraph pgh({
- {"Package", "zlib"},
- {"Version", "1.2.8"},
- {"Architecture", "x86-windows"},
- {"Description", "first line\n second line"},
- {"Maintainer", "abc <abc@abc.abc>"},
- {"Depends", "dep"},
- {"Multi-Arch", "same"},
- });
- std::string ss = Strings::serialize(pgh);
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(ss).value_or_exit(VCPKG_LINE_INFO);
-
- REQUIRE(pghs.size() == 1);
- REQUIRE(pghs[0].size() == 7);
- REQUIRE(pghs[0]["Package"] == "zlib");
- REQUIRE(pghs[0]["Version"] == "1.2.8");
- REQUIRE(pghs[0]["Architecture"] == "x86-windows");
- REQUIRE(pghs[0]["Multi-Arch"] == "same");
- REQUIRE(pghs[0]["Description"] == "first line\n second line");
- REQUIRE(pghs[0]["Depends"] == "dep");
-}
-
-TEST_CASE ("BinaryParagraph serialize multiple deps", "[paragraph]")
-{
- vcpkg::BinaryParagraph pgh({
- {"Package", "zlib"},
- {"Version", "1.2.8"},
- {"Architecture", "x86-windows"},
- {"Multi-Arch", "same"},
- {"Depends", "a, b, c"},
- });
- std::string ss = Strings::serialize(pgh);
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(ss).value_or_exit(VCPKG_LINE_INFO);
-
- REQUIRE(pghs.size() == 1);
- REQUIRE(pghs[0]["Depends"] == "a, b, c");
-}
-
-TEST_CASE ("BinaryParagraph serialize abi", "[paragraph]")
-{
- vcpkg::BinaryParagraph pgh({
- {"Package", "zlib"},
- {"Version", "1.2.8"},
- {"Architecture", "x86-windows"},
- {"Multi-Arch", "same"},
- {"Depends", "a, b, c"},
- {"Abi", "123abc"},
- });
- std::string ss = Strings::serialize(pgh);
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(ss).value_or_exit(VCPKG_LINE_INFO);
-
- REQUIRE(pghs.size() == 1);
- REQUIRE(pghs[0]["Abi"] == "123abc");
-}