diff options
Diffstat (limited to 'SolidityEndToEndTest.cpp')
-rw-r--r-- | SolidityEndToEndTest.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/SolidityEndToEndTest.cpp b/SolidityEndToEndTest.cpp index 07ad3edb..4fa98959 100644 --- a/SolidityEndToEndTest.cpp +++ b/SolidityEndToEndTest.cpp @@ -3196,6 +3196,27 @@ BOOST_AUTO_TEST_CASE(pass_dynamic_arguments_to_the_base_base_with_gap) BOOST_CHECK(callContractFunction("m_i()") == encodeArgs(4)); } +BOOST_AUTO_TEST_CASE(constant_functions) +{ + char const* sourceCode = R"( + contract Foo { + function getX() constant returns (uint r) { r = x; } + uint x = 56; + })"; + compileAndRun(sourceCode); + BOOST_CHECK(callContractFunction("getX()") == encodeArgs(56)); +} + +BOOST_AUTO_TEST_CASE(const_state_variable) +{ + char const* sourceCode = R"( + contract Foo { + function getX() constant returns (uint r) { return x; } + constant uint x = 56; + })"; + compileAndRun(sourceCode); + BOOST_CHECK(callContractFunction("getX()") == encodeArgs(56)); +} BOOST_AUTO_TEST_SUITE_END() } |