aboutsummaryrefslogtreecommitdiffstats
path: root/test/libsolidity/SolidityEndToEndTest.cpp
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2016-11-09 16:36:38 +0800
committerchriseth <c@ethdev.com>2016-11-16 21:37:18 +0800
commitf21f794f3c380c9382ace4908c38d0f6c776ae17 (patch)
treed177e5f1144a66c9352d8d23e06bd576ffca9aa9 /test/libsolidity/SolidityEndToEndTest.cpp
parentc9f9b2ab4d421e99055425ace5deeb76d8f4fdd2 (diff)
downloaddexon-solidity-f21f794f3c380c9382ace4908c38d0f6c776ae17.tar.gz
dexon-solidity-f21f794f3c380c9382ace4908c38d0f6c776ae17.tar.zst
dexon-solidity-f21f794f3c380c9382ace4908c38d0f6c776ae17.zip
delete for function types
Diffstat (limited to 'test/libsolidity/SolidityEndToEndTest.cpp')
-rw-r--r--test/libsolidity/SolidityEndToEndTest.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/test/libsolidity/SolidityEndToEndTest.cpp b/test/libsolidity/SolidityEndToEndTest.cpp
index c665b050..a1236803 100644
--- a/test/libsolidity/SolidityEndToEndTest.cpp
+++ b/test/libsolidity/SolidityEndToEndTest.cpp
@@ -7960,7 +7960,7 @@ BOOST_AUTO_TEST_CASE(function_memory_array)
BOOST_CHECK(callContractFunction("test(uint256,uint256)", u256(10), u256(5)) == encodeArgs());
}
-BOOST_AUTO_TEST_CASE(function_delete)
+BOOST_AUTO_TEST_CASE(function_delete_storage)
{
char const* sourceCode = R"(
contract C {
@@ -7987,6 +7987,23 @@ BOOST_AUTO_TEST_CASE(function_delete)
BOOST_CHECK(callContractFunction("ca()") == encodeArgs());
}
+BOOST_AUTO_TEST_CASE(function_delete_stack)
+{
+ char const* sourceCode = R"(
+ contract C {
+ function a() returns (uint) { return 7; }
+ function test() returns (uint) {
+ y = a;
+ delete y;
+ y();
+ }
+ }
+ )";
+
+ compileAndRun(sourceCode, 0, "C");
+ BOOST_CHECK(callContractFunction("test()") == encodeArgs());
+}
+
BOOST_AUTO_TEST_CASE(copy_function_storage_array)
{
char const* sourceCode = R"(