]> git.ipfire.org Git - thirdparty/pdns.git/blame - pdns/test-base32_cc.cc
Merge pull request #14021 from Habbie/auth-lua-join-whitespace
[thirdparty/pdns.git] / pdns / test-base32_cc.cc
CommitLineData
1c2d079d 1#ifndef BOOST_TEST_DYN_LINK
5c9b1205 2#define BOOST_TEST_DYN_LINK
1c2d079d
FM
3#endif
4
5c9b1205 5#define BOOST_TEST_NO_MAIN
870a0fe4
AT
6#ifdef HAVE_CONFIG_H
7#include "config.h"
8#endif
5c9b1205
AT
9#include <boost/test/unit_test.hpp>
10#include <boost/assign/list_of.hpp>
fa8fd4d2 11
5c9b1205
AT
12#include "base32.hh"
13
14BOOST_AUTO_TEST_SUITE(test_base32_cc)
15
031f6850 16BOOST_AUTO_TEST_CASE(test_base32_basic) {
1a09e47b 17 typedef std::tuple<const std::string, const std::string> case_t;
5c9b1205
AT
18 typedef std::list<case_t> cases_t;
19
20 // RFC test vectors
21 cases_t cases = boost::assign::list_of
22 (case_t(std::string(""), std::string("")))
1bad4190
KM
23 (case_t(std::string("f"), std::string("co======")))
24 (case_t(std::string("fo"), std::string("cpng====")))
25 (case_t(std::string("foo"), std::string("cpnmu===")))
26 (case_t(std::string("foob"), std::string("cpnmuog=")))
27 (case_t(std::string("fooba"), std::string("cpnmuoj1")))
28 (case_t(std::string("foobar"), std::string("cpnmuoj1e8======")))
5c9b1205
AT
29 ;
30
ef7cd021 31 for(const case_t& val : cases) {
5c9b1205 32 std::string res;
1a09e47b
RG
33 res = toBase32Hex(std::get<0>(val));
34 BOOST_CHECK_EQUAL(res, std::get<1>(val));
35 res = fromBase32Hex(std::get<1>(val));
36 BOOST_CHECK_EQUAL(res, std::get<0>(val));
5c9b1205
AT
37 }
38};
39
40BOOST_AUTO_TEST_SUITE_END();