diff options
author | winsvega <winsvega@mail.ru> | 2015-02-23 20:02:19 +0800 |
---|---|---|
committer | winsvega <winsvega@mail.ru> | 2015-02-23 20:02:19 +0800 |
commit | a3d2df8dbc14c330522d63cdad420a7251cd3f17 (patch) | |
tree | 53e74a1bcbc51a458b66572146292cad1d7a5572 /SolidityEndToEndTest.cpp | |
parent | 87912744c76f43f3bdfdb519aad8cd3d90d9604e (diff) | |
parent | 9a764055ac69ceb9e5a16c4c930730255db13236 (diff) | |
download | dexon-solidity-a3d2df8dbc14c330522d63cdad420a7251cd3f17.tar dexon-solidity-a3d2df8dbc14c330522d63cdad420a7251cd3f17.tar.gz dexon-solidity-a3d2df8dbc14c330522d63cdad420a7251cd3f17.tar.bz2 dexon-solidity-a3d2df8dbc14c330522d63cdad420a7251cd3f17.tar.lz dexon-solidity-a3d2df8dbc14c330522d63cdad420a7251cd3f17.tar.xz dexon-solidity-a3d2df8dbc14c330522d63cdad420a7251cd3f17.tar.zst dexon-solidity-a3d2df8dbc14c330522d63cdad420a7251cd3f17.zip |
Merge branch 'develop' of https://github.com/ethereum/cpp-ethereum into develop
Diffstat (limited to 'SolidityEndToEndTest.cpp')
-rw-r--r-- | SolidityEndToEndTest.cpp | 56 |
1 files changed, 55 insertions, 1 deletions
diff --git a/SolidityEndToEndTest.cpp b/SolidityEndToEndTest.cpp index 8c87db2d..20bc8159 100644 --- a/SolidityEndToEndTest.cpp +++ b/SolidityEndToEndTest.cpp @@ -1669,7 +1669,6 @@ BOOST_AUTO_TEST_CASE(value_insane) function test() { h = new helper(); } function sendAmount(uint amount) returns (uint256 bal) { var x1 = h.getBalance.value; - uint someStackElement = 20; var x2 = x1(amount).gas; var x3 = x2(1000).value; return x3(amount + 3)();// overwrite value @@ -2570,6 +2569,61 @@ BOOST_AUTO_TEST_CASE(constructing_enums_from_ints) BOOST_CHECK(callContractFunction("test()") == encodeArgs(1)); } +BOOST_AUTO_TEST_CASE(inline_member_init) +{ + char const* sourceCode = R"( + contract test { + function test(){ + m_b = 6; + m_c = 8; + } + uint m_a = 5; + uint m_b; + uint m_c = 7; + function get() returns (uint a, uint b, uint c){ + a = m_a; + b = m_b; + c = m_c; + } + })"; + compileAndRun(sourceCode); + BOOST_CHECK(callContractFunction("get()") == encodeArgs(5, 6, 8)); +} + +BOOST_AUTO_TEST_CASE(inline_member_init_inheritence) +{ + char const* sourceCode = R"( + contract Base { + function Base(){} + uint m_base = 5; + function getBMember() returns (uint i) { return m_base; } + } + contract Derived is Base { + function Derived(){} + uint m_derived = 6; + function getDMember() returns (uint i) { return m_derived; } + })"; + compileAndRun(sourceCode); + BOOST_CHECK(callContractFunction("getBMember()") == encodeArgs(5)); + BOOST_CHECK(callContractFunction("getDMember()") == encodeArgs(6)); +} + +BOOST_AUTO_TEST_CASE(inline_member_init_inheritence_without_constructor) +{ + char const* sourceCode = R"( + contract Base { + uint m_base = 5; + function getBMember() returns (uint i) { return m_base; } + } + contract Derived is Base { + uint m_derived = 6; + function getDMember() returns (uint i) { return m_derived; } + })"; + compileAndRun(sourceCode); + BOOST_CHECK(callContractFunction("getBMember()") == encodeArgs(5)); + BOOST_CHECK(callContractFunction("getDMember()") == encodeArgs(6)); +} + BOOST_AUTO_TEST_CASE(external_function) { char const* sourceCode = R"( |