diff options
author | chriseth <chris@ethereum.org> | 2017-08-10 21:23:34 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-10 21:23:34 +0800 |
commit | 41e3cbe0844f6e3e8e98925981bcdfd76ea24088 (patch) | |
tree | f333064e30aca548634a697a87a0ca21f0770a02 /test | |
parent | 0a5553b7b1d2920b3a05c43e776e8d6b382218c8 (diff) | |
parent | 470950e75e6f3a8a37d2a8fe1c263149be01c402 (diff) | |
download | dexon-solidity-41e3cbe0844f6e3e8e98925981bcdfd76ea24088.tar dexon-solidity-41e3cbe0844f6e3e8e98925981bcdfd76ea24088.tar.gz dexon-solidity-41e3cbe0844f6e3e8e98925981bcdfd76ea24088.tar.bz2 dexon-solidity-41e3cbe0844f6e3e8e98925981bcdfd76ea24088.tar.lz dexon-solidity-41e3cbe0844f6e3e8e98925981bcdfd76ea24088.tar.xz dexon-solidity-41e3cbe0844f6e3e8e98925981bcdfd76ea24088.tar.zst dexon-solidity-41e3cbe0844f6e3e8e98925981bcdfd76ea24088.zip |
Merge pull request #2690 from ethereum/experimental-pragma
Support experimental feature pragma
Diffstat (limited to 'test')
-rw-r--r-- | test/libsolidity/SolidityNameAndTypeResolution.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/libsolidity/SolidityNameAndTypeResolution.cpp b/test/libsolidity/SolidityNameAndTypeResolution.cpp index 2fbc6ac8..55ce5f7b 100644 --- a/test/libsolidity/SolidityNameAndTypeResolution.cpp +++ b/test/libsolidity/SolidityNameAndTypeResolution.cpp @@ -6558,6 +6558,43 @@ BOOST_AUTO_TEST_CASE(library_function_without_implementation) CHECK_ERROR(text, TypeError, "Internal library function must be implemented if declared."); } +BOOST_AUTO_TEST_CASE(experimental_pragma) +{ + char const* text = R"( + pragma experimental; + )"; + CHECK_ERROR(text, SyntaxError, "Experimental feature name is missing."); + text = R"( + pragma experimental 123; + )"; + CHECK_ERROR(text, SyntaxError, "Unsupported experimental feature name."); + text = R"( + pragma experimental unsupportedName; + )"; + CHECK_ERROR(text, SyntaxError, "Unsupported experimental feature name."); + text = R"( + pragma experimental "unsupportedName"; + )"; + CHECK_ERROR(text, SyntaxError, "Unsupported experimental feature name."); + text = R"( + pragma experimental ""; + )"; + CHECK_ERROR(text, SyntaxError, "Empty experimental feature name is invalid."); + text = R"( + pragma experimental unsupportedName unsupportedName; + )"; + CHECK_ERROR(text, SyntaxError, "Stray arguments."); +// text = R"( +// pragma experimental supportedName; +// )"; +// CHECK_WARNING(text, "Experimental features are turned on. Do not use experimental features on live deployments."); +// text = R"( +// pragma experimental supportedName; +// pragma experimental supportedName; +// )"; +// CHECK_ERROR(text, SyntaxError, "Duplicate experimental feature name."); +} + BOOST_AUTO_TEST_SUITE_END() } |