mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Initialisation of memory types.
This commit is contained in:
parent
eede8cf2d6
commit
5664f62613
@ -4669,6 +4669,28 @@ BOOST_AUTO_TEST_CASE(storage_array_ref)
|
||||
BOOST_CHECK(callContractFunction("find(uint256)", u256(400)) == encodeArgs(u256(-1)));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(memory_types_initialisation)
|
||||
{
|
||||
char const* sourceCode = R"(
|
||||
contract Test {
|
||||
mapping(uint=>uint) data;
|
||||
function stat() returns (uint[5])
|
||||
{
|
||||
data[2] = 3; // make sure to use some memory
|
||||
}
|
||||
function dyn() returns (uint[]) { stat(); }
|
||||
function nested() returns (uint[3][]) { stat(); }
|
||||
function nestedStat() returns (uint[3][7]) { stat(); }
|
||||
}
|
||||
)";
|
||||
compileAndRun(sourceCode, 0, "Test");
|
||||
|
||||
BOOST_CHECK(callContractFunction("stat()") == encodeArgs(vector<u256>(5)));
|
||||
BOOST_CHECK(callContractFunction("dyn()") == encodeArgs(u256(0x20), u256(0)));
|
||||
BOOST_CHECK(callContractFunction("nested()") == encodeArgs(u256(0x20), u256(0)));
|
||||
BOOST_CHECK(callContractFunction("nestedStat()") == encodeArgs(vector<u256>(3 * 7)));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user