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