diff options
author | CJentzsch <jentzsch.software@gmail.com> | 2015-02-16 14:38:49 +0800 |
---|---|---|
committer | CJentzsch <jentzsch.software@gmail.com> | 2015-02-16 14:38:49 +0800 |
commit | 1c10c6a547aab24f1c96affcca5313f43fc752c6 (patch) | |
tree | dfc64d567aa262d8cb99be5c28db50c6ccd8bc8a | |
parent | 6c8cb2acf48d9ce5d569dcde12bc04bc04e9413c (diff) | |
parent | 600b38224ea1592af9a8348b082abb996ee5ef76 (diff) | |
download | dexon-solidity-1c10c6a547aab24f1c96affcca5313f43fc752c6.tar.gz dexon-solidity-1c10c6a547aab24f1c96affcca5313f43fc752c6.tar.zst dexon-solidity-1c10c6a547aab24f1c96affcca5313f43fc752c6.zip |
Merge remote-tracking branch 'upstream/develop' into blockTests
-rw-r--r-- | SolidityEndToEndTest.cpp | 15 | ||||
-rw-r--r-- | SolidityNameAndTypeResolution.cpp | 2 |
2 files changed, 16 insertions, 1 deletions
diff --git a/SolidityEndToEndTest.cpp b/SolidityEndToEndTest.cpp index 2ef2b803..0325c4c6 100644 --- a/SolidityEndToEndTest.cpp +++ b/SolidityEndToEndTest.cpp @@ -2519,6 +2519,21 @@ BOOST_AUTO_TEST_CASE(using_enums) BOOST_CHECK(callContractFunction("getChoice()") == encodeArgs(2)); } +BOOST_AUTO_TEST_CASE(constructing_enums_from_ints) +{ + char const* sourceCode = R"( + contract c { + enum Truth { False, True } + function test() returns (uint) + { + return uint(Truth(uint8(0x701))); + } + } + )"; + compileAndRun(sourceCode); + BOOST_CHECK(callContractFunction("test()") == encodeArgs(1)); +} + BOOST_AUTO_TEST_SUITE_END() } diff --git a/SolidityNameAndTypeResolution.cpp b/SolidityNameAndTypeResolution.cpp index ec49a42d..d6e4ed51 100644 --- a/SolidityNameAndTypeResolution.cpp +++ b/SolidityNameAndTypeResolution.cpp @@ -1080,7 +1080,7 @@ BOOST_AUTO_TEST_CASE(enum_duplicate_values) enum ActionChoices { GoLeft, GoRight, GoLeft, Sit } } )"; - BOOST_CHECK_THROW(parseTextAndResolveNames(text), TypeError); + BOOST_CHECK_THROW(parseTextAndResolveNames(text), DeclarationError); } BOOST_AUTO_TEST_SUITE_END() |