@@ -101,6 +101,8 @@ BOOST_AUTO_TEST_CASE( basics ) // constructors, equality, inequality
101
101
BOOST_CHECK_EQUAL (uint256S (" 0x" +MaxL.ToString ()), MaxL);
102
102
BOOST_CHECK_EQUAL (uint256S (R1L.ToString ()), R1L);
103
103
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);
104
106
BOOST_CHECK_EQUAL (uint256S (" " ), ZeroL);
105
107
BOOST_CHECK_EQUAL (R1L, uint256S (R1ArrayHex));
106
108
BOOST_CHECK_EQUAL (uint256 (R1L), R1L);
@@ -114,6 +116,8 @@ BOOST_AUTO_TEST_CASE( basics ) // constructors, equality, inequality
114
116
BOOST_CHECK_EQUAL (uint160S (" 0x" +MaxS.ToString ()), MaxS);
115
117
BOOST_CHECK_EQUAL (uint160S (R1S.ToString ()), R1S);
116
118
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);
117
121
BOOST_CHECK_EQUAL (uint160S (" " ), ZeroS);
118
122
BOOST_CHECK_EQUAL (R1S, uint160S (R1ArrayHex));
119
123
@@ -162,6 +166,9 @@ BOOST_AUTO_TEST_CASE( methods ) // GetHex SetHex begin() end() size() GetLow64 G
162
166
BOOST_CHECK_EQUAL (MaxL.GetHex (), MaxL.ToString ());
163
167
uint256 TmpL (R1L);
164
168
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" );
165
172
TmpL.SetHex (R2L.ToString ()); BOOST_CHECK_EQUAL (TmpL, R2L);
166
173
TmpL.SetHex (ZeroL.ToString ()); BOOST_CHECK_EQUAL (TmpL, uint256 ());
167
174
0 commit comments