Skip to content

Commit 2f5577d

Browse files
committed
test: uint256 - Garbage suffixes and zero padding
1 parent f11f816 commit 2f5577d

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/test/uint256_tests.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ BOOST_AUTO_TEST_CASE( basics ) // constructors, equality, inequality
101101
BOOST_CHECK_EQUAL(uint256S("0x"+MaxL.ToString()), MaxL);
102102
BOOST_CHECK_EQUAL(uint256S(R1L.ToString()), R1L);
103103
BOOST_CHECK_EQUAL(uint256S(" 0x"+R1L.ToString()+" "), R1L);
104+
BOOST_CHECK_EQUAL(uint256S(" 0x"+R1L.ToString()+"-trash;%^& "), R1L);
105+
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);
104106
BOOST_CHECK_EQUAL(uint256S(""), ZeroL);
105107
BOOST_CHECK_EQUAL(R1L, uint256S(R1ArrayHex));
106108
BOOST_CHECK_EQUAL(uint256(R1L), R1L);
@@ -114,6 +116,8 @@ BOOST_AUTO_TEST_CASE( basics ) // constructors, equality, inequality
114116
BOOST_CHECK_EQUAL(uint160S("0x"+MaxS.ToString()), MaxS);
115117
BOOST_CHECK_EQUAL(uint160S(R1S.ToString()), R1S);
116118
BOOST_CHECK_EQUAL(uint160S(" 0x"+R1S.ToString()+" "), R1S);
119+
BOOST_CHECK_EQUAL(uint160S(" 0x"+R1S.ToString()+"-trash;%^& "), R1S);
120+
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);
117121
BOOST_CHECK_EQUAL(uint160S(""), ZeroS);
118122
BOOST_CHECK_EQUAL(R1S, uint160S(R1ArrayHex));
119123

@@ -162,6 +166,9 @@ BOOST_AUTO_TEST_CASE( methods ) // GetHex SetHex begin() end() size() GetLow64 G
162166
BOOST_CHECK_EQUAL(MaxL.GetHex(), MaxL.ToString());
163167
uint256 TmpL(R1L);
164168
BOOST_CHECK_EQUAL(TmpL, R1L);
169+
// Verify previous values don't persist when setting to truncated string.
170+
TmpL.SetHex("21");
171+
BOOST_CHECK_EQUAL(TmpL.ToString(), "0000000000000000000000000000000000000000000000000000000000000021");
165172
TmpL.SetHex(R2L.ToString()); BOOST_CHECK_EQUAL(TmpL, R2L);
166173
TmpL.SetHex(ZeroL.ToString()); BOOST_CHECK_EQUAL(TmpL, uint256());
167174

0 commit comments

Comments
 (0)