aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-08-14 22:36:47 +0800
committerGitHub <noreply@github.com>2017-08-14 22:36:47 +0800
commit0a04a35a2e02437ae038af41c947b3e829946bca (patch)
tree345679632d47ede35d47a799146e76e43afe7297 /test
parent4d9790b6d5a490d30ed55b69fa117bc568fa4c64 (diff)
parenta26a5f20ce46800f8deff5724b5c101bb9b5fc1d (diff)
downloaddexon-solidity-0a04a35a2e02437ae038af41c947b3e829946bca.tar
dexon-solidity-0a04a35a2e02437ae038af41c947b3e829946bca.tar.gz
dexon-solidity-0a04a35a2e02437ae038af41c947b3e829946bca.tar.bz2
dexon-solidity-0a04a35a2e02437ae038af41c947b3e829946bca.tar.lz
dexon-solidity-0a04a35a2e02437ae038af41c947b3e829946bca.tar.xz
dexon-solidity-0a04a35a2e02437ae038af41c947b3e829946bca.tar.zst
dexon-solidity-0a04a35a2e02437ae038af41c947b3e829946bca.zip
Merge pull request #2722 from ethereum/statemutability
Introduce state mutability (to replace const/payable)
Diffstat (limited to 'test')
-rw-r--r--test/libsolidity/SolidityNameAndTypeResolution.cpp9
-rw-r--r--test/libsolidity/SolidityParser.cpp17
2 files changed, 9 insertions, 17 deletions
diff --git a/test/libsolidity/SolidityNameAndTypeResolution.cpp b/test/libsolidity/SolidityNameAndTypeResolution.cpp
index 13843afa..51d60596 100644
--- a/test/libsolidity/SolidityNameAndTypeResolution.cpp
+++ b/test/libsolidity/SolidityNameAndTypeResolution.cpp
@@ -4771,15 +4771,6 @@ BOOST_AUTO_TEST_CASE(function_variable_mixin)
CHECK_ERROR(text, DeclarationError, "Identifier already declared.");
}
-
-BOOST_AUTO_TEST_CASE(payable_constant_conflict)
-{
- char const* text = R"(
- contract C { function f() payable constant {} }
- )";
- CHECK_ERROR(text, TypeError, "Functions cannot be constant and payable at the same time.");
-}
-
BOOST_AUTO_TEST_CASE(calling_payable)
{
char const* text = R"(
diff --git a/test/libsolidity/SolidityParser.cpp b/test/libsolidity/SolidityParser.cpp
index 3890ca21..75cad8d9 100644
--- a/test/libsolidity/SolidityParser.cpp
+++ b/test/libsolidity/SolidityParser.cpp
@@ -906,22 +906,23 @@ BOOST_AUTO_TEST_CASE(multiple_visibility_specifiers)
CHECK_PARSE_ERROR(text, "Visibility already specified as \"private\".");
}
-BOOST_AUTO_TEST_CASE(multiple_payable_specifiers)
+BOOST_AUTO_TEST_CASE(multiple_statemutability_specifiers)
{
char const* text = R"(
contract c {
function f() payable payable {}
})";
- CHECK_PARSE_ERROR(text, "Multiple \"payable\" specifiers.");
-}
-
-BOOST_AUTO_TEST_CASE(multiple_constant_specifiers)
-{
- char const* text = R"(
+ CHECK_PARSE_ERROR(text, "State mutability already specified as \"payable\".");
+ text = R"(
contract c {
function f() constant constant {}
})";
- CHECK_PARSE_ERROR(text, "Multiple \"constant\" specifiers.");
+ CHECK_PARSE_ERROR(text, "State mutability already specified as \"view\".");
+ text = R"(
+ contract c {
+ function f() payable constant {}
+ })";
+ CHECK_PARSE_ERROR(text, "State mutability already specified as \"payable\".");
}
BOOST_AUTO_TEST_CASE(literal_constants_with_ether_subdenominations)