[QA] add testcases for parsing strings as values
This commit is contained in:
committed by
Jack Grigg
parent
84d1d5fd6f
commit
c2616abb3c
@@ -380,5 +380,37 @@ class WalletTest (BitcoinTestFramework):
|
|||||||
assert_equal(Decimal(self.nodes[2].getbalance()), node2balance)
|
assert_equal(Decimal(self.nodes[2].getbalance()), node2balance)
|
||||||
assert_equal(Decimal(self.nodes[2].getbalance("*")), node2balance)
|
assert_equal(Decimal(self.nodes[2].getbalance("*")), node2balance)
|
||||||
|
|
||||||
|
#send a tx with value in a string (PR#6380 +)
|
||||||
|
txId = self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(), "2")
|
||||||
|
txObj = self.nodes[0].gettransaction(txId)
|
||||||
|
assert_equal(txObj['amount'], Decimal('-2.00000000'))
|
||||||
|
|
||||||
|
txId = self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(), "0.0001")
|
||||||
|
txObj = self.nodes[0].gettransaction(txId)
|
||||||
|
assert_equal(txObj['amount'], Decimal('-0.00010000'))
|
||||||
|
|
||||||
|
#check if JSON parser can handle scientific notation in strings
|
||||||
|
txId = self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(), "1e-4")
|
||||||
|
txObj = self.nodes[0].gettransaction(txId)
|
||||||
|
assert_equal(txObj['amount'], Decimal('-0.00010000'))
|
||||||
|
|
||||||
|
#this should fail
|
||||||
|
errorString = ""
|
||||||
|
try:
|
||||||
|
txId = self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(), "1f-4")
|
||||||
|
except JSONRPCException,e:
|
||||||
|
errorString = e.error['message']
|
||||||
|
|
||||||
|
assert_equal("Invalid amount" in errorString, True);
|
||||||
|
|
||||||
|
errorString = ""
|
||||||
|
try:
|
||||||
|
self.nodes[0].generate("2") #use a string to as block amount parameter must fail because it's not interpreted as amount
|
||||||
|
except JSONRPCException,e:
|
||||||
|
errorString = e.error['message']
|
||||||
|
|
||||||
|
assert_equal("not an integer" in errorString, True);
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
WalletTest ().main ()
|
WalletTest ().main ()
|
||||||
|
|||||||
Reference in New Issue
Block a user