diff options
| author | Nicole Mazzuca <mazzucan@outlook.com> | 2019-07-19 23:20:28 -0700 |
|---|---|---|
| committer | Nicole Mazzuca <mazzucan@outlook.com> | 2019-07-19 23:20:28 -0700 |
| commit | 0d8bba52e4c0a861b25f9d32006bfde9b749e09f (patch) | |
| tree | 5e0a29aeb6b3aa79925ca1191ea41129484f48e2 /toolsrc/src/vcpkg-test/strings.cpp | |
| parent | c55ea0a0d5229b9dd79aa8ea888f6c0408f9e5dd (diff) | |
| download | vcpkg-0d8bba52e4c0a861b25f9d32006bfde9b749e09f.tar.gz vcpkg-0d8bba52e4c0a861b25f9d32006bfde9b749e09f.zip | |
allow tests to run on older standard libraries
Diffstat (limited to 'toolsrc/src/vcpkg-test/strings.cpp')
| -rw-r--r-- | toolsrc/src/vcpkg-test/strings.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/toolsrc/src/vcpkg-test/strings.cpp b/toolsrc/src/vcpkg-test/strings.cpp new file mode 100644 index 000000000..6b744eee6 --- /dev/null +++ b/toolsrc/src/vcpkg-test/strings.cpp @@ -0,0 +1,33 @@ +#include <vcpkg-test/catch.h> + +#include <vcpkg/base/strings.h> + +#include <cstdint> +#include <utility> +#include <vector> + +TEST_CASE ("b32 encoding", "[strings]") +{ + using u64 = std::uint64_t; + + std::vector<std::pair<std::uint64_t, std::string>> map; + + map.emplace_back(0, "AAAAAAAAAAAAA"); + map.emplace_back(1, "BAAAAAAAAAAAA"); + + map.emplace_back(u64(1) << 32, "AAAAAAEAAAAAA"); + map.emplace_back((u64(1) << 32) + 1, "BAAAAAEAAAAAA"); + + map.emplace_back(0xE4D0'1065'D11E'0229, "JRA4RIXMQAUJO"); + map.emplace_back(0xA626'FE45'B135'07FF, "77BKTYWI6XJMK"); + map.emplace_back(0xEE36'D228'0C31'D405, "FAVDDGAFSWN4O"); + map.emplace_back(0x1405'64E7'FE7E'A88C, "MEK5H774ELBIB"); + map.emplace_back(0xFFFF'FFFF'FFFF'FFFF, "777777777777P"); + + std::string result; + for (const auto& pr : map) + { + result = vcpkg::Strings::b32_encode(pr.first); + REQUIRE(vcpkg::Strings::b32_encode(pr.first) == pr.second); + } +} |
