diff --git a/tests/rpcclient/test_hexstrings.nim b/tests/rpcclient/test_hexstrings.nim new file mode 100644 index 000000000..c0f0f5b3e --- /dev/null +++ b/tests/rpcclient/test_hexstrings.nim @@ -0,0 +1,67 @@ +# Separated from main tests for brevity + +import unittest, ../../nimbus/rpc/hexstrings, json + +proc doHexStrTests* = + suite "Hex quantity": + test "Empty string": + expect ValueError: + let + source = "" + x = hexQuantityStr source + check %x == %source + test "Even length": + let + source = "0x123" + x = hexQuantityStr source + check %x == %source + test "Odd length": + let + source = "0x123" + x = hexQuantityStr"0x123" + check %x == %source + test "Missing header": + expect ValueError: + let + source = "1234" + x = hexQuantityStr source + check %x != %source + expect ValueError: + let + source = "01234" + x = hexQuantityStr source + check %x != %source + expect ValueError: + let + source = "x1234" + x = hexQuantityStr source + check %x != %source + + suite "Hex data": + test "Even length": + let + source = "0x1234" + x = hexDataStr source + check %x == %source + test "Odd length": + expect ValueError: + let + source = "0x123" + x = hexDataStr source + check %x != %source + test "Missing header": + expect ValueError: + let + source = "1234" + x = hexDataStr source + check %x != %source + expect ValueError: + let + source = "01234" + x = hexDataStr source + check %x != %source + expect ValueError: + let + source = "x1234" + x = hexDataStr source + check %x != %source diff --git a/tests/test_rpc.nim b/tests/test_rpc.nim index aa7226a23..f65fb4063 100644 --- a/tests/test_rpc.nim +++ b/tests/test_rpc.nim @@ -3,6 +3,9 @@ import json_rpc/[rpcserver, rpcclient], ../nimbus/rpc/common, ../nimbus/constants, ../nimbus/nimbus/account, eth_common +import rpcclient/test_hexstrings + +doHexStrTests() from os import getCurrentDir, DirSep from strutils import rsplit