mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-08 10:31:50 -05:00
tests: Add tests for base58-decoding of std::string:s containing non-base58 characters
This commit is contained in:
parent
3914e877c4
commit
ff7a999226
1 changed files with 12 additions and 0 deletions
|
@ -59,12 +59,24 @@ BOOST_AUTO_TEST_CASE(base58_DecodeBase58)
|
|||
}
|
||||
|
||||
BOOST_CHECK(!DecodeBase58("invalid", result, 100));
|
||||
BOOST_CHECK(!DecodeBase58(std::string("invalid"), result, 100));
|
||||
BOOST_CHECK(!DecodeBase58(std::string("\0invalid", 8), result, 100));
|
||||
|
||||
BOOST_CHECK(DecodeBase58(std::string("good", 4), result, 100));
|
||||
BOOST_CHECK(!DecodeBase58(std::string("bad0IOl", 7), result, 100));
|
||||
BOOST_CHECK(!DecodeBase58(std::string("goodbad0IOl", 11), result, 100));
|
||||
BOOST_CHECK(!DecodeBase58(std::string("good\0bad0IOl", 12), result, 100));
|
||||
|
||||
// check that DecodeBase58 skips whitespace, but still fails with unexpected non-whitespace at the end.
|
||||
BOOST_CHECK(!DecodeBase58(" \t\n\v\f\r skip \r\f\v\n\t a", result, 3));
|
||||
BOOST_CHECK( DecodeBase58(" \t\n\v\f\r skip \r\f\v\n\t ", result, 3));
|
||||
std::vector<unsigned char> expected = ParseHex("971a55");
|
||||
BOOST_CHECK_EQUAL_COLLECTIONS(result.begin(), result.end(), expected.begin(), expected.end());
|
||||
|
||||
BOOST_CHECK(DecodeBase58Check(std::string("3vQB7B6MrGQZaxCuFg4oh", 21), result, 100));
|
||||
BOOST_CHECK(!DecodeBase58Check(std::string("3vQB7B6MrGQZaxCuFg4oi", 21), result, 100));
|
||||
BOOST_CHECK(!DecodeBase58Check(std::string("3vQB7B6MrGQZaxCuFg4oh0IOl", 25), result, 100));
|
||||
BOOST_CHECK(!DecodeBase58Check(std::string("3vQB7B6MrGQZaxCuFg4oh\00IOl", 26), result, 100));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(base58_random_encode_decode)
|
||||
|
|
Loading…
Add table
Reference in a new issue