diff options
author | RJ Catalano <catalanor0220@gmail.com> | 2016-01-12 13:41:20 +0800 |
---|---|---|
committer | RJ Catalano <catalanor0220@gmail.com> | 2016-01-12 13:41:20 +0800 |
commit | c45593a44480f846302fdb652e23bd47988fba84 (patch) | |
tree | 84226edd9239da911335f93641e5046766f2e55a /test/libsolidity/SolidityEndToEndTest.cpp | |
parent | b230fe19052307d1b71372599ccaf8e1440e1473 (diff) | |
download | dexon-solidity-c45593a44480f846302fdb652e23bd47988fba84.tar dexon-solidity-c45593a44480f846302fdb652e23bd47988fba84.tar.gz dexon-solidity-c45593a44480f846302fdb652e23bd47988fba84.tar.bz2 dexon-solidity-c45593a44480f846302fdb652e23bd47988fba84.tar.lz dexon-solidity-c45593a44480f846302fdb652e23bd47988fba84.tar.xz dexon-solidity-c45593a44480f846302fdb652e23bd47988fba84.tar.zst dexon-solidity-c45593a44480f846302fdb652e23bd47988fba84.zip |
clarification on dynamic arrays, switcheroo on typepointer, and a documentation test added
Diffstat (limited to 'test/libsolidity/SolidityEndToEndTest.cpp')
-rw-r--r-- | test/libsolidity/SolidityEndToEndTest.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/libsolidity/SolidityEndToEndTest.cpp b/test/libsolidity/SolidityEndToEndTest.cpp index 3136d43f..34c5dffc 100644 --- a/test/libsolidity/SolidityEndToEndTest.cpp +++ b/test/libsolidity/SolidityEndToEndTest.cpp @@ -6123,6 +6123,23 @@ BOOST_AUTO_TEST_CASE(inline_array_storage_to_memory_conversion_strings) BOOST_CHECK(callContractFunction("f()") == encodeArgs(u256(0x40), u256(0x80), u256(3), string("ray"), u256(2), string("mi"))); } +BOOST_AUTO_TEST_CASE(inline_array_strings_from_document) +{ + char const* sourceCode = R"( + contract C { + function f(uint i) returns (string) { + string[4] memory x = ["This", "is", "an", "array"]; + return (x[i]); + } + } + )"; + compileAndRun(sourceCode); + BOOST_CHECK(callContractFunction("f(uint256)", u256(0)) == encodeArgs(u256(0x20), u256(4), string("This"))); + BOOST_CHECK(callContractFunction("f(uint256)", u256(1)) == encodeArgs(u256(0x20), u256(2), string("is"))); + BOOST_CHECK(callContractFunction("f(uint256)", u256(2)) == encodeArgs(u256(0x20), u256(2), string("an"))); + BOOST_CHECK(callContractFunction("f(uint256)", u256(3)) == encodeArgs(u256(0x20), u256(5), string("array"))); +} + BOOST_AUTO_TEST_CASE(inline_array_storage_to_memory_conversion_ints) { char const* sourceCode = R"( |