diff options
author | chriseth <chris@ethereum.org> | 2017-02-17 03:12:31 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-17 03:12:31 +0800 |
commit | 7bdc4ddab2be7990d09f102606f788f054da41db (patch) | |
tree | aadf29b475d77125da7101eeebaba7a4c6d8638a /test | |
parent | 0ad8e53404514413761b198f42424cb2c1989b9a (diff) | |
parent | 01fcd989b57d31fa8fc63720401ffc77698ee57b (diff) | |
download | dexon-solidity-7bdc4ddab2be7990d09f102606f788f054da41db.tar dexon-solidity-7bdc4ddab2be7990d09f102606f788f054da41db.tar.gz dexon-solidity-7bdc4ddab2be7990d09f102606f788f054da41db.tar.bz2 dexon-solidity-7bdc4ddab2be7990d09f102606f788f054da41db.tar.lz dexon-solidity-7bdc4ddab2be7990d09f102606f788f054da41db.tar.xz dexon-solidity-7bdc4ddab2be7990d09f102606f788f054da41db.tar.zst dexon-solidity-7bdc4ddab2be7990d09f102606f788f054da41db.zip |
Merge pull request #1627 from ethereum/asmfunctions
Parsing assembly function definitions and calls.
Diffstat (limited to 'test')
-rw-r--r-- | test/libsolidity/InlineAssembly.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/libsolidity/InlineAssembly.cpp b/test/libsolidity/InlineAssembly.cpp index 8744d96f..ddbc3c63 100644 --- a/test/libsolidity/InlineAssembly.cpp +++ b/test/libsolidity/InlineAssembly.cpp @@ -159,6 +159,21 @@ BOOST_AUTO_TEST_CASE(blocks) BOOST_CHECK(successParse("{ let x := 7 { let y := 3 } { let z := 2 } }")); } +BOOST_AUTO_TEST_CASE(function_definitions) +{ + BOOST_CHECK(successParse("{ function f() { } function g(a) -> (x) { } }")); +} + +BOOST_AUTO_TEST_CASE(function_definitions_multiple_args) +{ + BOOST_CHECK(successParse("{ function f(a, d) { } function g(a, d) -> (x, y) { } }")); +} + +BOOST_AUTO_TEST_CASE(function_calls) +{ + BOOST_CHECK(successParse("{ g(1, 2, f(mul(2, 3))) x() }")); +} + BOOST_AUTO_TEST_SUITE_END() BOOST_AUTO_TEST_SUITE(Printing) @@ -209,6 +224,16 @@ BOOST_AUTO_TEST_CASE(print_string_literal_unicode) parsePrintCompare(parsed); } +BOOST_AUTO_TEST_CASE(function_definitions_multiple_args) +{ + parsePrintCompare("{\n function f(a, d)\n {\n mstore(a, d)\n }\n function g(a, d) -> (x, y)\n {\n }\n}"); +} + +BOOST_AUTO_TEST_CASE(function_calls) +{ + parsePrintCompare("{\n g(1, mul(2, x), f(mul(2, 3)))\n x()\n}"); +} + BOOST_AUTO_TEST_SUITE_END() BOOST_AUTO_TEST_SUITE(Analysis) |