diff options
author | chriseth <chris@ethereum.org> | 2018-07-04 04:49:02 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-04 04:49:02 +0800 |
commit | 533d5d4b1cc4374decc704de8c86ad4cef6214fc (patch) | |
tree | e4b053a8c1ce438d199c53fff6a5a71dab7298dc /test/libsolidity/SolidityEndToEndTest.cpp | |
parent | 16f8c23aa01ae9472088e46224dd089153540291 (diff) | |
parent | 8747079746c1ca78dfabaca22bf1c011a342bb97 (diff) | |
download | dexon-solidity-533d5d4b1cc4374decc704de8c86ad4cef6214fc.tar dexon-solidity-533d5d4b1cc4374decc704de8c86ad4cef6214fc.tar.gz dexon-solidity-533d5d4b1cc4374decc704de8c86ad4cef6214fc.tar.bz2 dexon-solidity-533d5d4b1cc4374decc704de8c86ad4cef6214fc.tar.lz dexon-solidity-533d5d4b1cc4374decc704de8c86ad4cef6214fc.tar.xz dexon-solidity-533d5d4b1cc4374decc704de8c86ad4cef6214fc.tar.zst dexon-solidity-533d5d4b1cc4374decc704de8c86ad4cef6214fc.zip |
Merge pull request #4379 from ethereum/constructorArgsTwice
Disallow constructor arguments given multiple times.
Diffstat (limited to 'test/libsolidity/SolidityEndToEndTest.cpp')
-rw-r--r-- | test/libsolidity/SolidityEndToEndTest.cpp | 28 |
1 files changed, 6 insertions, 22 deletions
diff --git a/test/libsolidity/SolidityEndToEndTest.cpp b/test/libsolidity/SolidityEndToEndTest.cpp index 31842777..9e6aa43d 100644 --- a/test/libsolidity/SolidityEndToEndTest.cpp +++ b/test/libsolidity/SolidityEndToEndTest.cpp @@ -2783,24 +2783,6 @@ BOOST_AUTO_TEST_CASE(virtual_function_usage_in_constructor_arguments) ABI_CHECK(callContractFunction("getA()"), encodeArgs(2)); } -BOOST_AUTO_TEST_CASE(constructor_argument_overriding) -{ - char const* sourceCode = R"( - contract BaseBase { - uint m_a; - constructor(uint a) { - m_a = a; - } - } - contract Base is BaseBase(2) { } - contract Derived is BaseBase(3), Base { - function getA() returns (uint r) { return m_a; } - } - )"; - compileAndRun(sourceCode, 0, "Derived"); - ABI_CHECK(callContractFunction("getA()"), encodeArgs(3)); -} - BOOST_AUTO_TEST_CASE(internal_constructor) { char const* sourceCode = R"( @@ -5521,10 +5503,10 @@ BOOST_AUTO_TEST_CASE(pass_dynamic_arguments_to_the_base_base) uint public m_i; } contract Base1 is Base { - constructor(uint k) Base(k*k) {} + constructor(uint k) Base(k) {} } contract Derived is Base, Base1 { - constructor(uint i) Base(i) Base1(i) + constructor(uint i) Base1(i) {} } contract Final is Derived(4) { @@ -5544,9 +5526,11 @@ BOOST_AUTO_TEST_CASE(pass_dynamic_arguments_to_the_base_base_with_gap) } uint public m_i; } - contract Base1 is Base(3) {} + contract Base1 is Base { + constructor(uint k) {} + } contract Derived is Base, Base1 { - constructor(uint i) Base(i) {} + constructor(uint i) Base(i) Base1(7) {} } contract Final is Derived(4) { } |