From 2f5577dc2e7ba668798a89a2f6ef72795db6c285 Mon Sep 17 00:00:00 2001 From: Hodlinator <172445034+hodlinator@users.noreply.github.com> Date: Tue, 23 Jul 2024 14:44:30 +0200 Subject: [PATCH] test: uint256 - Garbage suffixes and zero padding --- src/test/uint256_tests.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/test/uint256_tests.cpp b/src/test/uint256_tests.cpp index ecc526cdfcd..6b86eb25ffc 100644 --- a/src/test/uint256_tests.cpp +++ b/src/test/uint256_tests.cpp @@ -101,6 +101,8 @@ BOOST_AUTO_TEST_CASE( basics ) // constructors, equality, inequality BOOST_CHECK_EQUAL(uint256S("0x"+MaxL.ToString()), MaxL); BOOST_CHECK_EQUAL(uint256S(R1L.ToString()), R1L); BOOST_CHECK_EQUAL(uint256S(" 0x"+R1L.ToString()+" "), R1L); + BOOST_CHECK_EQUAL(uint256S(" 0x"+R1L.ToString()+"-trash;%^& "), R1L); + BOOST_CHECK_EQUAL(uint256S("\t \n \n \f\n\r\t\v\t 0x"+R1L.ToString()+" \t \n \n \f\n\r\t\v\t "), R1L); BOOST_CHECK_EQUAL(uint256S(""), ZeroL); BOOST_CHECK_EQUAL(R1L, uint256S(R1ArrayHex)); BOOST_CHECK_EQUAL(uint256(R1L), R1L); @@ -114,6 +116,8 @@ BOOST_AUTO_TEST_CASE( basics ) // constructors, equality, inequality BOOST_CHECK_EQUAL(uint160S("0x"+MaxS.ToString()), MaxS); BOOST_CHECK_EQUAL(uint160S(R1S.ToString()), R1S); BOOST_CHECK_EQUAL(uint160S(" 0x"+R1S.ToString()+" "), R1S); + BOOST_CHECK_EQUAL(uint160S(" 0x"+R1S.ToString()+"-trash;%^& "), R1S); + BOOST_CHECK_EQUAL(uint160S(" \t \n \n \f\n\r\t\v\t 0x"+R1S.ToString()+" \t \n \n \f\n\r\t\v\t"), R1S); BOOST_CHECK_EQUAL(uint160S(""), ZeroS); BOOST_CHECK_EQUAL(R1S, uint160S(R1ArrayHex)); @@ -162,6 +166,9 @@ BOOST_AUTO_TEST_CASE( methods ) // GetHex SetHex begin() end() size() GetLow64 G BOOST_CHECK_EQUAL(MaxL.GetHex(), MaxL.ToString()); uint256 TmpL(R1L); BOOST_CHECK_EQUAL(TmpL, R1L); + // Verify previous values don't persist when setting to truncated string. + TmpL.SetHex("21"); + BOOST_CHECK_EQUAL(TmpL.ToString(), "0000000000000000000000000000000000000000000000000000000000000021"); TmpL.SetHex(R2L.ToString()); BOOST_CHECK_EQUAL(TmpL, R2L); TmpL.SetHex(ZeroL.ToString()); BOOST_CHECK_EQUAL(TmpL, uint256());