aboutsummaryrefslogtreecommitdiffstats
path: root/SolidityEndToEndTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'SolidityEndToEndTest.cpp')
-rw-r--r--SolidityEndToEndTest.cpp21
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()
}