aboutsummaryrefslogtreecommitdiffstats
path: root/test/libsolidity/SolidityParser.cpp
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-03-08 03:20:57 +0800
committerGitHub <noreply@github.com>2018-03-08 03:20:57 +0800
commitdfe3193c7382c80f1814247a162663a97c3f5e67 (patch)
treed0540c2dfc43a76f0add46840f60ff2e28604a19 /test/libsolidity/SolidityParser.cpp
parent3155dd8058672ce8f04bc2c0f2536cb549067d0a (diff)
parent15920dc75dd5a46a036d5ff16fb8eee0534be6e1 (diff)
downloaddexon-solidity-dfe3193c7382c80f1814247a162663a97c3f5e67.tar
dexon-solidity-dfe3193c7382c80f1814247a162663a97c3f5e67.tar.gz
dexon-solidity-dfe3193c7382c80f1814247a162663a97c3f5e67.tar.bz2
dexon-solidity-dfe3193c7382c80f1814247a162663a97c3f5e67.tar.lz
dexon-solidity-dfe3193c7382c80f1814247a162663a97c3f5e67.tar.xz
dexon-solidity-dfe3193c7382c80f1814247a162663a97c3f5e67.tar.zst
dexon-solidity-dfe3193c7382c80f1814247a162663a97c3f5e67.zip
Merge pull request #3678 from ethereum/develop
Merge develop into release.
Diffstat (limited to 'test/libsolidity/SolidityParser.cpp')
-rw-r--r--test/libsolidity/SolidityParser.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/libsolidity/SolidityParser.cpp b/test/libsolidity/SolidityParser.cpp
index 861e6408..f03b30e1 100644
--- a/test/libsolidity/SolidityParser.cpp
+++ b/test/libsolidity/SolidityParser.cpp
@@ -1164,6 +1164,36 @@ BOOST_AUTO_TEST_CASE(constant_is_keyword)
CHECK_PARSE_ERROR(text, "Expected identifier");
}
+BOOST_AUTO_TEST_CASE(keyword_is_reserved)
+{
+ auto keywords = {
+ "abstract",
+ "after",
+ "case",
+ "catch",
+ "default",
+ "final",
+ "in",
+ "inline",
+ "let",
+ "match",
+ "null",
+ "of",
+ "relocatable",
+ "static",
+ "switch",
+ "try",
+ "type",
+ "typeof"
+ };
+
+ for (const auto& keyword: keywords)
+ {
+ auto text = std::string("contract ") + keyword + " {}";
+ CHECK_PARSE_ERROR(text.c_str(), "Expected identifier");
+ }
+}
+
BOOST_AUTO_TEST_CASE(var_array)
{
char const* text = R"(
@@ -1708,6 +1738,19 @@ BOOST_AUTO_TEST_CASE(newInvalidTypeName)
CHECK_PARSE_ERROR(text, "Expected explicit type name");
}
+BOOST_AUTO_TEST_CASE(emitWithoutEvent)
+{
+ char const* text = R"(
+ contract C {
+ event A();
+ function f() {
+ emit A;
+ }
+ }
+ )";
+ CHECK_PARSE_ERROR(text, "Expected token LParen got 'Semicolon'");
+}
+
BOOST_AUTO_TEST_SUITE_END()
}