From 457daecba1f7e267cf7578b702945bb6532aa2af Mon Sep 17 00:00:00 2001 From: Yoichi Hirai Date: Wed, 9 Nov 2016 11:50:09 +0100 Subject: test: add a test converting -1 as a literal into an enum This shows #1334 fixes #1344 --- test/libsolidity/SolidityEndToEndTest.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'test/libsolidity') diff --git a/test/libsolidity/SolidityEndToEndTest.cpp b/test/libsolidity/SolidityEndToEndTest.cpp index 09c3b681..5582e4a1 100644 --- a/test/libsolidity/SolidityEndToEndTest.cpp +++ b/test/libsolidity/SolidityEndToEndTest.cpp @@ -3360,6 +3360,11 @@ BOOST_AUTO_TEST_CASE(enum_explicit_overflow) choice = ActionChoices(x); d = uint256(choice); } + function getChoiceFromNegativeLiteral() returns (uint d) + { + choice = ActionChoices(-1); + d = uint256(choice); + } ActionChoices choice; } )"; @@ -3367,6 +3372,7 @@ BOOST_AUTO_TEST_CASE(enum_explicit_overflow) // These should throw BOOST_CHECK(callContractFunction("getChoiceExp(uint256)", 3) == encodeArgs()); BOOST_CHECK(callContractFunction("getChoiceFromSigned(int256)", -1) == encodeArgs()); + BOOST_CHECK(callContractFunction("getChoiceFromNegativeLiteral()") == encodeArgs()); // These should work BOOST_CHECK(callContractFunction("getChoiceExp(uint256)", 2) == encodeArgs(2)); BOOST_CHECK(callContractFunction("getChoiceExp(uint256)", 0) == encodeArgs(0)); -- cgit