aboutsummaryrefslogtreecommitdiffstats
path: root/test/libsolidity/SolidityEndToEndTest.cpp
diff options
context:
space:
mode:
authorRJ Catalano <catalanor0220@gmail.com>2016-01-12 13:41:20 +0800
committerRJ Catalano <catalanor0220@gmail.com>2016-01-12 13:41:20 +0800
commitc45593a44480f846302fdb652e23bd47988fba84 (patch)
tree84226edd9239da911335f93641e5046766f2e55a /test/libsolidity/SolidityEndToEndTest.cpp
parentb230fe19052307d1b71372599ccaf8e1440e1473 (diff)
downloaddexon-solidity-c45593a44480f846302fdb652e23bd47988fba84.tar.gz
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.cpp17
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"(