aboutsummaryrefslogtreecommitdiffstats
path: root/test/libsolidity
diff options
context:
space:
mode:
authorLianaHus <liana@ethdev.com>2015-08-24 20:24:10 +0800
committerLianaHus <liana@ethdev.com>2015-08-24 20:24:10 +0800
commit4c7777128b172e19b916afc474e54464a5f29051 (patch)
treeb9476d5888cb283e84115f50691127fed9f60a6f /test/libsolidity
parentffcf18406b605afe56f545fa4a41bc3bbb870c28 (diff)
downloaddexon-solidity-4c7777128b172e19b916afc474e54464a5f29051.tar.gz
dexon-solidity-4c7777128b172e19b916afc474e54464a5f29051.tar.zst
dexon-solidity-4c7777128b172e19b916afc474e54464a5f29051.zip
added check for string as mapping key for local var.
Diffstat (limited to 'test/libsolidity')
-rw-r--r--test/libsolidity/SolidityEndToEndTest.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/test/libsolidity/SolidityEndToEndTest.cpp b/test/libsolidity/SolidityEndToEndTest.cpp
index 3f021708..3bb12f09 100644
--- a/test/libsolidity/SolidityEndToEndTest.cpp
+++ b/test/libsolidity/SolidityEndToEndTest.cpp
@@ -5188,14 +5188,17 @@ BOOST_AUTO_TEST_CASE(storage_string_as_mapping_key_without_variable)
char const* sourceCode = R"(
contract Test {
mapping(string => uint) data;
- function f() returns (uint) {
- data["abc"] = 2;
- return data["abc"];
+ function f() returns (uint r, uint rl) {
+ mapping(string => uint) dataLocal;
+ dataLocal["abc"] = 2;
+ rl = dataLocal["abc"];
+ data["abc"] = 3;
+ r = data["abc"];
}
}
)";
compileAndRun(sourceCode, 0, "Test");
- BOOST_CHECK(callContractFunction("f()") == encodeArgs(u256(2)));
+ BOOST_CHECK(callContractFunction("f()") == encodeArgs(u256(3), u256(2)));
}
BOOST_AUTO_TEST_SUITE_END()