1 // Copyright (c) 2011-2015 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 #include <utilstrencodings.h>
6 #include <test/test_bitcoin.h>
8 #include <boost/test/unit_test.hpp>
10 BOOST_FIXTURE_TEST_SUITE(base64_tests
, BasicTestingSetup
)
12 BOOST_AUTO_TEST_CASE(base64_testvectors
)
14 static const std::string vstrIn
[] = {"","f","fo","foo","foob","fooba","foobar"};
15 static const std::string vstrOut
[] = {"","Zg==","Zm8=","Zm9v","Zm9vYg==","Zm9vYmE=","Zm9vYmFy"};
16 for (unsigned int i
=0; i
<sizeof(vstrIn
)/sizeof(vstrIn
[0]); i
++)
18 std::string strEnc
= EncodeBase64(vstrIn
[i
]);
19 BOOST_CHECK(strEnc
== vstrOut
[i
]);
20 std::string strDec
= DecodeBase64(strEnc
);
21 BOOST_CHECK(strDec
== vstrIn
[i
]);
25 BOOST_AUTO_TEST_SUITE_END()