diff options
author | Alex Beregszaszi <alex@rtfs.hu> | 2018-03-01 19:37:14 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-01 19:37:14 +0800 |
commit | 2c82f748bb91a7c44ae112f5f4fc22bb63d7f861 (patch) | |
tree | edb6821c94c1a76b50e3dfb5d990ee95ea176ad3 /test/libsolidity | |
parent | c123fa26f3a90090aa6d8f8ec028e362bfdb73a0 (diff) | |
parent | b6dfd9ef5422d80177b622fc2c486de00fcc0f73 (diff) | |
download | dexon-solidity-2c82f748bb91a7c44ae112f5f4fc22bb63d7f861.tar dexon-solidity-2c82f748bb91a7c44ae112f5f4fc22bb63d7f861.tar.gz dexon-solidity-2c82f748bb91a7c44ae112f5f4fc22bb63d7f861.tar.bz2 dexon-solidity-2c82f748bb91a7c44ae112f5f4fc22bb63d7f861.tar.lz dexon-solidity-2c82f748bb91a7c44ae112f5f4fc22bb63d7f861.tar.xz dexon-solidity-2c82f748bb91a7c44ae112f5f4fc22bb63d7f861.tar.zst dexon-solidity-2c82f748bb91a7c44ae112f5f4fc22bb63d7f861.zip |
Merge pull request #3624 from ethereum/jsonio-libraries-hex
Ensure that library addresses supplied are of correct length and hex prefixed
Diffstat (limited to 'test/libsolidity')
-rw-r--r-- | test/libsolidity/StandardCompiler.cpp | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/test/libsolidity/StandardCompiler.cpp b/test/libsolidity/StandardCompiler.cpp index 0bb94172..eb2773ba 100644 --- a/test/libsolidity/StandardCompiler.cpp +++ b/test/libsolidity/StandardCompiler.cpp @@ -633,7 +633,7 @@ BOOST_AUTO_TEST_CASE(libraries_invalid_hex) BOOST_CHECK(containsError(result, "JSONError", "Invalid library address (\"0x4200000000000000000000000000000000000xx1\") supplied.")); } -BOOST_AUTO_TEST_CASE(libraries_various_addresses) +BOOST_AUTO_TEST_CASE(libraries_invalid_length) { char const* input = R"( { @@ -641,11 +641,8 @@ BOOST_AUTO_TEST_CASE(libraries_various_addresses) "settings": { "libraries": { "library.sol": { - "L": 42, - "L3": "42", - "L4": "0x42", - "L5": "0x4200000000000000000000000000000000000001", - "L6": "4200000000000000000000000000000000000001" + "L1": "0x42", + "L2": "0x4200000000000000000000000000000000000001ff" } } }, @@ -657,7 +654,30 @@ BOOST_AUTO_TEST_CASE(libraries_various_addresses) } )"; Json::Value result = compile(input); - BOOST_CHECK(containsAtMostWarnings(result)); + BOOST_CHECK(containsError(result, "JSONError", "Library address is of invalid length.")); +} + +BOOST_AUTO_TEST_CASE(libraries_missing_hex_prefix) +{ + char const* input = R"( + { + "language": "Solidity", + "settings": { + "libraries": { + "library.sol": { + "L": "4200000000000000000000000000000000000001" + } + } + }, + "sources": { + "empty": { + "content": "" + } + } + } + )"; + Json::Value result = compile(input); + BOOST_CHECK(containsError(result, "JSONError", "Library address is not prefixed with \"0x\".")); } BOOST_AUTO_TEST_CASE(library_linking) |