aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/SolidityEndToEndTest.cpp
diff options
context:
space:
mode:
authorLiana Husikyan <liana@ethdev.com>2015-05-08 00:12:58 +0800
committerLiana Husikyan <liana@ethdev.com>2015-05-08 23:51:53 +0800
commit960033de6bea1e436656ccc71b5152efd4314036 (patch)
tree166b2562dd326c65ca99cd655e92f1b64f7a0b2e /libsolidity/SolidityEndToEndTest.cpp
parent757972b4e35ab30774355a4868b6bc5a49dda3d9 (diff)
downloaddexon-solidity-960033de6bea1e436656ccc71b5152efd4314036.tar.gz
dexon-solidity-960033de6bea1e436656ccc71b5152efd4314036.tar.zst
dexon-solidity-960033de6bea1e436656ccc71b5152efd4314036.zip
fixed the test
Diffstat (limited to 'libsolidity/SolidityEndToEndTest.cpp')
-rw-r--r--libsolidity/SolidityEndToEndTest.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/libsolidity/SolidityEndToEndTest.cpp b/libsolidity/SolidityEndToEndTest.cpp
index f168ad45..2fd1e2ec 100644
--- a/libsolidity/SolidityEndToEndTest.cpp
+++ b/libsolidity/SolidityEndToEndTest.cpp
@@ -3910,6 +3910,35 @@ BOOST_AUTO_TEST_CASE(external_types_in_calls)
BOOST_CHECK(callContractFunction("nonexisting") == encodeArgs(u256(9)));
}
+BOOST_AUTO_TEST_CASE(proper_order_of_overwriting_of_attributes)
+{
+ // bug #1798
+ char const* sourceCode = R"(
+ contract init {
+ function isOk() returns (bool) { return false; }
+ bool public ok = false;
+ }
+ contract fix {
+ function isOk() returns (bool) { return true; }
+ bool public ok = true;
+ }
+
+ contract init_fix is init, fix {
+ function checkOk() returns (bool) { return ok; }
+ }
+ contract fix_init is fix, init {
+ function checkOk() returns (bool) { return ok; }
+ }
+ )";
+ compileAndRun(sourceCode, 0, "init_fix");
+ BOOST_CHECK(callContractFunction("isOk()") == encodeArgs(true));
+ BOOST_CHECK(callContractFunction("ok()") == encodeArgs(true));
+
+ compileAndRun(sourceCode, 0, "fix_init");
+ BOOST_CHECK(callContractFunction("isOk()") == encodeArgs(false));
+ BOOST_CHECK(callContractFunction("ok()") == encodeArgs(false));
+}
+
BOOST_AUTO_TEST_SUITE_END()
}