@@ -278,43 +278,14 @@ BOOST_AUTO_TEST_CASE(rpc_parse_monetary_values)
278
278
BOOST_CHECK_EQUAL (AmountFromValue (ValueFromString (" 0.00000001000000" )), 1LL ); // should pass, cut trailing 0
279
279
BOOST_CHECK_THROW (AmountFromValue (ValueFromString (" 19e-9" )), UniValue); // should fail
280
280
BOOST_CHECK_EQUAL (AmountFromValue (ValueFromString (" 0.19e-6" )), 19 ); // should pass, leading 0 is present
281
+ BOOST_CHECK_EXCEPTION (AmountFromValue (" .19e-6" ), UniValue, HasJSON (R"( {"code":-3,"message":"Invalid amount"})" )); // should fail, no leading 0
281
282
282
283
BOOST_CHECK_THROW (AmountFromValue (ValueFromString (" 92233720368.54775808" )), UniValue); // overflow error
283
284
BOOST_CHECK_THROW (AmountFromValue (ValueFromString (" 1e+11" )), UniValue); // overflow error
284
285
BOOST_CHECK_THROW (AmountFromValue (ValueFromString (" 1e11" )), UniValue); // overflow error signless
285
286
BOOST_CHECK_THROW (AmountFromValue (ValueFromString (" 93e+9" )), UniValue); // overflow error
286
287
}
287
288
288
- BOOST_AUTO_TEST_CASE (json_parse_errors)
289
- {
290
- // Valid
291
- BOOST_CHECK_EQUAL (ParseNonRFCJSONValue (" 1.0" ).get_real (), 1.0 );
292
- BOOST_CHECK_EQUAL (ParseNonRFCJSONValue (" true" ).get_bool (), true );
293
- BOOST_CHECK_EQUAL (ParseNonRFCJSONValue (" [false]" )[0 ].get_bool (), false );
294
- BOOST_CHECK_EQUAL (ParseNonRFCJSONValue (" {\" a\" : true}" )[" a" ].get_bool (), true );
295
- BOOST_CHECK_EQUAL (ParseNonRFCJSONValue (" {\" 1\" : \" true\" }" )[" 1" ].get_str (), " true" );
296
- // Valid, with leading or trailing whitespace
297
- BOOST_CHECK_EQUAL (ParseNonRFCJSONValue (" 1.0" ).get_real (), 1.0 );
298
- BOOST_CHECK_EQUAL (ParseNonRFCJSONValue (" 1.0 " ).get_real (), 1.0 );
299
-
300
- BOOST_CHECK_THROW (AmountFromValue (ParseNonRFCJSONValue (" .19e-6" )), std::runtime_error); // should fail, missing leading 0, therefore invalid JSON
301
- BOOST_CHECK_EQUAL (AmountFromValue (ParseNonRFCJSONValue (" 0.00000000000000000000000000000000000001e+30 " )), 1 );
302
- // Invalid, initial garbage
303
- BOOST_CHECK_THROW (ParseNonRFCJSONValue (" [1.0" ), std::runtime_error);
304
- BOOST_CHECK_THROW (ParseNonRFCJSONValue (" a1.0" ), std::runtime_error);
305
- // Invalid, trailing garbage
306
- BOOST_CHECK_THROW (ParseNonRFCJSONValue (" 1.0sds" ), std::runtime_error);
307
- BOOST_CHECK_THROW (ParseNonRFCJSONValue (" 1.0]" ), std::runtime_error);
308
- // Invalid, keys have to be names
309
- BOOST_CHECK_THROW (ParseNonRFCJSONValue (" {1: \" true\" }" ), std::runtime_error);
310
- BOOST_CHECK_THROW (ParseNonRFCJSONValue (" {true: 1}" ), std::runtime_error);
311
- BOOST_CHECK_THROW (ParseNonRFCJSONValue (" {[1]: 1}" ), std::runtime_error);
312
- BOOST_CHECK_THROW (ParseNonRFCJSONValue (" {{\" a\" : \" a\" }: 1}" ), std::runtime_error);
313
- // BTC addresses should fail parsing
314
- BOOST_CHECK_THROW (ParseNonRFCJSONValue (" 175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W" ), std::runtime_error);
315
- BOOST_CHECK_THROW (ParseNonRFCJSONValue (" 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNL" ), std::runtime_error);
316
- }
317
-
318
289
BOOST_AUTO_TEST_CASE (rpc_ban)
319
290
{
320
291
BOOST_CHECK_NO_THROW (CallRPC (std::string (" clearbanned" )));
0 commit comments